技術書といえばO’REILLY、というのはエンジニアにとって定番中の定番。私も古くはPerlのラクダ本からお世話になってます。
O’REILLYはイベントにも良く出展していて都度立ち読みしていたのですが、つい先日のデベロッパーサミットでは「10%オフ」と「4000円以上でオリジナルTシャツ」に惹かれて3冊ほど買ってしまいました。まあ当日は近年稀に見る大雪で荷物が増えてしまったことを後悔したのですが、あとの祭りですね。
買う前に3冊はどれもサラッと内容を確認したのですが、最初に目に止まったのがこの本でした。
本全体の方向性としては「Geekが社内でキャリアを積むために理解しておくべきこと」という感じでしょうか。
内容はタイトルとはだいぶ異なり、GeekもしくはNerdが人間的な成長を迎えたときにどのようにあるべきかを書いたものです。元はブログの記事をまとめたもののようで内容は散漫としてるのですが、全般的にはソフトウェア企業・もしくはソフトウェア産業で働くエンジニアが生きていくための戦術がまとめられています。そんな感じなので、「どうやったら最良のコードが書けるか」「どうすれば一生プログラマーでいられるか」という視点では書かれてはいません。
[amazonjs asin=”4873114993″ locale=”JP” title=”Being Geek ―ギークであり続けるためのキャリア戦略”]
こういう本をエンジニアが読まなければならない、その理由だと私が考えているのは、常に環境は変化するということです。ソフトウェア産業は成熟していき、普通の産業になりつつあります。一方で、自分自身の記憶力は減退し、発想力は衰え、新しいタレントが台頭していく中で、会社のなかで以下に自分のポジションを確立していくか。小さい話ではあるんですが、30代くらいのエンジニアの、次の10年の生き方を客観視できる良書だと思います。
端的に面白かったのは下記の引用の部分でした。
たとえば「このページにちょっとチェックボックスを追加してくれないかな」と頼むとき、頼んだ側の人間は、それが至極簡単なことだと思っている。「If/Thenとかで、条件分岐をさせればすぐにできるだろう」などと思う。
無邪気なものだが、エンジニアにとっては実に苛立たしいことである。
安易に頼まれたとおりにすれば、仕様が変わってしまう。しかも、ひどい仕様になってしまうことが多い。そして、何より困るのは、頼む側が、こちらの作業の具体的内容を良く分かっていると思い込んでいることだ。「この機能を追加するには、こういう作業をすればいいだろう」と想像し、その想像は正しいと信じているのだ。
いやあ、ほんと。分かっていらっしゃる。