市場価値が高いすぐれたプログラマーって、どんな人なのかって、実体験から考えてみた。
(1)市場価値の高いすぐれたプログラマーは以下のようなことができた。
①パフォーマンスや経済コストのことまで勘案して、言語やクラウド(amazon, google app engine など)を選択する。
→これはとても大切なことだ。とりあえず、動けばOKでしょって、言う技術者もいるが、経済コストを無視されると、運営を考える側はとても困る。
適当に2,3つの選択を比較すれば、OKって感じで、これです。って提案されるとする。あとからこれはサーバーの運営費、経済コストが高すぎて、最初から作りなおしだということを経験したことがある。悔しくて、恥ずかしい失敗だった。笑。
②進捗を実際にUI込みで見せてくれるので、イメージしやすい。
→UIや動いているものを実際に見せてくれると、はっきりどこまで進んでいるのか、工数がつかめるので、とてもありがたい。
コードだけ、github にアップしても、正直、どの程度、進捗が進んでいるか、分からない。
自分が知識がある言語なら、アップしているコードを最初から確認すると、進捗を把握できるかもしれないが、そんなことをやっている時間も暇もない経営者の方が多いと思う。
③説明がうまい。どこに欠陥があるのかを説明してくれる。
→プログラミングを勉強して、ある程度、知識がある経営者でも、実際にコーディングをするようなことがなければ、意外に盲点を見逃しやすい。メリットだけでなく、どこに欠陥があるのか。或いは、懸念される点があるのかを、わかりやすく説明できる技術者はすごいと感じる。
④工数の見積もりが、おおまかに妥当である。
→過去に経験したことがある。または、過去に経験したことに近い知識、技術は工数の見積もりが大まかにできる。それ以外は、工数を読みにくいと、すぐれたエンジニアから教えてもらった。なるほどと思った。大体、知らないことをやると、工数の見積もりを誤っるのが普通だと思うしね。
⑤知らない言語も、1か月くらいの期間があれば、実践で使えるほどマスターしている。
→これはすごいプログラマーはよく言うね。自信たっぷりに。
言語なんて、考え方は大体同じだからって、言うんだけど、実際にやれるのなら、すごいプログラマーだよね。
⑥rails やdjango のようなフレームを1,2カ月あれば、自ら作ることができる。
→汎用的なフレームを1カ月から2カ月以内で構築できるというのは、すごいよね。本当につくってしまって、github などに公開されるとさすがだと思うよ。びっくり。
⑦クライアントサイド担当であっても、サーバー側の言語や内容を把握するように努める。
→どこでエラーが起こったか、分かりにくい時に、便利だと言うんだよね。自分の作業だけでなく、一緒にチームを組んでる他の人の作業の内容まで把握しようとする精神は、すごいと思わざるを得ない。
(2)できるプログラマー以外の人はこんな感じかな。
①経済コスト、パフォーマンスは無視
→ほんと、できればいいという精神の人だと、一緒にやるのはつらい。
コストがひどいことになってるとわかるとホントつらいよ。
②進捗が読めない
→これは、とても不安を感じる。どうなっているの?って思う。
③説明がうまくない
→相手が理解できないのが悪いって、いう態度の人がいるとつらい。
④工数の読みが甘い
→これは、すぐれたプログラマーでもなかなかできることでないよね。工数の読みはほんと難しいね。
⑤新しい言語では、挑戦できない。実践で使えるほどのレベルにはなかなかならない
→javaだけ、PHPだけ、javascript だけ、っていう人にありがち。
仕事のためだけに、言語を覚える人が、よく当てはまるパターン。
もちろん、凄い人もいるけどね。
(3)できるか、できないかが、はっきりしない第一印象の技術者は。
・新しい言語が好きで、週末も趣味でプログラミングをしている。
→週末もプログラミングしてるなら、すごいだろうと思っても、実際はそうでもなかったと言うケースは少なくない。
・色んな技術の知識はあるし、自信を持っているように見える。
→自分が好きなことはやるが、それ以外のことはやらないっていう人はいる。
事業のコーディングが、プログラマーの好きなことに当てはまらない場合は、運営する側はとてもつらい目にあう。
→自信があるから、できるわけでない。でも、自信がある技術者は、魅力的に見えちゃうんだよね。笑。
以上。