自分の書きたいコードを書け - 脱職業プログラマのすすめ

良く仕事以外のプログラムをしたことない人っているじゃないですか。ここでいう職業プログラマとは、仕事以外では、プログラムをしない人のことを指しています。
仕事以外でもプログラミングをしている・勉強している人、は、職業Onlyプログラマではなく、職業でもプログラムをしているけど、それ以外にも努力をしている人です。


それは、もちろん何の問題もないんだけど、それだけでは実力はつきません。たぶん、コードを書きながら自分が成長している気がしてないでしょう。あなたの直感は正しい。
何らかのフレームワークを使えば、それなりにできることが増える、それももちろん成長です。ただし、知識のね。プログラミングの力はそれほど変わっていないはず。


自分の経験で言えば、多くの人に読んでもらえないコードは、いくら書いても、実力につながりにくい。人に見せようとするコードは、書いているだけで、いろんなことを考えるし、それが、力につながる。多くの人に見せないものは、どうしてもやっつけ仕事になりやすいから、力に結びつきにくいのです。


人にいわれたことをやっているだけでは、あまり力はつかない。なぜなら、自分で考えていないから。
逆に、自分の作りたいものを作っていると力がつく。いろいろ悩むからね。悩んでそれを乗り越えていくところで、人は成長するのです。

最近はブログも書き出して、色んなこと(SICPLispC#)にも挑戦しているところだが、正直何をしたらいいか分からない。自分にとって何かしらアプリを作っているときが一番楽しい。けど、最近は色んなことに手を出しすぎたせいか何をしていいか分からない。
こんな状況は誰にでもあると思うが、打破するべく自分なりに解決方法をまとめてみた。しかし、これは成功した実績ではなく、これから成功に向けチャレンジする内容である。(これが成功すれば、今後もこのやり方を続けられる、駄目ならまた考える。)

この悩みに対して、hkhumanoidさんは、

  • よく分からない言語だけど、とりあえずシンプルに作ってみる
  • 作ったものは公開してやる
  • バグを消化する

の三つを上げているけど、すごくいいと思います。「作ったものは公開する」の中に、ソースコードの公開も含まれていればもっと良い。
人って最初は悩むものだけど、悩んで何もしないと何もかわらない。だめでもいいから、とりあえず作ってみるというのは重要です。
自分の書きたいコードを書いていれば、書いた分だけ成長するはず。


職業プログラマだけをしていると、成長しにくいよというのは上のほうで書いたけど、もっと最悪なのは、「なんちゃってアーキテクト」。知識だけあって、自分では簡単なサンプルしか作ってないような。
特に海外のアーティクルを単に紹介するだけで、自分では何もしていないくせに、自分は最先端みたいな顔をしている人は嫌いです。


後、職業プログラミング以外でコードを書いていない人は、何かに対して、賛成・反対の意見を述べても、あまり説得力がない。やっぱそうだよねというのがないんだよね。視点がどうしても狭くなる(表面的な理解に終わっている)。


だから、自分の書きたいコードを書く。そしてそのコードを公開する。それが、プログラミングの実力をつける王道だと思う。


追記:Youchanのコメント


職業プログラマが仕事でプログラム書いてるだけでは成長しないというのは
ちょっと職業プログラマを馬鹿にしすぎじゃないかな
別に馬鹿にしてはいませんよ。
単にいわれたことだけやっている人は、プログラミングに限らずどんな仕事でもあまり成長しません。成長している人は、仕事の時間以外でも努力しているはずです。
追記2:職業プログラマの定義があいまいだったので補足しました。