その他:オススメ技術書・読むべき技術書

SNSや友人との会話の中で、ITエンジニアにおすすめの本を聞いたことはあっても、種類が多くてどれを読めばいいのか迷った経験がある方もいるのではないでしょうか。

そこで今回は、レバテックフリーランスがレバテック開発部に「ITエンジニアとして活躍するうえでおすすめしたい本」についてアンケートを取り、初級〜中級エンジニアを想定して本を選出してもらった結果をこちらに記載しました。

ITエンジニアとしてもっとスキルをつけたい方はもちろん、ITエンジニアになりたての方もぜひ参考にしてください。


プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識

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

DNSがよくわかる教科書

本書では、DNSの仕組みからドメイン名のルール、主なリソースレコードの内容、コマンドによる動作確認、DNSの運用ノウハウ、DNSSECとプライバシー保護の基礎知識、DNSに関する最近の主な動きまで、順を追ってやさしく解説します。 とかくわかりづらいと言われがちなDNSですが、1つずつ用語を知り、仕組みの全体像を押さえてから細部に入っていくことで、驚くほどすっきり理解できます。本書を通して、DNSの正しい知識と使い方を体系的に学んでいきましょう!

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

本書は、ベストセラーの『マスタリングTCP/IP 入門編』を時代の変化に即したトピックを加え、内容を刷新した第6版として発行するものです。豊富な脚注と図版・イラストを用いたわかりやすい解説により、TCP/IPの基本をしっかりと学ぶことができます。プロトコル、インターネット、ネットワークについての理解を深める最初の一歩として活用ください。

GitHub実践入門

GitHubの実践的な使い方を、実際に手を動かす形で解説する書籍です。初学者の方にもわかりやすいよう、基本的なGitやGitHubの使い方から、「ソーシャルコーディング」の目玉機能であるPull Requestの送り方・受け方まで解説します。また、外部ツールとの連携、GitHub FlowやGit Flowなど、GitHubを中心とした開発手法についてもしっかり解説しているので、中・上級者の方にも参考になるはずです。

改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

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

「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック

次々と新しい技術が登場する時代、書籍からうまく知識やスキルを得られるかどうかがIT職のキャリアを左右するといっても過言ではありません。技術書の表も裏も知り尽くした人気作家2名が、その秘訣を教えます。

達人プログラマー 熟達に向けたあなたの旅(第2版)

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

世界一流エンジニアの思考法

「怠惰であれ!」「早く失敗せよ」――米マイクロソフトの現役ソフトウェアエンジニアの著者が、超巨大クラウドの開発の最前線で学んだ思考法とは? “三流プログラマ”でもできた〈生産性爆上がり〉の技術! 仕事と人生を「自分の手でコントロールする」最高のスキルがここに!

ふつうのLinuxプログラミング

Linuxの仕組みをシンプルに学ぶ本として、Linuxでのgccプログラミングの入門書として、好評を博すLinuxプログラミングの名著が、ついに改訂。 最新の状況に合わせて、全体をブラッシュアップ。開発者視点でLinuxの仕組みを紐解き、「Hello World」からhttpdサーバの実装までを解説する。 「Linux世界が何によってできているのか」がわかり、「Linuxプログラミングの標準技法」が理解できる。

問題解決力を鍛える!アルゴリズムとデータ構造

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

SREサイトリライアビリティエンジニアリング

サイトリライアビリティエンジニアリング(SRE)とは、Googleで培われたシステム管理とサービス運用の方法論です。 GoogleのSREチームの主要メンバーによって書かれた本書は、ソフトウェアのライフサイクル全体にコミットすることで世界最大規模のソフトウェアシステムがどのように構築、導入、監視、維持されているのかを解説します。

オブザーバビリティ・エンジニアリング

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

システム運用アンチパターン

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

「実践ドメイン駆動設計」から学ぶDDDの実装入門

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

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

「ソースがごちゃごちゃしていて、どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために、あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが、本来はありえない場所にまで影響して、大幅なやり直しになってしまった」といったトラブルが起こるのは、ソフトウェアの設計に問題があるから。日本最大級となる60万件以上の求人情報サイト「イーキャリアJobSearch」の主任設計者であり、システム設計のベテランである著者が、コードの具体例を示しながら、良い設計のやり方と考え方を解説します。

プログラマのためのSQL

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

システム設計の面接試験

システムの設計はシステムの機能や仕様、データのアクセスやセキュリティを左右するため、非常に重要ですが、従うべき一定のパターンがないために、その習得は難しいと言われています。 一方で、システム設計自体がITエンジニアに日常的に求められる作業であるため、システム設計の面接試験は米国で広く採用されています。 本書では、「Webクローラ」「通知システム」「ニュースフィードシステム」「チャットシステム」「youtube」など実践的なテーマに沿って、システム設計の問題を出題し、その回答を解説することで、システム設計力を身に付けられるようにしています。

This is Lean

本書では「フロー効率」という画期的な視点を導入することで、 組織とチームを圧倒的に「リーン」にする方法を紹介している。 多くの経営者やマネジメントがリーンのことを コスト削減だと考えているが、それは誤っている。 顧客志向になることが、リーンの本筋であり、 真の効率化へと至る結論である。 デジタルトランスフォーメーションに代表されるような 組織・チームの効率化が求められる中、 本書はその王道を歩む方法を提示している。