📚

ITエンジニア3年目が今まで読んできた本をまとめる

2023/06/24に公開

はじめに

2023年4月でITエンジニアになって3年目に入りました。今までどんな本を読んできたっけ?と思ったので覚えてる範囲でまとめていく。書籍に限定してますのでご了承ください

※1. ひとこと感想を添えていますが、個人の意見として読んでいただけると幸いです
※2. 最後にもお聞きしますが、「この本も良いよ!」というのがあればコメントで教えていただきたいです

誰に向けたもの?

  • ITエンジニア3年目を迎えた自分に対して
  • 最近ITエンジニアになった方 (ご参考になったら嬉しいです)
  • 読む本を探すのがめんどくさいので人の意見を参考にしたい方 (気になるものが1つでも見つかれば幸いです)

プログラミング言語/フレームワーク

PHPフレームワークLaravel Webアプリケーション開発バージョン8.x対応

「Laravelの雰囲気で使ってる」という思いから購入

Laravelの基本機能を丁寧に説明してくれます。自分はサービスコンテナの話が好きです。
また、レイヤードアーキテクチャについて触れる部分があるので1ファイルになんでも書いて良いわけではないというのを考えるきっかけになります。

読んだ後にLaravelのドキュメントを読むと以前より読みやすくなってたりなってなかったり..

JavaScript Primer

「React触りたいけど、そもそもJavaScript知らない。Promise??」ということで購入

わかりやすいのが良いです。サンプルコードも豊富
非同期やPromiseの部分は特にお世話になりました。nodeで簡単なアプリケーションを作る章もあるので基礎を学んで何か作ってみたいという方にオススメです

りあクト! TypeScriptで始めるつらくないReact開発 第4版【① 言語・環境編】

ジャケ買い笑

Reactのことはあまり言及されません。ES6とかモダンJavaScriptの話、TyprScript、関数型プログラミングの話です

モダンJavaScriptの基本から始める React実践の教科書

「React書きたい!」という思いから購入

難しすぎず簡単すぎずちょうど良いです。1周読んだ後に手を動かしてみました。わからない部分はまた読みながら...と教科書的な使い方ができます。
React何もわからないからは卒業できた気がします

コーディング

リーダブルコード

周りから勧められて購入

良い本だと思います。「ひとまず読んで」とまでは言いませんが、読んでおくと良いのでしょう(周りの人はみんなそう言う)

読みやすいコードのガイドライン 持続可能なソフトウェア開発のために

職場で尊敬してる方から紹介されて購入

自分はリーダブルコードよりこちらの本を読んでる回数の方が多いです。新規開発プロジェクトを終えた直後に読みましたが、学びが多かったです。自分のコーディングが恥ずかしくなりました。コードレビューや設計についても少々言及されてます

この本が好きすぎて社内で布教するほどハマりました。何回も読み直して自分のコーディングに対する考えを深めていきたい

テスト駆動開発

「テスト駆動開発したい!」という思いから購入

テストコードをなぜ書くのかという疑問に対する一つの答えや自信を持ってコードと向き合うという考えを得ることができました。
サンプルコードがJavaのコードですが、読みにくいということはないです。むしろJavaなの読みやすかったです

テスト駆動開発を実務に全部投入することはできていませんが、紹介された思想や開発の進め方は実務に投入できました。アプリケーション開発における堅牢さを高めるきっかけをくれた書籍です。
自分はこの本好きです

Linux

Linux+コマンド入門 シェルとコマンドライン、基本の力

「Linuxコマンド知らん」ということで購入

基本コマンドが紹介されてるので「あのコマンドなんだっけ?」となったときに参考書として利用しています。

オブジェクト指向

オブジェクト指向でなぜつくるのか 第3版

オブジェクト指向の理解を深めるために購入

オブジェクト指向が登場する以前のプログラミングについて言及していてオブジェクト指向ができたことで何ができるのかを知ることができます。
勉強というより読み物として楽しめます。ソフトウェア開発の歴史みたいなのを感じることができます

アプリケーション設計を学ぶ上でオブジェクト指向の知識と考えは大きく活きます

設計

Java言語で学ぶデザインパターン入門第3版

デザインパターンという言葉しか知らなかったので購入

一通りのデザインパターンを知ることができます。自分はフレームワークを使って開発することが多いので直接的にデザインパターンを実装することはないのですが、概念だけでも理解しておいた方が良いと思います。次に紹介する2つの本はデザインパターンで学んだ知識が活かせました。

アプリケーション設計を学ぶ上でデザインパターンの知識と考えは大きく活きます

現場で役立つシステム設計の原則

設計に興味を持ち購入

〇〇駆動設計とか〇〇アーキテクチャというのではないですが、値オブジェクトやドメインオブジェクト、Di, サービスクラスなど次のステップに進む上で必要な知識と感覚を得ることができました

楽々ERDレッスン

職場の先輩から借りて読む

初めてDBのテーブル設計を任された時に読みました。実践的な部分が多く、習うよりなれろというタイプの本です。自分も実際にAmazonの購入履歴画面をもといんテーブル設計をやってみました。
SQLのことはあまり紹介されてないので別の本を読むことをオススメします

Web API The Good Parts

WebAPIの作成ばかり業務でしていて自分が作成してるものが正しいのか知りたくて購入

WebAPIって何?なんであるの?の疑問に回答を出しています。
また、HTTPのステータスコードや認証についても言及しています。外部にWebAPIを公開し、第三者に利用してもらうときの注意点も紹介されています。
WebAPIを提供するものとWebAPIを利用するもの両者にとっても良書になります。

「自分は知らないうちに使ってるもの多いな」という気づきの多かった本です

わかる!ドメイン駆動設計 ~もちこちゃんの大冒険~

「DDD?何それカッコよ」という軽い気持ちで購入

DDDって何?というのは解消されました。読んだ後、「思想的なことは少しわかった。でもこれどうやって実務に取り入れてくんだ?」となりました。確か1年目に読んだのですが、「ドメイン駆動設計はまだ自分に早い」と知ることができました。

ドメイン駆動設計って何?という疑問を払拭するには向いている書籍ですが、実践に落とし込むにはもう少しコードレベルでの理解や実践が必要になると思います。

インフラ関連

サーバ/インフラを支える技術

DBのアップグレード業務を経験し、インフラの基礎知識の無さを痛感し購入

冗長化や安定さをインフラで実現する方法が丁寧に説明されていて助かりました。
ただ、AWSなどのクラウドサービスを使う方には直接的な学びは少ないかもしれません。AWSだと意識しなくて良い部分を自分でやるなら?というふうに読むと良いです。

"直接的な学びはない"と話しましたが、間接的な学びは多いです。クラウドサービスだろうが、オンプレミスだろうが基礎理論は変わらないはずですので。

マスタリングTCP/IP 入門編

大学時代の授業で挫折した本を読む

すごく細かいく紹介されててボリュームがある
ボリュームがあるが故に実務ですぐ活かせる部分は少なかった印象。インターネットに詳しくなりたい!という強い思いがある方は読むと良いが、全員が読む必要があるかと聞かれると回答に困る

RFC(Request for Comments)を知るきっかけになったので自分はこの本には感謝してる

SQLアンチパターン

会社で紹介されて購入

「外部キー設定しよう」とか「正規化をしよう」という内容が紹介されていた。
経験が少ない段階で読んでしまったので3年目になった今だから読み直したい本

SQL実践入門

SQLアンチパターンと一緒に会社で紹介されて購入

SQLの本ですが、DBエンジンの説明から始めてくれます。SQLもSELECT〜GROUP BY、インデックスの使い方まで幅広く紹介されている。このクエリは遅くなるよというのも教えてくれる。

SQLを学ぶ最初の1冊としてオススメですし、都度読み直しや参考にしたい。

NOSQLの基礎知識

AWS DynamoDBを触ることになり購入

NoSQLの歴史から理論まで網羅されています。実際にNoSQLを使って何かを作ることはないので実践向けというより概要理解向けと捉えていただきたいです。
RDBとの違いやNoSQLがどんな場面で利用されてるのか他社事例を紹介してるので「NoSQLやってみたいんだけど..」と思ったら読むのも良さそう

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

dockerを今まで触ってこなかったので1から学びたい。できるだけわかりやすい本で学びたく購入

わかりやすい。ハンズオン形式で学べるし、図解が多いのも個人的にポイント高かった。
docker-composeで複数コンテナを立ち上げるところまで手を動かして体験できます。この本をきっかけに自分でアプリケーションコンテナとDBコンテナを立ち上げてみると理解が深まります。

Kubernetesも紹介されますが、自分は業務で使ってないので読んでおりません

セキュリティ

暗号技術入門 第3版 秘密の国のアリス

暗号技術について興味を持ったので購入

数式が出てきますが、説明が丁寧なので容易に読み切ることができます。図解も豊富です。暗号技術がなぜすごいのかという裏付けをすることができるきっかけになります。暗号技術を実装することは少ないと思いますが、知っておいて損はないです。

雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド

Auth0を触って「なんだこれ?わからん」と思い購入

書籍ではGoogleを題材に0Auth2.0の仕組みを紹介してくれます。Auth0でなんとなく触ってた部分がなんだったのかを知ることができました。短い本ですのですぐ読めます。

「この本を読んだからといってAuth0やGoogleを使った実装がすぐできるようになるわけではない」というのは覚えておいてください。あくまで仕組みを理解できる本です

ソフトスキル

CAREER SKILLS ソフトウェア開発者の完全キャリアガイド

ITエンジニアとしてキャリアをスタートするため購入

ジュニアクラスのITエンジニアが読みには早いかも

プログラマが知るべき97のこと

https://プログラマが知るべき97のこと.com を見つけて購入

「ボーイスカウト・ルール」や「学び続ける姿勢」は自分が大事にしたいことになりました。ITエンジニアとしてもありますが、社会人として何を大事にしたいのかを探せる本だと思います。

コンサル1年目が学ぶこと

仕事で配られたので読んだ

"コンサル"という言葉が入るので意識高い本かと思ってましたが、そんなことなかったです。
スキルがないけどどうやって活躍すれば良いのかみたいなのが書いてあります。めちゃくちゃスキルも経験もない自分がプロジェクト内でどうやって活躍すれば良いのかを考えるきっかけになりました

コンサルとか関係なくどの業界の新人さんが読んでも違和感ないと思う

Team Geek

「エンジニア組織ってどんなもの?」と興味を持ち購入(職場の方の推薦もあった)

チームを作っていこうという本です。「技術は簡単だけど、人間は難しい」という言葉が出てきて「確かにな!!」と共感しました
チームで開発するとはどういうことでどんなことが起こるのか紹介されています。個人開発をする時間よりもチーム開発をする時間の方は絶対的に長いので読んでおいて損はないです。
チームを作るって難しいです。この本を読んだからといってできるようになるわけではないですが、引き出しとして知っておきたい内容でした。

エンジニアリング組織論への招待 不確実性に向き合う思考と組織のリファクタリング

職場で尊敬してる方から紹介されて読む

メンタリングのところが自分はすごく参考になりました。
後輩との接し方や後輩の成長を促すために何ができるのかを考えていたときにたくさん試させていただきました。"コミュニケーションとは何か"を考えることができました

マネージャーさんが読む本っぽいですが、2年目で一回読んでみるのも悪くなかった。

まとめ

これが自分が3年目までに読んだ本です。少ないと思う方もいらっしゃるでしょう。読者の方はもっとたくさん読んでると思います。「是非これを読んでほしい!!」というご意見がありましたらコメントで教えてください

Discussion