エンジニアになって1年目に読み終わった本を振り返る
はじめに
こんにちは!PREVENTで働いているバックエンドエンジニアのとぴ(@topi_log)と申します!
2024年10月にPREVENTにジョインしてから丸っと1年が経ちました。月日が経つのは早いですね。
良い区切りなので、この1年で読んだ本を振り返りながらまとめました。
読み終わった本たち
ざっくりグループ分けしてみました(AIが)
それぞれ簡単に読んだ感想も添えていきます。
ビジネス・コンサルティング
コンサル一年目が学ぶこと 新人・就活生からベテラン社員まで一生役立つ究極のベーシックスキル30選
コンサルとは無縁ですが、エンジニアの友人が読んでいたので読んでみました。
コンサル関係なく社会人スキルが身につくビジネスバイブル本です。
パワポ作成術は自分には馴染みなかったのでさーっと読みましたが、ショートカットキーを覚えるかどうかで作業効率変わるのは「確かに」と納得したので、自分が使っているツールのショートカットキーは覚えていこうと思いました。
就活で面接練習していたときはPREP法を意識していましたが、ビジネスコミュニケーションにおいても通用するとわかったので、とくにテキストコミュニケーションを取るときは意識しています。
図解 コンサル一年目が学ぶこと
こちらは上の「コンサル一年目が学ぶこと 新人・就活生からベテラン社員まで一生役立つ究極のベーシックスキル30選」の図解付きです。
内容が概ね同じだったのでさらーっと目を通しました。
文章より図がある方が頭に入りやすい方はこちらをおすすめします。
イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」
タスク分解・課題解決においてまず読んでおきたい本でした。
現在プロジェクトマネージャーとして担当しているプロジェクトがあります。この本を読んでからプロジェクトのあり方・ミーティングでの考え方が以前より磨きがかかったような気がします。
書籍全体としては、新規で何かやるよりかは既存でやっているものに対しての課題解決が強めの印象を受けました。
会計クイズを解くだけで財務3表がわかる 世界一楽しい決算書の読み方
「ビジネスサイド全くわからん」「エンジニアとして武器を増やす選択肢にビジネスが分かるもありなのか?」と悩んでいたときに読んだ一冊です。
ビジネスわからん、とよく雑談する尊敬するエンジニアに漏らしたところ「決算書読めると見えてくるものあるよ」とおすすめされたのがこちらの書籍です。ちなみにあと3冊ほどおすすめされましたが読み終わったのはこれだけでした。
イラスト付きで読みやすく、クイズ➡︎解説の流れで読んでいくため、自分でも考えることができ頭に入りやすかったです。
ビジョナリー・カンパニー 弾み車の法則
上記決算書を紹介してくださった方と技術広報について話していたときに紹介された本です。
文章量が少ないながらに実在する企業の例を交えた内容でとても読みやすかったです。
テンポ感が結構好きでした。このマインドは忘れないようにしたいです。
チームマネジメント・リーダーシップ
小さなチーム、大きな仕事――働き方の新スタンダード
「小規模でも大きな成果を出すには?」
そんなバリューを出すための考え方やチームビルディングが学べました。
マネジメントに興味が出始めたときに読み始めましたが、思ってた以上に読みやすくすらすら読み終わりました。
定期的に読み返したいと思う一冊です。
プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド
ひそかにウォッチしている尊敬しているエンジニアがXで良かったと呟いていたので読んだ本です。
プロダクトマネージャー関係なく読める本とのことだったので読んでみましたが、学びが多く、何回か読み返しています。
ここで学んだことをプロジェクトで試すこともしたので、タイトル通り1日目から使える実践向けの内容でした。
本を読んで試したことは下記のスライドに載せています。
メンターになる人、老害になる人。
友人エンジニアが「面白そうな本みつけた」と共有してくださった本です。
業務でメンターになることはまだまだないのですが、純粋に面白そうだったので読みました。
メンターと老害は紙一重。コミュニケーションの取り方、考え方がどちらになるか分かれることがよくわかる本です。
老害にならないよう適宜自分の行動は見つめ直したいです。
プログラミング基礎・アルゴリズム
データ構造とアルゴリズム 上達のための基本・常識
決算書を紹介してくださった方からおすすめしていただいた書籍です。
最初は面白く読んでいたのですが、だんだん難しくなっていき後半は「読み切る」が目的になっていたのが反省点です。
前半部分だけでも読んでよかったと思ったので、またリベンジしたいです。
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識
輪読会で読んだ本です。
友人のエンジニアとお互いの悩みの解決に書籍から得られるものがないかと話したとき、実装方法など具体ではなく設計など抽象を学んだ方がよいのではないか、と考えに至りました。
そこで見つけたのがこちらの書籍です。このシリーズは読みやすいと聞いていた通り読みやすかったです。
輪読会メンバーが使用言語が異なることもあり、言語ではなくこういったどこにおいても活用できる本は輪読会しやすくてよいですね。
余談ですが、今月10月からは「ネットワークはなぜつながるのか」を輪読会で読むことになったのでこちらも楽しみです。
Go言語Webアプリケーション開発
業務でGoを使うため勉強のために読みました。先輩に何冊か紹介していただいたうちの一冊です。
業務関係なく経験した言語が複数あるため、「まあいけるっしょww」と読み始めましたがやはり言語ごとに何かしら難しいところはありますね…
ゴルーチンはC#(Unity)でコルーチンを経験してるので同じノリだと思ってます。チャネルはいまいちわかりません。
他の本もまだ手付かずなので読んでいきたいですが、Goのタスクをいくつかいただいているのでそれをやっていくのが一番近道なんじゃと思わなくもないです。が、基礎的な部分は書籍インプットが固いと思ってるので引き続き学習していく所存です。
ソフトウェア設計・アーキテクチャ
Clean Architecture 達人に学ぶソフトウェアの構造と設計
クリーンアーキテクチャといえば真っ先にこの本が出てくる気がします。
「なるほどな〜」とわかった(気になっている)部分と「なるほどわからん」な部分があったので、また読み返したいところ。
Railsでアプリをよく作っていたときは、rails new
コマンドを打つときにDBを選びたい関係で「DBどうしようかな」を先によく考えてました。しかし言われてみるとドメインに関わる処理を先に書けばそういったものは後でどうとでもなるというのは確かにと納得の部分です。その観点から処理の切り分け方もなんとなくわかったような気がします。
また読もうと思った一冊です。
ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用
エンジニアになって一番最初に読んだ本です。
オブジェクト指向の話を友人たちと話していたときに、先に記載した決算書などを紹介してくださった方が「これはおすすめ」と紹介してくださりそこから輪読会を始めました。
メンバーが少し変わってますが今も続いている輪読会で最初に読んだ本でもあります。
著者の主張が強めで「何かあったんだろうな…」と思いながら読んでいましたがとても面白かったです。
ある程度PHPも読めるのでコードもわかりましたが、PHP分からなくても何となくわかると思うのであまり気にしなくてよいような気がします。
OCPの説明でFizzBuzzのコードをだんだん組み替え可能なものにしていく過程がすごくよかったのでおすすめです。
(1年経ち目次を見返したのですがSOLIDやパッケージ原則はパッと出てこなかったので勉強しないと…)
[改訂第2版] [入門+実践]要求を仕様化する技術・表現する技術 -仕様が書けていますか?
プロジェクトマネージャーとしてプロジェクトを進めることになり、運用部門からヒアリングをしていたときに読んだ本です。要件定義に関してキャッチアップしたいと思っていたとき、「そういえば知り合いがXでこれ系のやりとりしていたな」と思い出して見つけました。こちらも輪読会で数ヶ月かけて読み終えた本です。
仕様に落とし込むより前の段階、要求定義、要件定義から丁寧に解説されており非常にわかりやすかったです。
組み込み系をベースにした内容だったため、アジャイルというよりウォーターフォール的な考えでの書籍でしたが「手戻りを発生させない」ようにする観点でみると学びが多い一冊です。
Tidy First? ―個人で実践する経験主義的ソフトウェア設計
発売当初、話題になっていたので買った本です。
リファクタリングの本と聞いていたのですが、「コードの整理」とリファクタリングより一歩前の内容でした。
リファクタリングとコード整理って同じじゃないの?とも思えますが、微妙に違うニュアンスで紹介されています。
オライリー本は厚い本が多い印象ですが、こちらは薄いのでサクッと読めます。
インフラ・ネットワーク
TCP/IPの絵本 第2版 ネットワークを学ぶ新しい9つの扉
TCP/IPの基礎的な部分をイラスト付きで解説している本です。
導入の本として読みやすく、ネットワークの入り口の本としてよいなと思ってます。
「ネットワークわからん」という方にもおすすめです。
Amazon Web Services基礎からのネットワーク&サーバー構築改訂4版
AWSのサービスをハンズオン形式で学習したかったときに買った本です。副業で面識のあるエンジニアの方が「AWS勉強するならこれが本当におすすめ」と紹介していたところから知りました。
やることとしてはEC2にWordPressを立てるのですが、懇切丁寧に解説されておりハンズオンしやすかったです。
AWSはUIが変わりやすいため、書籍の通りのUIではないものの理屈がわかればやることは一緒なのであまり気にしなくてよさそうです。
私はTeraTermを使っておりEC2へアクセスする際に詰まったため、AWSの学習の前にある程度自己解決力がないと進めるのは難しいかもしれません。
データベース・SQL
SQLアンチパターン
年末あたりに輪読会で読んだ本です。SQL、と一括りになってますがテーブル構成からSQLの発行の仕方、アプリ側の話などデータベースに関して多岐にわたる実用的なパターンが書かれており、読んでいて面白いです。
イメージがつくものと付かないものもありましたが、ここで覚えたことをアウトプットする機会があり「読んでよかった〜〜」と喜んだことがあります。
特にバックエンドエンジニアであればまず押さえておきたい本です。
リンクは第1版ですが、少し前に第2版が発売されました。一部内容が異なりますが今から読むなら第2版がよいでしょう。私も現在は第2版の方を輪読会で読んでいます。
失敗から学ぶRDBの正しい歩き方 Software Design plus
実務で「論理削除はアンチパターンなので調べてみるとよいよ」と先輩からアドバイスをいただき、調べようと思いつつ放置していました。
そんな折、Xで友人が論理削除の件に触れつつこちらの書籍を紹介していたので歓喜に震えながら購入しました。
丁度、自分の周辺で「論理削除」の話が非常に話題になっており本書の著者も触れていて「論理削除は話題になるんだなぁ」と感想を抱いた記憶があります。
SQLアンチパターンについて触れていることも多いので、先にSQLアンチパターンを読んでおくとさらに楽しいです。こちらを読んでからSQLアンチパターンを読んでも楽しいと思います。
実務ベースでの語り口で非常に読みやすく、1日で読み切りました。初学者からでも読めるおすすめな本です。
開発ツール・プロセス
実用 Git 第3版
「基本的なGit操作はわかるけど小難しいことは分からない」と友人と話していたときに、この本読んでみようと輪読会した本です。
Gitコマンドの解説だけでなくGitの内部的な話も書かれており、結構込み入った内容でした。
実は途中で「輪読会で読むというより、必要に応じて読むのがよさそう」と友人と結論づけたので最後まできっちり読んだ本ではないです。
ただ半分以上は読んだので読んだカウントしています。
システム設計の面接試験
面接試験を想定したインフラ構成を考える書籍です。
具体的なサービス名を用いた解説というよりはもう少し抽象的なところから解説しています。
全体的に大規模向けの考え方なため、小規模開発や利用ユーザーがそこまで多くないアプリケーションではそこまで活かせないかもしれないです。ただ「小規模からスケールアップ」する方法も書かれているので、まずはミニマムにだんだんスケールアップする、といった方針であれば読んでおくと大変役に立ちそうです。
これを読んだ当時はまだエンジニアになって半年も経ってなかったため、今読んだらまた学びがありそうだなと思ってます。
キャリア・自己啓発
#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった
弊社の開発部では2週に1度、成果報告会というゆるめの報告会があります。その報告会の中で先輩が「読んで面白かった」と紹介していたのがこちらの本です。
著者の思考も含め赤裸々に書かれている書籍で、口語チックに書かれていることもありすらすら読めます。
私は書籍を書く方は遠い存在の印象をよく持ちます。しかし本書の章や区切りの締めの文章を見て、著者も本を書くのはおそらく初めてなんだろうなというのが窺え、身近な人物と感じられました。
昨今はAIの使い方、向き合い方にフォーカスがよく当たります。こちらの書籍は「AIを使いまくって行く中で得た学び」を「自分の中に落とし込む」過程が書かれており、一概にAIを使いまくるのが悪いというわけではないのかもしれないと自身の考えを刷新できた一冊です。
100話で心折れるスタートアップ
タイトルに惹かれて買った本です。スタートアップにはシリーズA,B,Cなどありますが、本書は「今から会社作る!作った!」から始まるためシーズンAから話が始まります。
最後の主人公の行動は私自身(起業ではないですが)同じような覚えがあるためとても共感しました。
人って何度でも立ち上がれるんだなと励みにもなる一冊です。ただし書籍の半ばは読んでいてちょっと胃が痛かったです。
全体の振り返り
全体の振り返りをします。
比率
割合的には下記のようです。
- ビジネス・コンサルティング: 5冊(21.7%)
- ソフトウェア設計・アーキテクチャ: 4冊(17.4%)
- チームマネジメント・リーダーシップ: 3冊(13.0%)
- プログラミング基礎・アルゴリズム: 3冊(13.0%)
- インフラ・ネットワーク: 2冊(8.7%)
- データベース・SQL: 2冊(8.7%)
- 開発ツール・プロセス: 2冊(8.7%)
- キャリア・自己啓発: 2冊(8.7%)
まさかのビジネス・コンサルティングが一番多かったです。読みやすい本がそちらに偏っていたので必然的にそちらに偏ってしまったようです。
とはいえカテゴリー細かめに分けているため、もう少しざっくりと分けてみました。
- エンジニア向け (13冊 - 56.5%)
- 技術的専門知識
- データ構造とアルゴリズム
- TCP/IPの絵本
- Amazon Web Services基礎からのネットワーク&サーバー構築
- 失敗から学ぶRDBの正しい歩き方
- オブジェクト指向でなぜ作るのか
- SQLアンチパターン
- Go言語Webアプリケーション開発
- 設計・アーキテクチャ
- CleanArchitecture達人に学ぶソフトウェアの構造と設計
- ちょうぜつソフトウェア設計入門
- 要求を仕様化する技術・表現する技術
- 開発ツール・プロセス
- 実用Git
- Tidy First?
- システム設計の面接試験
- 技術的専門知識
- 非エンジニア向け (10冊 - 43.5%)
- ビジネス・経営戦略
- コンサル一年目が学ぶこと
- 図解コンサル一年目が学ぶこと
- イシューからはじめよ
- 楽しい決算書の読み方
- 弾み車の法則
- 100話で心が折れるスタートアップ
- マネジメント・リーダーシップ
- 小さなチーム、大きな仕事
- プロダクトマネージャーの仕事
- メンターになる人、老害になる人
- 自己啓発
- #100日チャレンジ
- ビジネス・経営戦略
それでもエンジニア向けは半分ですね…。自分が思ってるより技術書を読んでいなかったようです。これは反省ですね。
特に分厚い本は読むのに時間がかかるため避けがちです。
本を知った経緯
各書籍の感想で知った経緯を書いていますが、多い順でざっくり下記のようになっています。
- 知人からの紹介(Xを含む)
- Kindle漁って見つけた
- 目的があって探して見つけた
圧倒的に知人からの紹介が多いです。ありがたいことに「学びたいことが多いのに何を読めばよいのか分からない」状態はなく、ただただ積み本だけが溜まっていく現在です。
雑談の中で紹介していただいたり、ウォッチしていたら紹介されていたりとしますが一つ言えるのは「本をいっぱい読んでるエンジニアが近くにいると自然と情報が入る」ことです。
個人的には教えていただいてばかりに申し訳なさも混じるので、いずれは「これよいよ!」と言えるようになりたいなと思う日々です。
2年目の"読書"の目標
記録をつけるようになったのは後半からでしたが、確認したのは読了(判定したもの)は23冊でした。
これ以外にも「本当に積んでいる本」「読み始めて積んでいる本」がざっと90冊以上あります。そして息を吸うように本を買う癖があるので今後も増える自信があります。
2年目の読書における目標は
- 1年目は23冊読んでいたので、2年目は24冊以上を読む
- 技術書:それ以外で6:4の割合を目指す
- 厚さに負けない
の3つを立てます!
終わりに
この記事で感想を載せていく中で「意外と覚えてない」ことに気づきました。何となくこういうことが書かれていたのは覚えているのですが、具体的な部分は思い出せるものと思い出せないものがあります。
やはり定期的に読み返し定着させていくのが大切だなと再認識しました。
1年後は果たして何冊読めるのか!?来年もお楽しみに!!
Discussion