tryプログラミング、リモートワーク、田舎暮らし、音楽、etc.2012-08-28良いプログラマの定義よもやま話みなさん、良いプログラマってどんなプログラマを想像しますか?人によって意見は異なると思いますが、僕はこんなプログラマかな〜と思います。1から10まで言わなくても1〜2のきっかけを与えるだけで、残りの8は自分で埋めてくれるような、そんな姿勢を持ったプログラマもしくは「他人に強制されなくても自分で努力して成長できるプログラマ」といってもいいかもしれません。英語で言うとSelf-motivatedなプログラマ、ということになるでしょうか。その姿勢があれば後は本人の努力次第でなんとでもなるような気がしています。変な例え話を持ち出しますが、良いプログラマの定義を考えるときに僕の頭に思い浮かぶのは、中学校の理科で習った鉄と硫黄を化合させる実験です。みなさん覚えてますか?この実験は最初に少し熱を加えると、あとは勝手に最後まで反応が進むんです。良いプログラマもこんな感じです。最初にちょっときっかけがあれば、そこから先は全部自分でやってしまうんです。平均以下のプログラマは加熱を止めると反応もそこで止まっちゃうんですよね。刺激がなくなったらそれ以上先に進まないんです。ひどい場合は刺激を与えても全く無反応、ということすらあり得ます。ところで、良いプログラマの例として僕の身近な人物を二人挙げてみます。一人目はソニックガーデンの「ポンデライオン」こと「まーくん」こと西見さん。2を試してるんですよー」って画面を見せてくれました。便利そうなコマンドまで目の前でデモしてくれるんです。2がいいらしい、という噂を聞きつけたから、とのことでした。2が良いという噂」をきっかけにして、そこからさらに自分で便利な使い方を習得していった、ということになります。二人目はソニックガーデンのCTO*1、「まっつん」こと松村さんです。彼はCTOらしく、Ruby関連の最新技術情報を色々と収集してくれます。いつどうやってそんな情報を仕入れているのかが気になったので、ある日それを聞いてみました。松村さんは「ん〜、電車の中で見てるTwitterかな〜」と答えてくれました。彼の場合、TwitterのTLだけ見て「へ〜面白そう」って言ってるだけじゃないんです。そこからGithubに行って、ドキュメントを読んで、さらに中のコードまでチェックしてるんです。平均以下のプログラマだったら、TL見て「ふ〜ん」で終わりなんじゃないでしょうか。いや、たぶんTwitterで情報収集すらしてないはずです。どちらのプログラマもちょっとしたきっかけをただのきっかけで終わらせず、自分で深く掘り下げています。良いプログラマが持っているこうした姿勢や取り組みが、地道なスキルアップにつながって大きな差を生み出していくんだと僕は思います。あと、番外編としては僕かな?今までの職場では「伊藤さんってスゴい〜!」って結構チヤホヤされてたのに、ソニックガーデンに入ってからは急にコードレビューでみんなからボコボコにヤられたりするんですよ。悔しいっ、許せないっ!!と思って、何とか見返してやろうと努力する・・・これも、ボコボコにされたというきっかけから自分で伸びようとしているプログラマの例になるかな〜と思ったりします。え?ハードルが低すぎる??いやあ、プログラマの頭数はやたらいるのに、こういう姿勢をもったプログラマが一人か二人しかいような職場もまだまだいっっっっぱいあるんですって!幸いソニックガーデンのプログラマは全員大丈夫なんですが。いう姿勢をもったプログラマをどうやって作り出すことができるのか、つまり教育でなんとかなるのかは僕にはわかりません。良いプログラマを教育すれば、どんどん伸びるのは当然です。自分で伸びようとするんですから。教育の終了と同時に、本人の成長もそこで止まってしまうようなプログラマはどうやったら伸びるんでしょう?教育で教えられるのって、たぶん10の中の1〜2ぐらいまでだと思うんですよ。2の使い方を隅から隅まで教えるような教育をしてたら、時間がかかって仕方がありません。2の使い方以外にもたくさん覚えるべきことがあるんですから。いう姿勢って昔から持ってる素質、ってことになるんでしょうか?ちなみに僕の場合はオブジェクト指向をバリバリ使いこなすスゴい先輩との出会いが、本気で勉強し始めるきっかけになってます。僕だって何か特別なトレーニングを受けて生まれ変わったわけじゃないです。詳しい話はこちらのエントリに載っています。tryというわけで、今回は僕の考える良いプログラマの定義を紹介してみました。最初にも述べたように、人によって定義が変わってくるのは当然だと思うので、「自分はこう思う!」という人はぜひぜひアンサーブログを書いてみてください。僕はブログだけでなく、Twitterもやってます。はてなブログPro株式会社ソニックガーデンで働くRubyプログラマ。2017年11月に「プロを目指す人のためのRuby入門」を出版。blog)はてなブログをはじめよう!JunichiItoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。