SNSや友人との会話の中で、ITエンジニアにおすすめの本を聞いたことはあっても、種類が多くてどれを読めばいいのか迷った経験がある方もいるのではないでしょうか。
そこで今回は、レバテックフリーランスがレバテック開発部に「ITエンジニアとして活躍するうえでおすすめしたい本」についてアンケートを取り、初級〜中級エンジニアを想定して本を選出してもらった結果をこちらに記載しました。
ITエンジニアとしてもっとスキルをつけたい方はもちろん、ITエンジニアになりたての方もぜひ参考にしてください。

プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。 第3版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第2版で好評だったハードウエアに関する説明や、C言語によるサンプル・プログラムも更新しています。巻末の補章のC言語の解説「レッツ・トライ C言語! 」も最新仕様に沿うよう改訂しています。

改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。筆者の経験をふまえ構成や解説内容を見直し、より実践的な一冊になりました。 システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。 コードの可読性が低く調査に時間がかかる、 コードの影響範囲が不明で変更すると動かなくなる、 新機能を追加したいがどこに実装すればいいかわからない......。 変更しづらいコードは、成長できないコードです。 ビジネスの進化への追随や、機能の改善が難しくなります。 成長できないコードの問題を、設計で解決します。

達人プログラマー 熟達に向けたあなたの旅(第2版)
本書は、David Thomas and Andrew Hunt, 「The Pragmatic Programmer 20th Anniversary Edition」(Addison Wesley, 2019)の日本語版です。より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。
経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。

オブザーバビリティ・エンジニアリング
本書は、近年のクラウドベースのソフトウェアシステム開発における設計プラクティスなどにおいて触れられる概念「オブザーバビリティ(可観測性)」に関する書籍です。オブザーバビリティとは何か、どのように役立てるのかなど、登場の背景から実践方法、組織、企業への適用といった幅広い視点で解説します。今後、ソフトウェアシステムの開発においてオブザーバビリティが果たすであろう、より大きな役割についても触れています。 さらにSlackのゲスト寄稿者により、テストとデプロイプロセスへのオブザーバビリティの適用と、パイプラインによるテレメトリー管理についてのケーススタディを紹介。本書はソフトウェアに関わる多くの人々にとって今後より一般化するオブザーバビリティを知る第一歩となるでしょう。

システム運用アンチパターン
上層部がDevOpsに理解のない組織で働き、組織構造を変える権限を持っていない開発者であっても、チームにDevOpsを導入するための現実的な方法を紹介します。 重厚な承認プロセス、可視化されていない運用、プロセスの最後でのみ行われるソフトウェアテスト、ノイズだらけのアラート、インシデントから学習しない習慣、時間外のデプロイ、情報のため込みなどを取り上げ、ソフトウェアシステムの開発運用が滞るチームや組織に共通してみられる陥りがちな状況や犯しがちな間違いをアンチパターンとして紹介します。そして管理職やマネージャでなく、エンジニアが実行し、繰り返すことで改善できる具体的な行動を解説します。 組織で必要とされる変化を、エンジニアが行動することで実現する本書は、ソフトウェアシステムをよりよく開発運用したいエンジニア必携の一冊です。

「実践ドメイン駆動設計」から学ぶDDDの実装入門
CodeZineの人気連載を書籍化。 エリック・エヴァンスのドメイン駆動設計(DDD)の考え方を、実際に導入するためには、それぞれの開発現場に合わせて、さらに具体的に噛み砕く必要があります。 そこで本書は、このDDDの考え方を実践に落とし込んだ書籍「実践ドメイン駆動設計」の構成に沿って、現代の開発現場において重要な部分にフォーカスし、DDD実装のノウハウを解説しました。図版を多く用い、DDD初心者にも分かりやすく解説しています。 「DDDという言葉を知っているものの、全容を理解できていない」「DDDを自分たちの現場に導入したいが、何から始めたらよいか分からない」といった悩みを抱えた開発者は必見の入門書です。

プログラマのためのSQL
SQLの第一人者であるジョー・セルコの名著『Joe Celkos SQL for Smarties, Fourth Edition: Advanced SQL Programming』の日本語版です。本書は、SQLの実務経験があるエンジニアを対象として、SQLプログラミングの基礎的な考え方から、テーブル操作、グループ化、集計関数、クエリの最適化など、SQL全般について詳しく解説した「SQLプログラミングバイブル」です。基本から高度なテクニックまで、網羅的にSQLプログラミングの知識を習得できます。翻訳・監修は『達人に学ぶSQL徹底指南書』でおなじみのミック氏が担当。SQLエンジニア必携の一冊です。