はじめに
2023年の7月以降から個人的にかなりの技術やソフトスキルに関する本を読んだのでさっくりまとめてみる。
想定する読者
入門エンジニアやキャリアアップを考えるエンジニア
2023年に読んだ本
- Effective Java 第3版
- Effective JavaScript
- FACTFULNESS
- 解像度を上げる
- The Non-Designer's Design Book
- 良いコード・悪いコードで学ぶ設計入門
- エッセンシャル思考
- 人を動かす
- ドメイン駆動設計入門
- The Rules of Programming
- 達人プログラマー第2版
- エンジニアリング組織論への招待
- 言語化の魔力
- スクラム 仕事が4倍速くなる“世界標準”のチーム戦術
- アジャイルソフトウェア開発の奥義
- ちいさくはじめる デザインシステム
- リファクタリング
- Clean Code
- Being Geek
- Clean Architecture
技術編
Effective Java
おすすめ度 ★★★☆☆
よみやすさ ★☆☆☆☆
Javaエンジニアであれば読んでほしいJavaを書く上でやってはいけないことが詰まった1冊。
しかし問題は中身の難易度が高く一人で読んで理解するには難しいという点。
ぜひチーム内で輪読してほしい。
Effective JavaScript
おすすめ度 ★★★☆☆
よみやすさ ★★☆☆☆
おなじくJavaScriptに関わる場合に読んでほしい1冊。JavaScriptで切り離すことができないクロージャや無名関数を学ぶことができる。
The Non-Designer's Design Book
おすすめ度 ★★★★☆
よみやすさ ★★★★★
エンジニアが最低限知っておくべきデザイン4原則やタイポグラフィを詰め込んだ1冊。1つ1つの章が図解とともに短くまとまっており非常に読みやすくわかりやすい。新人向けの1冊。
良いコード・悪いコードで学ぶ設計入門
おすすめ度 ★★★★☆
よみやすさ ★★★★★
設計をするときの原則やアンチパターンがまとまった1冊。後述のドメイン駆動設計入門に比べJavaで書いてある事もJavaエンジニアとしては嬉しい。
設計に限らずプログラミングにおけるアンチパターンがたくさん書いてありカジュアルにまとまっているため読みやすい。
ドメイン駆動設計入門
おすすめ度 ★★★★☆
よみやすさ ★★★☆☆
設計パターンとしてグローバルスタンダードとなったDDDの基礎をまとめた1冊。モデルやエンティティ、ユースケースといった概念も書いてあるため読み始める為に申し分のない1冊。しかしC++で書いてあるためJavaエンジニアとしては少し読みづらく感じてしまう。
The Rules of Programming
おすすめ度 ★★★☆☆
よみやすさ ★★★☆☆
あの『Ghost of Tsushima』を手掛けたSuckerPunch Productionsの開発チームが開発をする際の21個のルールがまとめられた1冊。
何がチーム開発する上で邪魔になるのか、それを防ぐためになにをルール化すべきか書いてある。どちらかというと開発チームリーダー向けの1冊。
(内容としては好みではあるが、ルールに関してはプロダクトやチームの性質/文化に左右される可能性もあると感じる)
アジャイルソフトウェア開発の奥義
おすすめ度 ★★★★☆
よみやすさ ★★☆☆☆
おなじみロブおじさんからなにより分厚い673ページ、手にした時は鈍器かと思うレベル。しかし内容としては各項目が短くまとまっている。ソフトウェアにおけるアジャイルとは何なのかという点からアジャイルソフトウェア開発を達成するために何をしたのかを記載した1冊。
Clean Code
おすすめ度 ★★☆☆☆
よみやすさ ★★☆☆☆
『アジャイルソフトウェア開発の奥義』と同じ著者からの1冊。さらに具体的かつより熱意的にコードに対してアプローチのある1冊。単一責務の原則の前段となる話の具体例やテスト駆動開発に対しての知見が広く得ることができる。しかし、Java1.1や1.2の頃の話があったりして新人には難しい内容もある。
Clean Architecture
おすすめ度 ★★★★☆
よみやすさ ★★★★☆
『アジャイルソフトウェア開発の奥義』と同じ著者からの1冊。この1冊が最も有名なのではないかと思う。オブジェクト指向言語のエンジニアを生きていくために必要なSOLID原則やデザインパターン、UMLの話がかなり緻密に書いてある。「どうしてアーキテクチャが必要なのか」が書いてあり、アーキテクチャに対してリファクタリングした実例もあるためかなりアーキテクチャに対して造詣を深めることができる。
マネジメント、チーム運営編
エンジニアリング組織論への招待
おすすめ度 ★★★★★
よみやすさ ★★★★★
「一人でも多く読んでほしい」 と声を大にして言いたい。
個人 → メンター → チーム → 組織全体と各フェーズごとに向き合い方が書いてあり、どのレイヤー層の人が読んでも実りがある本。エンジニアリングとはなにか、どうして組織が停滞してしまうのか、つぶれていく新人はどこにいるのか、移り行く時代とエンジニアリング組織のありかたとは非常にわかりやすく書いてある。
ぜひとも上司やメンターと一緒に読んでほしい1冊。
スクラム 仕事が4倍速くなる“世界標準”のチーム戦術
おすすめ度 ★★★☆☆
よみやすさ ★★★☆☆
今でかなりのチームがアジャイルフレームワークの一つである『スクラム』を導入しているが、なぜスクラムが必要なのか、スクラムとはどうやって導入するのか、必要な人材はなにかが書いてある1冊。
その他(キャリア形成、ソフトスキルなど)
FACTFULNESS
おすすめ度 ★★★☆☆
よみやすさ ★★★☆☆
「世界は良くなっているのか」
人間は選択の多くを自身で正しく選んでいると思っているが、実際には多くの外的要因(バイアス)を受け認知を歪めてしまっている事を学ぶ1冊。
エンジニアとして直接関係するわけではないが、事実を正しく認知することが必要なシーンが多くあると思う。
解像度を上げる
おすすめ度 ★★★★☆
よみやすさ ★★★★★
ここ最近よく見かけるようになった『解像度』というワード。物事の判断に対して私は本当に「分かっている」のか、仕事のできる上司や先輩社員が何を見て何を考えているのか言語化された1冊。
エッセンシャル思考
おすすめ度 ★★★★☆
よみやすさ ★★★★★
「なにをやらないべきか」という点に焦点を当てた思考であるエッセンシャル思考をまとめた1冊。仕事ができていた人がどうして仕事ができなくなってしまうのか、どうしてアウトプットの質が下がり続けるのかこれからの思考を変えることができる。
人を動かす
おすすめ度 ★★★★☆
よみやすさ ★★★★★
カーネギーの名著『人を動かす』は組織内で人と一緒に仕事をする上で必要な心得が書いてある1冊。
基本的かつ誰にでもできる方法が書いてあるので、読んだ場合はぜひ実践してほしい。
漫画版もあるので興味がある人は漫画版もおすすめである。
達人プログラマー第2版
おすすめ度 ★★★★☆
よみやすさ ★★★★★
エンジニアのキャリアや生き方について書かれた本、実は技術的なtipsも多く書かれている。技術的な点を理解するためにはある程度エンジニアとして経験を積んでいる必要がある。
エンジニアがエンジニアとして生きる為に何をしなければいけないのか書かれた1冊。
言語化の魔力
おすすめ度 ★★★☆☆
よみやすさ ★★★☆☆
『悩み』について書かれた1冊。『悩み』はどうして発生してしまうのか、予防法や対処法について書かれている。書かれていることは非常に納得のいくものですが、私自身が読んだ当時悩みを抱えていなかったことが悔やまれる。
ちいさくはじめる デザインシステム
おすすめ度 ★★★★☆
よみやすさ ★★★★☆
SmartHRのデザインシステム立上げから内容までまとめられた1冊。2023年はウェブアクセシビリティ対応が進み、デザインシステムを公開した会社も少なくはない。どうしてデザインシステムが必要なのか、どのように開発組織とコンビネーションするのか知ることができる。
Being Geek
おすすめ度 ★★★★☆
よみやすさ ★★★★☆
エンジニアは『Geek』であるという視点からエンジニアのキャリアを説いた1冊。視点としては独特だが内容はエンジニアのキャリアアップやどのような組織で働くべきか、必要な素養を学ぶことができる。
かなり就職や転職に焦点が合っていることもポイント。
さいごに
会社内で輪読会の参加を通じて書籍によるインプットの魅力に憑りつかれてから一心不乱で本を読みました。読んだ内容はSlackチャンネルで読書メモを投稿し周りからFBやリアクションを貰いながら楽しく読み続けることができたと思います。
輪読会ができることは理想ですが、読書のスピードや興味のある分野は三者三葉であるためSlackチャンネルで投稿してるくらいがちょうどいいアウトプットなのかもしれません。今回こうやってまとめてみると、マネジメントに関するキャッチアップができてなかったなーとか次はWebアプリケーションやインフラのキャッチアップしてみようかなーとか思っています。
2024年は50冊くらいは読みたいと思います。
技術書を読むのが好きな新米エンジニアさんへ
Slackでもなんでも「この本読んでいます!」ということを発信してみてください。読んでいても使うきっかけが得られなければ読んだだけになってしまいます。この本でこういうことを学びました。ということを発信できると、そのことを知った人から本に書いてある事をベースに話が出来たり、新しいアサインのきっかけになると思います。
技術書を読んでる人をみかけた人へ
なんでもいいのでリアクションしてあげてください。Slackで投稿されていることを見かけた場合はスタンプをつけてあげてください。本を読んでる人はそのリアクションが嬉しくてどんどんキャッチアップするようになります。