はじめに
この記事は、私が2023年の上半期に読んで「よかった」と感じた書籍をご紹介するものです!
前提として、私のスキルセットは以下の通りです。
サーバーサイドエンジニア
- たまにプロジェクトリーダー
- 自社開発のWebアプリ開発
- 使用言語はPHP, JavaScript(TypeScript)
似たスキルセットの方には特に参考になるのではないかと思います。
みなさまのスキルアップの参考にしていただければ嬉しいです
今回は 技術書 4冊、ビジネス書 4冊 ご紹介します。
技術書
まずは技術書からです。
おすすめ書籍1. 単体テストの考え方/使い方
おすすめ度: (テストに興味があれば絶対読んでほしい!)
テストを書きたい開発者の方におすすめです。
「テストとは何か?なぜ書く必要があるのか?」から始まり、アンチパターンや実装テクニックまで、テストに関する知識を体系的に得られる書籍です。
(テスト界隈で有名な t_wada氏 もおすすめしていました)
「なぜ単体テストを行うのか」について述べられた文章が特に印象的だったので、引用します。
単体テストをすることで何を成し遂げたいのでしょうか?
その答えは、ソフトウェア開発プロジェクトの成長を持続可能なものにする、ということです。
単体テストの考え方/使い方 | マイナビブックスより引用した図をもとに加筆修正
プロダクトが成長するにつれて、テストありの方が費やす時間が相対的に短く済んでいることがわかります。
テストを書くのは手間ですし、はじめのうちは労力に見合う成果も得られないので、テストに対するモチベーションが生まれにくいかもしれません。
しかし、プロダクトが大きくなるにつれ、テストから得られる恩恵は増していきます。
読み進めるうちに、「何がなんでもテストを書いてやるぞ!」というところまで調教されてしまった感があります
日頃少しでもテストに関わる業務をされている方には、是非ともおすすめしたい1冊です!
おすすめ書籍2. エンジニアのためのドキュメントライティング
おすすめ度: (全ての開発者に読んでほしい!)
ドキュメントに対する心構え、書き方、運用方法などを体系的に述べている書籍です。
翻訳は、Podcast「fukabori.fm」でお馴染みの岩瀬氏です!
ドキュメントを読む人のことを「ユーザー」と捉え、いかにユーザーにとって有益なドキュメントを作るか、というノウハウが詰まった書籍です!
ペルソナを設定し、いかにユーザーのニーズに応えていくかというプロセスは、通常のプロダクト開発と全く同じに見えます。
ドキュメント作成も、プロダクト開発と同じ熱量で取り組むべきなんだと学びました。
他にも、以下の内容にハッとさせられました。
- いいドキュメントを書くには、ユーザーが誰で、何を達成したいかを理解する
- ユーザーが「流し読み」できるような構成にする
- 3つのCを意識する
- Clear(明確な)
- Concise(簡潔な)
- Consistent(一貫している)
全ての開発者の方におすすめできます!
おすすめ書籍3. Googleのソフトウェアエンジニアリング
おすすめ度: (組織を良くしたい人におすすめ)
実際にGoogleで働く社員にインタビューすることで集めた調査結果をまとめた書籍です。
本書を読むと、超巨大組織の開発プロセスに少しだけ触れられるような気がします
本書の内容を少しだけ抜き出すと、以下の通りです。
- 開発者体験を改善するための取り組み
- インフラの変更を頻繁に行うことで、コード全体の変更が容易になる
- 全てをオープンにすることで、バス係数を低く保つ
- バス係数とは、「プロジェクトを破綻させるのに必要な、バスに轢かれる人の数」
- 高速に失敗し、反復せよ
- 組織には「学びの文化」が必要
- 自分が「いつでも立ち去れる状態」を保つ
- コードは読者に向けて最適化すること
- プルリクエストは小さくする。レビュアーの負担を減らす
- テストの利点
- テスト規模は、小・中・大
他にも、優れたドキュメントを書くためのノウハウが記載されているのですが、その内容はほとんど前述の「エンジニアのためのドキュメントライティング」と同じで驚きました。
本書と「エンジニアのためのドキュメントライティング」を併せて読んでいただくと、より理解が深まるかもしれません。
また、テストについては11章から14章までかなりのボリュームで記載されています。
Googleのような超巨大組織のテスト戦略について知ることができるので、非常に勉強になります!
開発者体験を改善したい方、Googleの組織文化に触れたい方、大規模サービスのテストに興味がある方はぜひお手に取っていただければと思います!
(600ページ越えの書籍なので、腰を据えて読む必要があります!)
おすすめ書籍4. 達人に学ぶDB設計
おすすめ度: (テーブル設計をする機会のある方におすすめ)
テーブルとは何か?から始まり、正規化、アンチパターンなど、DBに関する知識を一通り学ぶことができる書籍です。
開発者であれば一読しておいて損はない内容だと感じました!
データベースを制する者はシステムを制す という直球なメッセージが印象的でした。
以上、技術書のご紹介でした。
ビジネス書
続いてビジネス書をご紹介します。
おすすめ書籍5. 限りある時間の使い方
おすすめ度: (全ての社会人におすすめ!)
80歳くらいまで生きるとして、あなたの人生は、たった4000週間だ。
本書は、上記の印象的なメッセージから始まります。
与えられた4000週間という時間をどう生きるべきか、について書かれた書籍です。
とはいえ、本書はいわゆるタイムマネジメント本ではありません。
むしろ逆で、「タイムマネジメントは不可能である」ということを伝えてくれる書籍です。
私がこの書籍を読んだ中で印象的だったメッセージは以下の3つです。
- 時間は、コントロールできない
- 仕事は、ベルトコンベアである
- 人は、存在するだけで奇跡である
1. 時間は、コントロールできない
多くの人は「時間を有効活用しなくては!!」と考えているのではないでしょうか。
「時間を有効活用しないと、人生が無駄になってしまう!」と考えている方もいらっしゃるかもしれません。
しかし、本当にそうでしょうか?
いかに時間を有効活用し、目の前のタスクを早く消化しても、「これが人生でやりたかったことなのか?」と疑問がわいてくる、と筆者はいいます。
そもそも「時間を活用する」(= コントロールする)ことなんてできないのではないか?というのが筆者の主張です。
2. 仕事は、ベルトコンベアである
人は、仕事の効率を上げ、速くタスクをこなそうとします。
速くタスクをこなせば、その先に「完全に自分のものになる時間」が待っていると考えているのかもしれません。
しかし、筆者は次のように主張しています。
仕事はベルトコンベアのようなものだ。
効率を上げれば上げるほど、ベルトコンベアの速度が上がり、結局別の仕事が速いスピードでやってくるだけである。
仕事の効率ばかり追い求めることに、意味はないのです。
3. 人は、存在するだけで奇跡である
時間はコントロールできないし、仕事はベルトコンベアのように次々やってくる。
じゃあどうしたらいいの?という問いに、筆者はこう答えます。
(略)
本当はあらゆる人が人生の一回性を直視すべきなのだ。
(略)
どんな経験も、それが最後の機会であるかのように大切にするべきだ
(略)
今を生きるための最善のアプローチは、今に集中しようと努力することではない。
むしろ、「自分は今ここにいる」という事実に気付くことだ。
自分が今ここにいること、それ自体がとんでもない確率の、奇跡的な出来事だと筆者は語ります。
個人的にも上記の内容は共感でき、腹落ちしました!
他にも、「余暇はちゃんと楽しもう」「なんの目的もない時間が大事」「誰かと時間をシェアするとよい」など、ハッとさせられるアドバイスがたくさん書いてあります。
日々のタスクに追われている方はぜひ読んでみてください!
少し気が楽になるはずです。
おすすめ書籍6. 人が増えても速くならない
おすすめ度: (システム開発に関わる方にはぜひ読んでほしい!)
よくありがちな、経営層や事業部と開発チーム間の軋轢に関してきっちりと言語化してくれている書籍です。
(技術書に入れるか迷ったのですが、開発者以外も想定読者に入っているように感じたのでビジネス書に入れました)
序文の中で、本書の内容を簡潔にまとめてくれているので引用します。
- 人を増やしたからといって、速く作れるわけではない
- 正確な見積もりを求めたら、見積もりが膨らんでしまう
- 一度に大きく作ろうとするほど、結局は損をしてしまう
全くもってその通りだな〜と頷きながら読んでいました。
他にも以下のような内容について書かれています。
- 作れば作るほど、生産性は落ちていく
- 見積もりを求めるほどに絶望感は増す
- プロジェクトを大きくすると失敗する
- プログラムは最も低い品質に引っ張られる
この書籍の内容が頭に入っていれば、組織全体が円滑に動くようになると思います。
開発者だけでなく、ぜひ経営層や事業部の方にも一読いただきたい書籍です。
ページ数も少なめで気軽に読めるので、ぜひお手に取ってみてください!
おすすめです。
おすすめ書籍7. 学びを結果に変えるアウトプット大全
おすすめ度: (自己成長したい方におすすめ)
- メルマガ、毎日発行 13年
- Facebook、毎日更新 8年
- YouTube、毎日更新 5年
- 毎日3時間以上の執筆 11年
以上のように膨大な量のアウトプットをしている筆者が、アウトプットの重要性をひたすらに主張している書籍です。
この書籍でいう「アウトプット」とは、例えば以下のような行為を指します。
- 読んだ書籍の内容を誰かに話す
- セミナーなどで質問する
- プレゼンや議論する
- 文章を書く
- 行動する
- 教える
- チャレンジする
「誰かに話す」ことも「質問する」ことも立派なアウトプットなのです!
アウトプットをすればするほど自己成長につながります。
本書を読んで以来、私自身もアウトプット量を増やすよう意識しているのですが、仕事の質が上がったような実感があり、自己成長を自覚しています。
自己成長したい!と考えている方におすすめです。
おすすめ書籍8. ニュータイプの時代
おすすめ度: (何か悩みがある人におすすめ)
現代社会の生き方に迷ったら、ぜひ読んでほしい一冊。
人々を「オールドタイプ」と「ニュータイプ」に分類し、対比させながら理論が展開されていきます。
オールドタイプ
従順で、論理的で、勤勉で、責任感の強い「優秀な人材」
ニュータイプ
自由で、直感的で、わがままで、好奇心の強い人材
これからの時代、「オールドタイプ」は急速に価値を失い、「ニュータイプ」が大きな価値を生み出していく、と述べられています。
読みながら「私ってもしかして、オールドタイプ?」と思う瞬間が何度もありましたが、ニュータイプになるにはどうすればいいかもきちんと書いてくれているので安心です
「正解に価値はない。だからこそ面白い」というメッセージが印象的でした。
おわりに
最後まで読んでいただきありがとうございました。
去年も同じような内容で別の書籍を紹介しているので、よければご覧ください!
それでは。