この記事は「新人プログラマ応援 - みんなで新人を育てよう!」イベントの参加記事です。
はじめに
この春から3年目になったので、今まで読んだ技術書のうち特に入門書としておすすめしたい本5冊を(独断と偏見で)まとめました!
ネットワーク: 「3分間ネットワーク基礎講座」
ネットワークの各階層を、物理層から順番に解説した本です。1単元が短く、説明も対話形式なのですらすら読めると思います。
入社したては「ネットワーク、HTTP以外何も知らない 」状態だったので、会議中にいつでも開けるように手元に置いていました。
姉妹本もおすすめです。
実装: 「リーダブルコード」
「コードは他の人が最短時間で理解するように書かなければならない」をスローガンに、読みづらい/誤解されるコードを改良する方法を紹介しています。
実装したら立ち止まって「実装を知らない人がこの名前を見たらどんな機能を想像するかな?」と考えるクセがつきました。
API設計: 「Web API the good parts」
「利用者が使いやすいAPIを設計するには?」を解説した本です。URI、メソッド、ステータスコードにどのような意味を込めるべきかのお作法がまとめられています。API設計の話し合いでも引用されます。
チーム開発: 「レガシーコードからの脱却」
コードを価値の高い状態に保つための取り組みについてまとめた本です。
「なぜPRはすぐマージしたほうがいいの?」「なぜストーリーは短いほうがいいの?」など、OJTで初めてチーム開発に参加したときの疑問に答えてくれました。
設計: 「UNIXという考え方」
UNIXコマンドの美学についてまとめた本です。全体を通じて、たくさんの機能を持ったツールを1つ作るより、単機能のツールを組み合わせるほうが上手くいくことを伝えています。
システムに自前機能を足したい欲求にかられたときは、この本を思い出して「他との組み合わせで代用できないか?」と考えるようにしています。
番外編
入門向け技術書ではありませんが、おすすめしたい本をあと2冊紹介します。
コンテナの歴史?: 「コンテナ物語」
「コンテナ」といっても、Dockerではなく荷物を詰める箱のほうの話です。コンテナで流通革命を起こしたマクリーン社の盛衰を描いたノンフィクション小説です。
荷物の形を統一することで港が自動化、大規模化した点や、業界の規格統一で独自規格の先駆者がかえって不利になるところ等、(ITの)コンテナで起きている歴史と鏡写しになっていると感じました。
個人的イチ押し: 「Go言語でつくるインタプリタ」
1冊かけて、オリジナルのプログラミング言語を1から作る方法を紹介しています。この本の写経でGo言語を覚え、プログラミング言語の動作原理を学び、テスト駆動開発(TDD)を知りました。一石三鳥の本です!
通読するには3週間ほどかかりました1が、長期休暇等時間があるときに挑戦してみてはいかがでしょうか?
おわりに
以上、おすすめしたい本5(+2)選でした。今後も本を読んで新しい考え方を身に着けていきたいと思います。
最後までお読みいただきありがとうございました!
-
この本は、
無限に時間がある学生時代の夏休みに読みました。 ↩