「エンジニア100人に聞きました」〜新人エンジニアにお勧めする一冊編〜

こんにちは。開発企画室の佐島です。
今回のブログはe100qプロジェクト第三弾、テーマは「新人エンジニアにお勧めする一冊」です。

e100qプロジェクト #e100q

e100qプロジェクトとは、各社で同じアンケートを実施し、結果を各社のエンジニアブログ等の場で、同日同時刻にいっせいに公開するというプロジェクトです。
詳しい話は以下をご参照ください。
「エンジニア100人に聞きました」始めます。
ということで、改めまして「エンジニア100人に聞きました」〜新人エンジニアにお勧めする一冊〜
グリーのエンジニアに対して行った結果と併せてご覧ください。

  • アンケート期間:2014年03月25日〜04月01日
  • 回答数:14

Q1:新人エンジニアにお勧めする一冊を教えてください。

Q2:(Q1で挙げた一冊を)お勧めする動機を教えてください(1つ選択)。

にこいちの質問なので結果はあわせて紹介させて頂きます。

お勧めの一冊 動機
エリック・エヴァンスのドメイン駆動設計(2名から推薦) a. 自分が新人のとき、実際に読んでみてためになったから。
c. 今にして思えば、自分が新人のときにこれを読んでおけば良かったと考えているから。
人月の神話(2名から推薦) a. 自分が新人のとき、実際に読んでみてためになったから。
たしなみだから
Code Complete これを読んでいればこんなひどいコード書かないだろうというコードにたくさん出会ってきたから
Binary Hacks とりあえず。
実践vim 頻繁に行う作業の効率化につながったと思うため
Perlデータマンジング―データ加工のテクニック集 a. 自分が新人のとき、実際に読んでみてためになったから。
『体系的に学ぶ 安全なWebアプリケーションの作り方』 a. 自分が新人のとき、実際に読んでみてためになったから。
情熱プログラマー ソフトウェア開発者の幸せな生き方 a. 自分が新人のとき、実際に読んでみてためになったから。
小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則 転職したときに、チームメイトから贈られた一冊。新人のみならず、チーム全員が読んでおくべき本だと思っています。
ライト、ついてますか a. 自分が新人のとき、実際に読んでみてためになったから。
[脳の右側で描けベティ エドワーズ (著) c. 今にして思えば、自分が新人のときにこれを読んでおけば良かったと考えているから。
会社は2年で辞めていい 若いうちに転職慣れしておいた方がいいと思うので。

(自由回答なので)ある程度結果は予想出来ていたとは言え見事にばらけました。知らない本も多かったので調べてみたのですが面白そうなものばかりで、新人向けかどうかは別として良書が集まっているなぁと思いました。
しかしお勧めする理由の中に「b. 自分が新人のとき、先輩から勧められたから。」が一つもないというのが何とも香ばしい結果というか、今回は勧める側なので自分は良いと思って勧めているわけで、けど勧められた方は何年後かにその本を勧めてくれな (ry

Q3:(Q1で挙げた一冊)それ以外に、お勧めの本があれば教えてください。

どーんと列挙します。

  • 3名推薦

    • 『CODE COMPLETE 第2版 上』
    • 『CODE COMPLETE 第2版 下』
  • 2名推薦

    • 結城 浩 (著) 増補改訂版Java言語で学ぶデザインパターン入門
    • すごいHaskellたのしく学ぼう
    • 人を動かす
  • 1名推薦

    • 7つの言語 7つの世界
    • 7つの習慣
    • [24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
    • [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)
    • 『エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド』
    • アジャイルサムライ
    • 欺術(ぎじゅつ)―史上最強のハッカーが明かす禁断の技法
    • コンピュータの構成と設計
    • アルゴリズムイントロダクション
    • 論理回路入門
    • 集合知プログラミング
    • アイスマン(ケビン・ポールセン)
    • 誰のためのデザイン?―認知科学者のデザイン原論
    • 数学ガール 乱択アルゴリズム (数学ガールシリーズ 4)
    • 呪いの時代
    • 予想どおりに不合理―行動経済学が明かす「あなたがそれを選ぶわけ」
    • アーキテクチャの生態系――情報環境はいかに設計されてきたか
    • なんでコンテンツにカネを払うのさ? デジタル時代のぼくらの著作権入門
    • アイデアのつくり方
    • 富の未来
    • 究極の会議
    • 財務3表一体分析法 「経営」がわかる決算書の読み方
    • ビジョナリー・カンパニー 2 - 飛躍の法則
    • ハッカーと画家
    • 働き方革命―あなたが今日から日本を変える方法
    • 3年で辞めた若者はどこへ行ったのか―アウトサイダーの時代
    • 労働法についての本(何でも良い)
    • 入門UNIXシェルプログラミング(bashコマンドに関してはこれさえ読めば十分というかほとんど必須の本)
    • *nixを知りたいならW. Richard Stevens先生の本を読みましょう
    • 「俳句への道」高浜 虚子(「脳の右側で描け」と同じく客観的にものを見ることの大切さを教えてくれます。客観的にみたものを絵で表現するか言葉で表現するかという違いはあるものの、両者とも同じことをいっているように思います。)
    • Joel On Softwareとハッカーと画家とFINE SOFTWARE WRITINGSを読んで、いかに現実的に、気楽にやるか、ということを身につけておくといいと思います。

一人一冊ではないのでよりカオス感がUPしました。
しかも後半の方は本のタイトルの紹介に留まらず、若干レビューっぽいコメントまでついていて、とにかく読んで欲しい感がひしひしと伝わってきます。

Q4:先輩エンジニアとして、新人エンジニアに贈る言葉をお願いします。

新人エンジニアにお勧めする一冊というテーマですが、この質問がメインじゃないかという思うのは私だけでしょうか?
(当社に限らず)新人エンジニアのみなさん、アツすぎるメッセージをどうぞお受け取り下さい!


  • 誠実さを忘れずに
  • いい師匠を見つけるのがエンジニアとして成長する最短経路
  • Done is better than perfect. - Mark Elliot Zuckerburg
  • 常識的には無理だと考えられている問題も、狂気なまでにやり込んでしまえば、力押しで突破できる
  • 「勝つために戦え」
  • 20代のころに勉強した差が30代になって圧倒的に出るので、若いうちにがんばりましょう
  • 「学会発表の緊張感を忘れるな」
  • 取り返しがつかないミスはない。他者の失敗を責めるよりも、フォロー、リカバリー、問題解決する技術などを磨くのが優れたエンジニアへの道のひとつ。

どれもいい言葉ですね。染み入ります。標語にしてスマホのホーム画面にでもしてみてはいかがでしょうか?


  • セキュリティについては大学の教育などでは意識されない点なので、顧客の個人情報を守るためにも、そもそもどこが脆弱性になりうるのかなど最低限の部分は学んでおくとよさそう。
  • プログラミングの本を読むのもいいですが、あえて全く別のジャンルの本を読むことをおすすめします。3〜5年もたてばプログムが出来るのは当たり前になり、プログラムの他に何が出来るのかの方が重要になります。若いうちから専門分野以外のいろいろな物事に目を向ける練習をしておくと良いとおもいます。「脳の右側で描け」は絵の描き方を解説した本なのですが、絵の描き方を通して客観的にものを見ることの大切さを教えてくれます。客観的にものを見ることはどんな場面でも役に立ちます。

標語にするには長すぎますが的確なアドバイスですね。覚えておいた方が良いと思います!


そして、、、ここからはサバイバルなメッセージが。
新人エンジニアに言う必要ある?と思いつつも、飲み会の席とかではこういう話を聞かされることになると思うので、知っといて損はないのかなぁと思います。
しかし贈られた方もどうリアクションしていいものやらw(ともあれ社会は戦場なのです)

  • 「守れない納期と満たせない要件を引き受けない勇気」
  • 「プログラミング道グリー流に入門するわけでもなければ、大エンジニアになるための功徳を積むために会社に来ているのでもない」
  • 会社内でのキャリアパスとか評価制度とかは一切気にしないことをおすすめします。「上司から褒められたら負け」くらいに考えて、若いうちは一切自己犠牲を払わずに自己利益だけを追求した方がいいと思います。(ただしなるべく波風を立てずに「いつの間にかおいしいとこだけを持っていく」ようなやり方でいきましょう)
  • 君らの方が圧倒的に優秀だけど、年寄りの心配も知ってほしい!
  • 転職市場におけるエンジニアの需要は40代になると一気に減っていきます。そうなった時に重要なのはやっぱり「人脈」なので、色んな交流会や勉強会に積極的に参加することをおすすめします。(特に将来「キーマン」になりそうな優秀な人とは良い関係を築いておきましょう)
  • 「雇われエンジニア」からの「出口戦略」を常に考えておくことをおすすめします。50代になっても人に使われていたいなら話は別ですが。
  • 早いうちに「フリーランス経験」を積んでおくことをお勧めします。「フリーでもやっていけるんだな」ということが分かると、「今所属している会社は単なる取引先の一つに過ぎない。自分にメリットがなくなったらいつでも切る」というような考え方が出来るようになります。(会社側もそう考えてるわけなんでこれで対等になれます)
  • 会社とは「利用するもの」であって「利用されるもの」ではないので、会社からいかに「搾取」するかを考えて働くことをおすすめします。間違っても「搾取」されないようにしてください。

ということでいかがだったでしょうか?
それでなくても研修やらなんやらで新しく覚えること多いと思いますが、せっかくの機会なのでどれか一冊読んでみるのもいいかもしれません。
他社さんの結果も気になります。
今後もe100qプロジェクトが開催される際には乗っかって行きたいと思います!