こんにちは。食事管理アプリ『あすけん』のモバイル開発を担当しています、大澤です。
今回、2022年7月に書いた「【2022年】askenエンジニアがオススメする本をまとめてみた」の【2023年】版を書いてみました(既に2024年になりましたが)。
前回のまとめから、エンジニアも増えましたので、改めてエンジニア16名にアンケートをとった結果をまとめています。メンバーが増えた分、オススメしたい本が増えましたが、ぜひご覧ください。
※書いた人…大澤のインタビュー記事
ソフトウェア開発・言語
Go言語プログラミングエッセンス
- 2023年からGolangを使い始めたのですが、最初に購入したのがこの本です。写経したコードを自分仕様にカスタマイズすることでGolangの理解が深まり、業務で使いたいと思いました。
継続的デリバリーのソフトウェア工学 もっと早く、もっと良いソフトウェアを作るための秘訣
- システム開発に必要な情報を網羅的に説明していてわかりやすい。
- 基礎知識として持っていると一緒に開発をすすめやすい。
LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する impress top gearシリーズ
- デリバリパフォーマンス計測のFour Keysを扱う上で抑えておきたい科学的な裏付けに基づいた考え方。
SQL実践入門──高速でわかりやすいクエリの書き方
- 事例が多く、章のタイトルも入り込みやすいので、読みやすい。基本的なSQLは書けるようになったけれど、もう少し学びたいと思った時に読み、SQL実行の仕組みや、結合の仕組みを知ることができ勉強になった。
プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ
- 認知科学をベースにプログラマーの問題解決の方法を示す本。特にコードリーディングを進める上で直面する課題やその対策についての記載が参考になりました。ライティングについては書籍が多いのですがリーディングに関しては書籍が少ないので、そういった意味でも貴重な学びが得られる本だと思います。
ソフトウェア品質
The BDD Books - Discovery: Explore behavior using examples
- この本のおかげで実例マッピングにチャレンジすることができた。
単体テストの考え方/使い方
- 良い単体テストとは何かを整理することができた。単体テストについて深く掘り下げられていて勉強になった。
ソフトウェア品質を高める開発者テスト 改訂版 アジャイル時代の実践的・効率的でスムーズなテストのやり方
- テストに関する本でありながら、非常に読みやすく、もっと学んでみたいという気持ちにさせてくれる。「シフトレフト」などの考え方についても「こうした方がよい」だけではなくデータを元に解説されていて、納得感を持って読める。
土台からしっかり学ぶーーソフトウェアテストのセオリー
- チームでテスト設計に関して考える際に、具体的に参考にした結果、テスト設計がチーム内で浸透した経験がある。
Web構築・管理
Webを支える技術 ―― HTTP,URI,HTML,そしてREST
- HTTPやURIの仕様理解を深めることでWebアプリケーションフレームワークの学習速度が加速した気がします。
システム管理・監査
要求を仕様化する技術・表現する技術-仕様が書けていますか?
- 要求と仕様と理由をセットで管理することで「あれ?何でこんな仕様にしたんだっけ?」という疑問に答えることが出来るので、派生開発が少し楽になりました。
ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング
- チームで開発する上で、ドキュメントの書き方で開発のしやすさが変わるため - README、APIリファレンス、リリースノートなど開発で使うドキュメントの書き方が書いてあり、なんとなくで書いていた部分を意図を持った構成で書く意識が持てる。
コンピュータサイエンス
生成AIで世界はこう変わる
- 最後はちょっと毛色を変えてエンジニアだけに閉じない本になります。今後も私達に大きく影響を及ぼすであろう生成AIの全般的な情報が分かりやすくまとめられていて、生成AIについて読み始める際の最初の1冊として良いと思いました。
スクラム
SCRUM BOOT CAMP THE BOOK
- スクラムの仕組みで動くことが多いのでスクラムに詳しくない人が読むのにおすすめです。
- 漫画が入っているなど読みやすいし、よく発生しそうなシュチュエーションが書かれていて、度々読み返したくなる。
SCRUMMASTER THE BOOK 優れたスクラムマスターになるための極意――メタスキル、学習、心理、リーダーシップ
- シニアエンジニアとして、ただのスクラムチームの一員からスクラムチームを成長させる存在に変化していく上で助けになる書籍であると感じています。私個人としては、視点を変えるきっかけになりました。
- スクラムの基本の流れをおさえるのにちょうどよい本。私が一番読み込んだ本でもあります。スクラムの経験の有無に関わらず、教科書として読み返すのにいい本だと思います。
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~
- なぜ計画するのか、失敗例、アジャイルな見積もりの仕方などを学べる本です。短い期間での開発の見積もりに慣れなかったときに教えてもらい、私自身、不確実性と向き合うことができました。特にウォーターフォールに慣れている人が読むといいかもしれません。
データ分析
A/Bテスト実践ガイド 真のデータドリブンへ至る信用できる実験とは
- A/Bテストの結果をもとに意思決定をすることが多いので頭に入れておくと会話がしやすい 。
- テストの実施と計測を正しく理解することがプロダクトが前進する上で非常に大事だと考えるため。
経営戦略
アンラーン戦略 「過去の成功」を手放すことでありえないほどの力を引き出す
- エンジニア向け、ということではないですが、大きく成長するためには過去の成功体験を脱学習して新しいことを学ぶ必要がある、という考え方が非常に刺さりました。ただ、改めて読んでみるとまだ実践できてないこともあるので、今日からまた頑張ります!
組織マネジメント
エンジニアリングマネージャーのしごと ―チームが必要とするマネージャーになる方法
- エンジニアリングマネジャーの視点を知る上でも、ふるまう上でも定期的に読み返したい書籍です。
プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで
- プロダクトを開発する上で視野と視座を広げて高めてくれる書籍だと感じています。目の前のものをただ開発するだけではなく、プロダクトを成長させてユーザに価値を届けるためのノウハウを知ることができます。
- プロダクトマネジメントについて体系的に書かれており、プロダクトの考え方について悩んだ時に何度も読み返しています。
INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント
- プロダクト開発の重要な考え方を学ぶうえで、定期的に読み返したい名著です。
エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
- 少しとっつきにくい部分もあるが、エンジニアリング組織の本質的な考え方が刺さる。
NLPで最高の能力が目覚める コーチングハンドブック 知識と経験を最大化するセンスの磨き方
- NLP(神経言語プログラミング)をベースに、人間がどのような視点でものを見ているか、それをどう支援すればよいかということが体系的に書かれています。
正しいものを正しくつくる プロダクトをつくるとはどういうことなのか、あるいはアジャイルのその先について
- 正解がわからないなかで、プロダクトやチームが直面する課題やその解決方法について書かれています。
プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける
- この本を読んで、プロダクト開発に対するマインドセットを根本から変えることができました。
リーン・スタートアップ ムダのない起業プロセスでイノベーションを生みだす
- プロダクト開発の基本である構築・計測・学習のフィードバックループについて学ぶことができるため。
設計
現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法
- 社内でDDDを推進する動きがあるの共通言語として頭に入れておくと会話がしやすい。
- ソフトウェア設計の基本がわかりやすく、かつ裏付けも含めて体系的に整理されています。
- 値オブジェクトやコレクションオブジェクトといったシンプルな実践から紹介されているので、設計の有効性を実感しながら読み進めていくことができます。
ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
- 私も勉強中。読んだことがある人と意見交換したり、一緒に勉強したい!
オブジェクト設計スタイルガイド
- オブジェクト指向の基礎情報がざっくりと把握できる - 情報のアップデートが必要な場合に読むと良さそう。
システム設計の面接試験
- アーキテクチャ設計の基本的な考え方を観点とともに幅広く学べる。インフラの設計が苦手、という人は一度読んでみると設計の際に何を重視する必要があるのか知ることができます。
- 面接試験対策としてではなく、自分がよく利用するポピュラーなサービスのアーキテクチャやその設計を進める際の考え方を学べるのが良いと思います。
ユースケース駆動開発実践ガイド
- 業務仕様とソースコードをどうやって紐づけていくのかがわかる本。仕様からコードに落とし込むために必要な設計を段階的に説明してくれるのでわかりやすいです。
良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方
- 分かりやすく書かれており基礎を学ぶのに最適と思います。また、他の方がオススメ本に推薦していた「現場で役立つシステム設計の原則」に進むとさらに良いと思います。
Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考
- 良い単体テストとは何かを整理することができた。単体テスト以外にも可読性や意図しない利用を防ぐにはどのようにすれば良いかなど、参考になる点が多々あった。
ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本
- 最初にDDDを理解する本としてわかりやすいと思った。
その他
解像度を上げる――曖昧な思考を明晰にする「深さ・広さ・構造・時間」の4視点と行動法
- プロダクト開発は、様々な視点で思考を深める必要がありますが、その方法論として網羅性が高いです。
教養としてのエントロピーの法則 私たちの生き方、社会そして宇宙を支配する「別格」の法則
- ソフトウェアにおける割れ窓理論等で登場するエントロピーの正体が研究者以外がざっくり理解するのにベストな本。
まとめ
- askenではスクラム開発を実施しているのでスクラム関連の本を挙げる人が多かったです。
- 『現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法』は、前回2022年のアンケート結果に引き続き、今回も挙げる人が多かったです。著者の増田さんの勉強会をaskenで実施してから2年経ちますが、今もその時の学びを活かしている人が多いと思いました。
- 前回の集計と同様に、組織やマネジメントに興味がある人が多い結果になりました。
おしらせ
askenでは、エンジニアを募集しています。