今年もやってきました!毎年恒例の 優秀なエンジニアが選ぶ「影響を受けた本ランキング」 をご紹介します。注目の新刊も数多くランクインしているので、ぜひチェックしてみてください。
2020年度版 エンジニアが影響を受けた本ランキング
調査概要
・対象者:2019年に転職ドラフトへ会員登録して、指名獲得をしたユーザー
・ランキング内容:得票数10票以上の書籍を抜粋
・比較対象:2018年に転職ドラフトへ会員登録して、指名獲得をしたユーザー
順位 | 昨対 | 書籍名 | 得票数 |
---|---|---|---|
1 | (=) | リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック(オライリー・ジャパン) | 131 |
2 | 13↗ | Clean Architecture - 達人に学ぶソフトウェアの構造と設計(アスキードワンゴ) | 28 |
3 | 7↗ | エンジニアリング組織論への招待 - 不確実性に向き合う思考と組織のリファクタリング(技術評論社) | 23 |
3 | (=) | Team Geek - Googleのギークたちはいかにしてチームを作るのか(オライリー・ジャパン) | 23 |
5 | 13↗ | カイゼンジャーニー - たった1人からはじめて、「越境」するチームをつくるまで(翔泳社) | 15 |
5 | (=) | アジャイルサムライ - 達人開発者への道(オーム社) | 15 |
5 | 3↘ | SOFT SKILLS - ソフトウェア開発者の人生マニュアル(日経BP) | 15 |
8 | 17↗ | リファクタリング - 既存のコードを安全に改善する(オーム社) | 14 |
9 | (=) | 情熱プログラマ - ソフトウェア開発者の幸せな生き方(オーム社) | 13 |
10 | 18↗ | プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則(秀和システム) | 12 |
10 | 5↘ | 達人プログラマー 職人から名匠への道(オーム社) | 12 |
12 | 2↘ | ハッカーと画家 - コンピュータ時代の創造者たち(オーム社) | 11 |
12 | (=) | テスト駆動開発(オーム社) | 11 |
14 | 32↗ | Webを支える技術 HTTP、URI、HTML、そしてREST(技術評論社) | 10 |
14 | (=) | UNIXという考え方 その設計思想と哲学(オーム社) | 10 |
ランクアップした本は?
順位を上げた書籍 について、それぞれ見てみましょう。
『Clean Architecture - 達人に学ぶソフトウェアの構造と設計』(アスキードワンゴ)
『カイゼンジャーニー - たった1人からはじめて、「越境」するチームをつくるまで』(翔泳社)
『リファクタリング - 既存のコードを安全に改善する』(オーム社)
『プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則』(秀和システム)
Clean Architecture - 達人に学ぶソフトウェアの構造と設計
前回の13位から2位へ大きくランクアップした『Clean Architecture』 。著者であるロバート C. マーティン氏は、50年以上前からアーキテクチャを開発してきた第一人者です。この本では「 ソフトウェアアーキテクチャのルールは全て同じだ 」と説く著者が、いかに崩壊しない(=クリーンな)アーキテクチャを作り上げるかについて、分かりやすくまとめられています。元々は2012年に発表されたブログが元になって書かれた書籍なので、本を手に取る前に翻訳されたブログのダイジェスト版を読んでみてもいいかもしれません。
ちなみに『Clean Architecture』を読んだエンジニアからは、こんな感想が寄せられています。
前職のときにインターン生に教えるネタがDDDとこれを組み合わせたものだったので必死で勉強しましたが、いまあらためて学ぶべきと思っています。
Robert C. Martin(角 征典、髙木 正弘 訳)『Clean Architecture - 達人に学ぶソフトウェアの構造と設計』アスキードワンゴ、2018年
カイゼンジャーニー - たった1人からはじめて、「越境」するチームをつくるまで
『カイゼンジャーニー』は、Slerとして勤務する主人公のエンジニアを中心に、ストーリーが展開されます。問題だらけのプロジェクトをどうやって軌道修正させるか、やる気のない同僚をいかに鼓舞するかなどを、実践を交えながら紹介しているのが特徴です。著者の市谷聡啓氏はカイゼンジャーニーについて「 自分自身のジャーニー(人生)そのものだ 」と語っています。著者自身がSlerとして活躍していた時の経験を元に描かれているので、読者からはこんな意見も。
カイゼンジャーニーは今の会社のチーム全員におすすめして読んでもらった。これによって上司が1on1を始めたりと、すこし環境が変わりました。
この本を読んでみて、仕事の進め方にも具体的な変化があったようです。
そして、 『カイゼンジャーニー』がランクを上げた背景には、エンジニアの「 組織に関する関心の高まり 」があるのかもしれません。ここで、今年のランキングの3~5位を振り返ってみましょう。
3位:『エンジニアリング組織論への招待 - 不確実性に向き合う思考と組織のリファクタリング』(技術評論社)
〃 :『Team Geek - Googleのギークたちはいかにしてチームを作るのか』(オライリー・ジャパン)
5位:『カイゼンジャーニー - たった1人からはじめて、「越境」するチームをつくるまで』(翔泳社)
〃 :『アジャイルサムライ - 達人開発者への道』(オーム社)
こうしてみるといずれの書籍も、組織論にフォーカスした内容であることが分かります。エンジニアとして技術を高めていくことだけでなく「仲間とどのように協力して仕事を進めていくか」にも関心が高まっているということなのでしょう。
市谷 聡啓、新井 剛『カイゼンジャーニー - たった1人からはじめて、「越境」するチームをつくるまで』翔泳社、2018年
リファクタリング - 既存のコードを安全に改善する
『リファクタリング』は20年振りに改訂版が発売されたこともあり、注目していた方も多いはず。著者のマーティン・ファウラー氏は改訂版の執筆にあたり「20年前に書いた内容が完璧だっただけに、新たに手を加えるのは勇気の要ることだった」と語っています。しかし一方で「 20年前と比べて、ストラクチャーが重要視されるようになり、改訂版を生み出す必要性も感じていた 」とのこと。そこで改訂版を書くにあたっては、サンプルコードを JavaからJavaScript にするなど、現代でも通用する内容にアレンジしたと述べています。
20年前と内容の構成は変わっていないながらも、とても参考になったという声も多く「 テスト駆動開発における、高品質アウトプットを出すためのインプットになった 」という声もありました。
Martin Fowler(児玉 公信、友野 晶夫、平澤 章、梅澤 真史 訳)『リファクタリング - 既存のコードを安全に改善する』オーム社、2014年
プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則
『プリンシプル オブ プログラミング』の著者である上田勲氏は、 800冊もの技術書を読んできたソフトウェアエンジニア です。数多くの技術書を読み進める中で収集したプリンシプル(コードを書くための原則や手法のこと)をまとめたいと考えたのが、本書を執筆するきっかけになったとのこと。
特に中級者を目指す初級者プログラマにとってオススメで「 駆け出しのエンジニアにとって、良いコードを書くために必要なコツは非常に漠然としているが、本書はそんな漠然としたナニカを掴むのに効果てきめんな一冊だ」と語っています。
実際に読んだ方からも「 リーダブルコードと同じようにコードを書く際の指針の一つになった。具体的で分かりやすい内容で、定期的に読み返している。 」という意見がありました。
上田勲『プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則』秀和システム、2016年
ちなみに『Clean Architecture』も『カイゼンジャーニー』も、2018年に発売された比較的新しい書籍です。また7位に選ばれた『リファクタリング』も2014年に発売された書籍なので、 今回ランクアップした書籍は、比較的話題の新刊である とも言えます。
他方、『リーダブルコード』や『Team Geek』、『アジャイルサムライ』など、例年ランクインする名著が多く並ぶものの、今回のランキングに選ばれなかった本もちらほらありました。
惜しくもランク外になった本
・『SQLアンチパターン』(オライリー・ジャパン):8位→27位
・『Effective Java』(丸善出版):9位→16位
・『エリック・エヴァンスのドメイン駆動設計』(翔泳社):11位→23位
・『現場で役立つシステム設計の原則』(技術評論社):13位→23位
■そのほかにランクインした書籍が収録されたPDFはこちらからご確認頂けます。
エンジニアが今欲しい本は?
優秀なエンジニアが影響を受けた本も参考になりますが、 エンジニアが今欲しい本が分かれば、最新のトレンドも分かるはず。
実は転職ドラフトでは、紹介して頂いたお友達が無事審査を通過すると、オライリー本をプレゼントする友達紹介キャンペーンを実施しています。そこで今回は、 友達紹介キャンペーンでプレゼントしている本 も集計してみました。
調査概要
・調査対象:2019年にお友達紹介キャンペーンで贈呈した本を集計
・ランキング内容:得票数3票以上のものを抜粋
順位 | 書籍名 | 得票数 |
---|---|---|
1 | ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装(オライリー・ジャパン) | 9 |
2 | レガシーコードからの脱却 - ソフトウェアの寿命を伸ばし価値を高める9つのプラクティス(オライリー・ジャパン) | 5 |
3 | リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック(オライリー・ジャパン) | 4 |
3 | ゼロトラストネットワーク - 境界防御の限界を超えるためのセキュアなシステム設計(オライリー・ジャパン) | 4 |
3 | データ指向アプリケーションデザイン - 信頼性、拡張性、保守性の高い分散システム設計の原理(オライリー・ジャパン) | 4 |
6 | 入門 監視 - モダンなモニタリングのためのデザインパターン(オライリー・ジャパン) | 3 |
6 | 直感 Deep Learning - Python×Kerasでアイデアを形にするレシピ(オライリー・ジャパン) | 3 |
6 | マイクロサービスアーキテクチャ(オライリー・ジャパン) | 3 |
6 | プログラミングRust(オライリー・ジャパン) | 3 |
6 | コンピュータシステムの理論と実装 - モダンなコンピュータの作り方(オライリー・ジャパン) | 3 |
6 | Unityによるモバイルゲーム開発 - 作りながら学ぶ2D/3Dゲームプログラミング入門(オライリー・ジャパン) | 3 |
6 | SREサイトリライアビリティエンジニアリング - Googleの信頼性を支えるエンジニアリングチーム(オライリー・ジャパン) | 3 |
6 | Pythonによるデータ分析入門 第2版 NumPy、pandasを使ったデータ処理(オライリー・ジャパン) | 3 |
友達紹介のプレゼント本ランキングでは、名著『リーダブルコード』をおさえて、『ゼロから作るDeep Learnig』が1位を取っているのが特徴的とも言えますね。
その他にも、『レガシーコードからの脱却』や『ゼロトラストネットワーク』、『データ指向アプリケーションデザイン』など、新刊もぞくぞくとランクインしています。
これらの書籍がどのような内容で、どんな分野で役に立つか、気になりますよね?そこで、今回は この4冊を読んだエンジニアに率直な感想 を聞いてきました。
『ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装』(オライリー・ジャパン)
『レガシーコードからの脱却 - ソフトウェアの寿命を伸ばし価値を高める9つのプラクティス』(オライリー・ジャパン)
『ゼロトラストネットワーク - 境界防御の限界を超えるためのセキュアなシステム設計』(オライリー・ジャパン)
『データ指向アプリケーションデザイン - 信頼性、拡張性、保守性の高い分散システム設計の原理』(オライリー・ジャパン)
ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装
この本は2016年に発行されているものの、なぜ未だに根強い人気があるのでしょうか?読者に話を聞いてみると「機械学習について日本語できちんと書かれた本がなかったので手に取ってみた」という声や「“ゼロから作る”というタイトルから、手を動かしながら理論を学べそうだと思った」という意見がありました。
本書で紹介されているのは、 Deep Learningに必要な関数や機能を、フレームワークなしで自分で実装する方法 です。ブラックボックス化されてしまうフレームワークではなかなか分かりづらい「誤差逆伝播」や「Dropout」も、自分でコードを動かしながら学ぶことで、より理解を深められたとのことでした。
特にニューラルネットワークの基礎的な原理や概念を理解したい人にオススメの一冊で、この本を読み終わったら『ゼロから作るDeep Learning 2 ―自然言語処理編』(オライリー・ジャパン)を読み進めるのもいいかもしれないという意見を頂きました。
斎藤 康毅『ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装』オライリー・ジャパン、2016年
レガシーコードからの脱却 ――ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
この本は「修正、拡張、作業が難しいコード(=レガシーコード)をいかに生み出さないか」について書かれています。やはりコードを書く上で読んでおきたい一冊であり、読者からは「まだエンジニアとして駆け出しの頃に、 新卒が読んでおくべき書籍 や エンジニア3年目までの必読書 などの記事で紹介されていたので読んでみた」という声が寄せられました。
読んでみた感想を伺うと「初心者向けというよりかは、 リーダブルコードの基礎知識がある上で、ステップアップとして読むには良書 」という声も。実践的な内容なので「大規模なシステムや長く稼働しているシステムの運用や開発に携わっているエンジニアのみなさんには、かなり役に立つと思う」とのご意見を頂きました。
David Scott Bernstein(吉羽 龍太郎、永瀬 美穂、原田 騎郎、有野 雅士 訳)『レガシーコードからの脱却 ――ソフトウェアの寿命を延ばし価値を高める9つのプラクティス』オライリー・ジャパン、2019年
ゼロトラストネットワーク - 境界防御の限界を超えるためのセキュアなシステム設計
クラウドサービスやモバイルの普及で、今までのセキュリティ対策だけでは不十分だという危機感を持つエンジニアは少なくないようです。
本書を読んだインフラエンジニアも「 従来の境界型セキュリティーは、今後意味がなくなってしまう かもしれないと説明している本書が気になり、手に取った」と語っています。実際に読んでみて、特にこの4つが参考になったとのことでした。
- どういう要素でゼロトラストネットワークを構成するか
- ゼロトラストネットワーク内での通信の信頼性の担保方法
- 各個人の信用スコアの設定に関する考え方
- 特権を持った人をどうするか
GoogleのBeyondCorpのように、 どんなネットワークからでも安全に社内リソースへアクセスする方法 を示す一冊で「特にインフラ関連や社内SEに勧めたい書籍だ」と評していました。
さらに、ゼロトラストネットワークについて学ぶには何を読むべきかを聞いた所「BeyondCorp - Enterprise Securityの中にある論文を読み進めると、さらに理解が深まるかも」とのことでした。
Evan Gilman、Doug Barth(鈴木 研吾 監訳)『ゼロトラストネットワーク - 境界防御の限界を超えるためのセキュアなシステム設計』オライリー・ジャパン、2019年
データ指向アプリケーションデザイン
本書は データエンジニアリング界隈で注目を集めた一冊 とのことで、実際に読んでみたエンジニアに話を聞くと「Sadayuki FuruhashiさんがTwitterで言及していたので気になっていた」
買った。分散システムの理解を整理する本として素晴らしい。一節を割いてMessagePackのフォーマットまで解説されている…! "Designing Data-Intensive Applications" https://t.co/QCeoLraZOf
— Sadayuki Furuhashi (@frsyuki) March 27, 2017
「その他にもブログなどでよく名前を目にするTakuya Kitazawaさんも、この本を評価していたので、買ってみた」という声がありました。
タイトル通りデータ関連技術の解説書ですが、読者からは
- 個別の技術の紹介に留まらず、それらを体系的に整理・比較した上で、特徴や長所・短所を比較して議論していること
- データ関連技術を支える基本的なアルゴリズムについて、読みやすいコード例を使って丁寧に説明していること
- 技術の中身の解説だけでなく、それがどんなユースケースに適しているかという観点を重視していること
- 第3部の「導出データ」をまるまる割いて、現代的なデータウェアハウスで利用される技術について解説していること
という4つのポイントが特に参考になったとのことでした。
さらに本書の特徴として「 各章の冒頭に格言が掲載されていて、その一つひとつに共感してしまう 。読もうと思うテンションが高まった!」というリアルな意見も。特にお気に入りだと言う9章の冒頭には
間違っているかもしれなくても動き続ける方が良いのか、それとも正しくあるべく停止してしまう方が良いのか?
――Jay Kreps, “A Few Notes on Kafka and Jepsen”(2013)
という格言がありました。「その他にも6章の格言も捨てがたい!」とのことだったので、気になる方は、実際の本を手に取ってみるのもいいかもしれません。
ちなみに、とても分厚い本なので「一人で読むより みんなで勉強会をしながら読み進めるのがオススメ 」という貴重なご意見も頂きました。
Martin Kleppmann(斉藤 太郎 監訳、玉川 竜司 訳)『データ指向アプリケーションデザイン - 信頼性、拡張性、保守性の高い分散システム設計の原理』オライリー・ジャパン、2019年
まとめ
今回は2つのランキングをご紹介しましたが、いずれも新刊が数多く選ばれていたのが印象的でした。
あなたが「読んでみたい!」と思えた本は、見つかったでしょうか?
エンジニアとして成長の一助になる書籍を少しでも多くご紹介できていたら嬉しいです。
読みたい本があれば、オライリー本がもらえる友達紹介キャンペーンを利用してぜひGETしてください!
また、自分の成長を実感したいと思ったら、転職ドラフトに参加して、あなたの市場価値を確かめてみてください。