ちょっと気になるツイートがあったので
個人的な意見を書いてみようかと思う、それはプログラミングに興味を持ち始めた(この時点で理系というのは却下するとして)ら理系の人より文系の人のほうが有利なのではないか?
という疑問を提示してくれていました。
とりあえずその内容のうち理解できそうなのは、文系の人は時間があるから
ということでした。
興味もって時間があれば何でも取り組めるならいいよね!(本業どうした?ってのはおいといて)
プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業
- 作者: 米田昌悟
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/09/28
- メディア: 単行本
- この商品を含むブログ (1件) を見る
作文なプログラムでも動く
んですよね、実際仕様書を一行ごとに翻訳するプログラマーさんも普通にいました。
なんでそこに書くんや!文法的には問題ないけど可読性ゴミやん!ってなるんですが、仕様書で初めてここででてくるから書きました。みたいなね。
そう、文学的にプログラムを書く人が作ったプログラム(プログラム設計書)は圧倒的に非効率的である。
というのが個人的意見なのですが
要件は満たしているので文句が言えない*1
ということも事実である。
文系理系は自分は関係ないと思う
すくなくとも英語ができれば有利というのは、本当にコアな部分のコアなプログラムを書きたい場合のみ必要性がでてきます。
出来ないより出来る方がいいのは確実ですけど!
そもそも英語万年赤点だった俺が読めるRFPなんかを文系のプログラムちびっとかじった人に渡すとなに書いてるかさっぱりわかりませんっていわれます。
というのも専門用語が多すぎてさっぱりなわけですよ。
独学プログラマー Python言語の基本から仕事のやり方まで
- 作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也
- 出版社/メーカー: 日経BP社
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログ (4件) を見る
とはいえまずは触ってみて体験することが重要
文系だから、理系だからというのはおいといて、プログラムしてみよう!という興味のほうが大事です。文系だから無理そう。。。とか理系だから簡単っしょ、、っていうのは通じないと思います。
まずは、自分で書いてみて、動かして、思った通り動く感動を得ることが大事である。
プログラムはセンス
例えば日本語話せるけど、敬語やらなんやかんやらその場その場で正しい日本語を使える人はごく一部。みたいな感じでプログラムもそういうことで同じ仕様書から吐き出されるソースコードは人それぞれ、その人の個性がでてきます、乱暴でも実は効率的、すげー可読性いいけど性能でない等々。その辺をうまーく調整できる人が一流のプログラマになれます。
何度も記事で書いていますが、
他の人が読んで理解できない設計書、プログラムを書く人はいくら高性能、低コストでもチーム開発ではゴミです。
もちろん個人で作って個人で使うのにはなんら問題ないんですけどね。
何年も仕事してると、同じ開発現場の人にそのツールのソース頂戴ぃーーーー*2っていう場面があって
「自分専用につくってるのでごちゃごちゃですけどいいですか?」
なんていうのはよくあることです。そしてそれはその人なりにすごーーくチューンされてて可読性はゴミなんですけどすげー使えるツールだったりします。
普段はちゃんと規約通り作り、効率化のためのツールは徹底的に自分専用チューンしてる。そういうときああ、この人は出来るヒトだ、、って思えますね。
そしてヒーヒーいいながらソースおっかけて自分が使えるように弄ることになるんですけど。
話は脱線しましたが
とりあえず、読み書きそろばんではないですが基礎を覚えるのにはマジで
です。
あとはその人次第なんです。マジデ。
俺みたいにやりたいことがあってもこうやったらできるけど、自分で書くのめんどくさいとおもって他人まかせにするほうがいいっておもう人は素直に業務設計屋さんになったほうがいいです。
逆をいえば、設計書を書く人が文系有利というのもありません。しっかり課題・内容を理解し構造を紐解き再構築し最適化できる力が必要になります。
どうやったら最適にこの業務をこなせるシステムになるのか?を考える必要があるからです。
なのでまたいいますけど
プログラムや導入(に関係する)するH/W、ミドルの知識がない人は設計できません。
例は悪いですが、運転免許書があるから車のデザインかけっていったらこれどうやったってエンジン乗っける場所もなければ安全対策も出来ませんっていうデザインが出てきたりするって感じですかね。
あれ?なにがいいたんだっけ
そうそう、プログラムをするのに自分は文系だから、とか理系だから。。っていうので取捨選択しようするのは間違いですので、興味があるのであればチャレンジしてみてください。
そのうち、アルゴリズム的なものや数学的なものがでてくる問題にぶち当たることもあるでしょう。そのときそれを苦とおもってやめてしまうか、興味がかつかはその人次第です。
まとめ
結論は関係ありませんなのですが、
どんな仕事でもそうですが、まずは興味、そしてそれに対する熱意、課題が出てきたときにそれを乗り越える努力をするかしないか?または別の道をとるかです。
自分はプログラムを自力でかくより他人まかせにしたほうが効率がよかったので設計やさんになったにすぎません。