プログラムを書けるようになる人、ならない人
しょっぱなからそもそもな話をしたいんです。
ある意味一番大事なんで。
プログラムを本当に書けるようになりたいのか、です。
極論ですが、プログラムは誰でも書けるようになると思います。
ただし時間が無限にあれば、、
人は有限の時間しかありませんよね、言い換えると自分がプログラムの学習に割ける時間の中でプログラムを習得する必要がありますね。
※習得と一言でいっても、それぞれが目指すプログラムを使用する目的によって習得すべきレベルが変わります。
自身の目的とそれにどのくらいの時間がかかるか、
それは本当に自分が時間を割くというコストに目的が見合っているのか、
これはそもそも論ですね。
ないがしろにできないコスト感
コストというとなんだがビジネス感がでてしまいます。
「俺は根性でやるんだい!!」という熱血漢もありだと思いますが、
このコスト感はないがしろにしちゃいけません。
どうしてもプログラムを書けるようになりたい、仕事としたいと言っていた人が挫折するのを何人に見てきました。
かかる時間を見越してやる気があるか、そこまで考えなくてよいのはよほど器用な人でプログラムの学習がスラスラできちゃう人くらいです。
僕は会社で採用面接も担当するときがあるのですが、
未経験の人には「エンジニアって厳しいですよ?日々勉強だよ?続けれると思いますか?」と質問することがあるのですが、
大体「どの業界も勉強が必要なのは変わりません、前の仕事では〇〇△△ 、、」という返しを受ける時があります。
別にエンジニアすごいという話をするつもりはないのですが、仕事をするための勉強という点ではITエンジニアの勉強は他とは異質な気がします。
他より厳しいというより異質です。
日々の仕事を通して学んでいくというというより日々仕事をするために学ばなければいけないという状況に立たされます。
(もちろんそんな状況じゃない仕事もあるでしょうか、相当周りがフォローしているか、エンジニアとは名ばかりの仕事をしているかでしょうね。)
プログラムの学習と外国語の学習
プログラムの習得は語学の習得に似ているとたまに目にします。
プログラムもプログラム言語というだけあって言語ということもありますが、
覚えても使えなければ意味がないというところも似てますね。
例えば中国語を習得しようと思ってもなんとなく中国語話せたらなあくらいだと多少の挨拶を覚えるくらいで終わってしまうでしょう。
来月の旅行に向けてやってみようなら「旅行で使える日常会話フレーズ編」みたいなのを覚えるで再来月は忘れてしまいますね。
これをプログラム言語に例えると多少の挨拶は文字通り「Hello, World!」と表示する、if文を覚えるくらいでしょうか。
「旅行で使える日常会話フレーズ編」は動かしてみたいプログラムを丸々写してよく意味は理解できないけど動いたでしょう。
プログラムを書けるようになる人はどんな人かのまえに
プログラムを書けるようになる人はどんな人ってまえにその人は何がしたいの?って話でした。
どんな人は次にまとめたいですが極論「(自分の目的に沿ったレベルの)習得するまでプログラムの勉強をやめない人」なんでしょうね。
すこし夢のない話になってしまいました、、、