エンジニアとして読んで欲しい書籍を紹介します。
数ある中から一部を、あくまでも個人的な見解と感想を交えて紹介します。
■ウェブプログラミング編
ウェブ専門言語として3大言語とは何かとすれば、PHP、Ruby、Pythonと決めつけるつもりはありませんが、定番と言っても過言ではありません。主流としてなぞられているこの3つの言語を知るための技術本を紹介します。
※Perlをディスっている訳ではないので悪しからず
プログラミングPHP 第3版 [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873116686/
言語仕様を詳細に解説しているPHP定番とすべき本だと思います。この本を置いて詳解があるとは思いません。初心者には読みづらさはありますが、繰り返し読むこともオススメしたい本です。PHPを知り尽くしたい人はまずこの本を買うべきです。
Rubyベストプラクティス [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873114453/
Rubyのテクニックや実践としてのライブラリなどを紹介してくれている素晴らしい本です。バージョンとしては1.9と古いですが、基本を学ぶ上でも一度読むべき本だと思います。
パーフェクトPHP
パーフェクトPython
パーフェクトRubyonRails
パーフェクトシリーズとして有名なこの三冊。サンプルソースコードによって解説しながら読みやすい本でもあります。初心者から中級者向けの良い本だと思います。
■JavaScript編
個人的には、JavaScriptとCをマスターしたエンジニアを尊敬しております。その一つとしてJavaScriptを理解するための本として紹介です。
JavaScript 第6版 [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873115733/
この本を読んだことがない人にはJavaScriptを語る資格はない、とさえ言わしめるほど素晴らしい本です。JavaScriptの核心を知ることができます。考え方が変わります。
jQueryクックブック [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873114682/
jQueryが重い、使いづらい、本当に必要なのであろうか、そう思う人には読んでもらいたい本です。jQueryが存在して何が変わったのかを再認識、もしくは気づかせてくれることでしょう。
シングルページWebアプリケーション [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873116730/
シングルページのアーキテクチャとして有名な本です。jsによるフロントからバックエンドまでの紹介となります。
■SQL編
エキスパートのためのMySQL[運用+管理] [技術評論社]
http://gihyo.jp/book/2010/978-4-7741-4294-4
MySQLのことをどれくらい知っていますか。そんな人に読んでもらいたい本です。MySQLはDBの主流として多く利用されてきました。パフォーマンスや構築手法、運用詳細を専門家が徹底して紹介してくれてます。
プログラマのためのSQL [翔泳社]
https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AESQL-%E7%AC%AC4%E7%89%88-%E3%82%B8%E3%83%A7%E3%83%BC%E3%83%BB%E3%82%BB%E3%83%AB%E3%82%B3/dp/4798128023
大型本です。SQLのジョー・セルコが著した日本語版です。SQLプログラミングとは何か、全般的にこれほど詳しく解説しているものはないと思います。内容が濃すぎます。
■知るべき編
人月の神話
https://ja.wikipedia.org/wiki/%E4%BA%BA%E6%9C%88%E3%81%AE%E7%A5%9E%E8%A9%B1
ソフトウェアのプロジェクト管理について開発に関する実体験を記している本です。1975年に出版された本ですが、歴史は繰り返すことを再認識できることだと思います。
リーダブルコード [オライリー・ジャパン]
https://www.oreilly.co.jp/books/9784873115658/
美しさ、優れたコーディングを考える本です。プログラマには絶対に読んで欲しい本です。
コードコンプリート
大手企業のOJTや新人教育の教材としても使われる本として有名です。良いプログラマとして特に若い人には読んで欲しい本だと思います。
エリックエヴァンスのドメイン駆動設計
DDDとして概念を理解する本ですが、非常に読みにくいです。しかし繰り返し読むべき本です。ドメインとは何か、そして設計におけるメソッドフローによってアジャイル開発の考え方をしっかりと理解するべきだと思います。
人を動かす
道は開ける
カーネギの人としてどう生きるべきかを考える本です。人生観と価値を豊かにするべく、何かに躓いたときに読むのも良いと思います。
孫子
古代中国の孫子の兵法で知られる軍略家の本です。兵法とは何か、そして理論に基づいた人間の考えや心理、現在の生き方にも大きく影響してくれます。
君主論
自助論
自分と向き合う、そして何をすべきかを考えさせられる本です。
小さなチーム、大きな仕事
小さな組織として成功体験に基いて記している本です。いま自分に何が必要なのかを考え行動できるヒントとして読んでも面白いです。
lsを読まずにプログラマを名乗るな!
lsコマンドにこれほど情熱を注げる本はないと思います。よくここまでやるなぁと感心しますが、個人的にはとてもおもしろかったです。
■ネットワーク編
マスタリングTCP/IP
プログラマとして最低限のネットワーク知識を取り入れたい人にもオススメしたい本です。