2020/03/19

エンジニアとして影響を受けた技術書ランキング2020年版

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/d0a8ed10-1943-4505-840d-5650606c2ee5.png

今年もやってきました!毎年恒例の 優秀なエンジニアが選ぶ「影響を受けた本ランキング」 をご紹介します。注目の新刊も数多くランクインしているので、ぜひチェックしてみてください。

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 - ソフトウェア開発者の人生マニュアル 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
カイゼンジャーニー
リファクタリング
プリンシプルオブプログラミング

Clean Architecture

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/a70c6ed2-5b85-4d92-9b2f-fa03526705be.png

前回の13位から2位へ大きくランクアップした Clean Architecture 。著者であるロバート C. マーティン氏は、50年以上前からアーキテクチャを開発してきた第一人者です。この本では「 ソフトウェアアーキテクチャのルールは全て同じだ 」と説く著者が、いかに崩壊しない(=クリーンな)アーキテクチャを作り上げるかについて、分かりやすくまとめられています。元々は2012年に発表されたブログが元になって書かれた書籍なので、本を手に取る前に翻訳されたブログのダイジェスト版を読んでみてもいいかもしれません。

ちなみにClean Architecutureを読んだエンジニアからは、こんな感想が寄せられています。

前職のときにインターン生に教えるネタがDDDとこれを組み合わせたものだったので必死で勉強しましたが、いまあらためて学ぶべきと思っています。

カイゼンジャーニー

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/ec4970af-7e32-4b54-8d9b-11915006a12f.png

カイゼンジャーニー は、Slerとして勤務する主人公のエンジニアを中心に、ストーリーが展開されます。問題だらけのプロジェクトをどうやって軌道修正させるか、やる気のない同僚をいかに鼓舞するかなどを、実践を交えながら紹介しているのが特徴です。著者の市谷聡啓氏はカイゼンジャーニーについて「 自分自身のジャーニー(人生)そのものだ 」と語っています。著者自身がSlerとして活躍していた時の経験を元に描かれているので、読者からはこんな意見も。

カイゼンジャーニーは今の会社のチーム全員におすすめして読んでもらった。これによって上司が1on1を始めたりと、すこし環境が変わりました。

この本を読んでみて、仕事の進め方にも具体的な変化があったようです。

そして、カイゼンジャーニーがランクを上げた背景には、エンジニアの「 組織に関する関心の高まり 」があるのかもしれません。ここで、今年のランキングの3~5位を振り返ってみましょう。

3位:エンジニア組織論への招待
〃 :Team Geek
5位:カイゼンジャーニー
〃 :アジャイルサムライ

こうしてみるといずれの書籍も、組織論にフォーカスした内容であることが分かります。エンジニアとして技術を高めていくことだけでなく「仲間とどのように協力して仕事を進めていくか」にも関心が高まっているということなのでしょう。

リファクタリング

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/68a92cbc-f630-42c9-b7c3-1eb3369e1410.png

リファクタリングは20年振りに改訂版が発売されたこともあり、注目していた方も多いはず。著者のマーティン・ファウラー氏は改訂版の執筆にあたり「20年前に書いた内容が完璧だっただけに、新たに手を加えるのは勇気の要ることだった」と語っています。しかし一方で「 20年前と比べて、ストラクチャーが重要視されるようになり、改訂版を生み出す必要性も感じていた 」とのこと。そこで改訂版を書くにあたっては、サンプルコードを JavaからJavaScript にするなど、現代でも通用する内容にアレンジしたと述べています。

20年前と内容の構成は変わっていないながらも、とても参考になったという声も多く「 テスト駆動開発における、高品質アウトプットを出すためのインプットになった 」という声もありました。

プリンシプルオブプログラミング

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/89883f1c-edb7-4f11-bdbe-1f5933ca392f.png

プリンシプル オブ プログラミングの著者である上田勲氏は、 800冊もの技術書を読んできたソフトウェアエンジニア です。数多くの技術書を読み進める中で収集したプリンシプル(コードを書くための原則や手法のこと)をまとめたいと考えたのが、本書を執筆するきっかけになったとのこと。

特に中級者を目指す初級者プログラマにとってオススメで「 駆け出しのエンジニアにとって、良いコードを書くために必要なコツは非常に漠然としているが、本書はそんな漠然としたナニカを掴むのに効果てきめんな一冊だ」と語っています。

実際に読んだ方からも「 リーダブルコードと同じようにコードを書く際の指針の一つになった。具体的で分かりやすい内容で、定期的に読み返している。 」という意見がありました。

ちなみに 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
レガシーコードからの脱却
ゼロトラストネットワーク
データ指向アプリケーションデザイン

ゼロから作るDeep Learning

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/b49534cf-5c10-429a-af73-40e17413a9df.png

この本は2016年に発行されているものの、なぜ未だに根強い人気があるのでしょうか?読者に話を聞いてみると「機械学習について日本語できちんと書かれた本がなかったので手に取ってみた」という声や「“ゼロから作る”というタイトルから、手を動かしながら理論を学べそうだと思った」という意見がありました。

本書で紹介されているのは、 Deep Learningに必要な関数や機能を、フレームワークなしで自分で実装する方法 です。ブラックボックス化されてしまうフレームワークではなかなか分かりづらい「誤差逆伝播」や「Dropout」も、自分でコードを動かしながら学ぶことで、より理解を深められたとのことでした。

特にニューラルネットワークの基礎的な原理や概念を理解したい人にオススメの一冊で、この本を読み終わったら「ゼロから作るDeep Learning 2 ―自然言語処理編」を読み進めるのもいいかもしれないという意見を頂きました。

レガシーコードからの脱却

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/6f05ce50-9798-423e-acb5-02353ed5add2.png

この本は「修正、拡張、作業が難しいコード(=レガシーコード)をいかに生み出さないか」について書かれています。やはりコードを書く上で読んでおきたい一冊であり、読者からは「まだエンジニアとして駆け出しの頃に、 新卒が読んでおくべき書籍エンジニア3年目までの必読書 などの記事で紹介されていたので読んでみた」という声が寄せられました。

読んでみた感想を伺うと「初心者向けというよりかは、 リーダブルコードの基礎知識がある上で、ステップアップとして読むには良書 」という声も。実践的な内容なので「大規模なシステムや長く稼働しているシステムの運用や開発に携わっているエンジニアのみなさんには、かなり役に立つと思う」とのご意見を頂きました。

ゼロトラストネットワーク

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/54c69c33-2a9c-4162-8723-a3b6913276b5.png

クラウドサービスやモバイルの普及で、今までのセキュリティ対策だけでは不十分だという危機感を持つエンジニアは少なくないようです。本書を読んだインフラエンジニアも「 従来の境界型セキュリティーは、今後意味がなくなってしまう かもしれないと説明している本書が気になり、手に取った」と語っています。実際に読んでみて、特にこの4つが参考になったとのことでした。

・どういう要素でゼロトラストネットワークを構成するか
・ゼロトラストネットワーク内での通信の信頼性の担保方法
・各個人の信用スコアの設定に関する考え方
・特権を持った人をどうするか

GoogleのBeyondCorpのように、 どんなネットワークからでも安全に社内リソースへアクセスする方法 を示す一冊で「特にインフラ関連や社内SEに勧めたい書籍だ」と評していました。

さらに、ゼロトラストネットワークについて学ぶには何を読むべきかを聞いた所「BeyondCorp - Enterprise Securityの中にある論文を読み進めると、さらに理解が深まるかも」とのことでした。

データ指向アプリケーションデザイン

https://jdraft.s3-ap-northeast-1.amazonaws.com/blog/c0b118c5-90c6-430a-b9e5-204446021e49.png

本書は データエンジニアリング界隈で注目を集めた一冊 とのことで、実際に読んでみたエンジニアに話を聞くと「Sadayuki FuruhashiさんがTwitterで言及していたので気になっていた」

「その他にもブログなどでよく名前を目にするTakuya Kitazawaさんも、この本を評価していたので、買ってみた」という声がありました。

タイトル通りデータ関連技術の解説書ですが、読者からは

・個別の技術の紹介に留まらず、それらを体系的に整理・比較した上で、特徴や長所・短所を比較して議論していること
・データ関連技術を支える基本的なアルゴリズムについて、読みやすいコード例を使って丁寧に説明していること
・技術の中身の解説だけでなく、それがどんなユースケースに適しているかという観点を重視していること
・第3部の「導出データ」をまるまる割いて、現代的なデータウェアハウスで利用される技術について解説していること

という4つのポイントが特に参考になったとのことでした。

さらに本書の特徴として「 各章の冒頭に格言が掲載されていて、その一つひとつに共感してしまう 。読もうと思うテンションが高まった!」というリアルな意見も。特にお気に入りだと言う9章の冒頭には

間違っているかもしれなくても動き続ける方が良いのか、それとも正しくあるべく停止してしまう方が良いのか?

――Jay Kreps, “A Few Notes on Kafka and Jepsen”(2013)

という格言がありました。「その他にも6章の格言も捨てがたい!」とのことだったので、気になる方は、実際の本を手に取ってみるのもいいかもしれません。

ちなみに、とても分厚い本なので「一人で読むより みんなで勉強会をしながら読み進めるのがオススメ 」という貴重なご意見も頂きました。

■そのほかにランクインした書籍が収録されたPDFはこちらからご確認頂けます。

まとめ

今回は2つのランキングをご紹介しましたが、いずれも新刊が数多く選ばれていたのが印象的でした。

あなたが「読んでみたい!」と思えた本は、見つかったでしょうか?

エンジニアとして成長の一助になる書籍を少しでも多くご紹介できていたら嬉しいです。
読みたい本があれば、オライリー本がもらえる友達紹介キャンペーンを利用してぜひGETしてください!

また、自分の成長を実感したいと思ったら、転職ドラフトに参加して、あなたの市場価値を確かめてみてください。

今回の記事で紹介している書籍は版元ドットコムオライリー・ジャパンにご協力頂いて、使用させて頂いています。

「エンジニアの価値は世界が決める」転職ドラフト2020年07月15日開催予定!

企業があなたを年収付きで指名する「転職ドラフト」。
ITエンジニア限定の転職サイトです。

「私の実力ではいくらの年収を提示されるのか」
「市場価値を上げるには、今後どんなスキルを身につけるべきなのか」

提示年収を見てから選考に進むか決められるから、転職意欲が高くなくても大丈夫。
自分の年収を知りたいからという人も、ぜひお気軽にお試しください!

転職ドラフト
次回開催まであと
5
登録・審査申請はお早めに!
ご意見箱

要望、不具合報告、使いづらい点や感想など、なんでもお気軽にご連絡ください。

取材をご希望の方
転職ドラフト Reportの取材を受けたい企業様・ITエンジニアの方はこちらからその旨お問い合わせください。
SIGN UPSIGN IN


このサービスを友人に薦めたいですか?