Contents
エンジニアなら読書は必須
エンジニアは他の業界とは違い、経験を積んだ後でも、技術の変化についていくために常に勉強が求められます。
正確かつ、大量の知識を体系的に手に入れる最も有効な手段は読書です。
多くのWeb系の企業ではエンジニアの技術書の購入を支援する制度があるため、読書の習慣がある人と無い人では大きな差が生まれます。
今回は多数の技術書の中からプログラミング初心者にオススメできる本を14冊紹介していきます。
リーダブルコード
「エンジニア初心者が最初に読むべき本は?」
という質問の回答として最も帰ってくる可能性が高い本はこのリーダブルコードです。学生のうちに読んでいる人も多いと思います。
自分もインターンの面接で突然「リーダブルコードは読んだ?」と聞かれたことがあるくらいです。
題名の通りいかにわかりやすく読みやすいコードを書くかに注力されており、イラストも豊富で技術書のわりに読みやすい内容になっています。
コメントを書く習慣がない人は、コメントの重要性と書き方を深く学べるはずです。
初心者のうちは常に手元に置いておき、定期的に読み返したい一冊です。
リーダブルコード読んだことない人はマジで読んでみて欲しい。読んでみて「は?当然のことしか書いてないが?」と思う人はそれはそれで良くて(つまりいつの間にかリーダブルなコードを書く技術が身についている)、そうでない人がいるからとにかく読んで欲しいですね。
— kageです。 (@kage_miku) December 24, 2018
リファクタリング – 既存のコードを安全に改善する
プログラムに潜む扱いにくい部分を見つけて改善する方法が述べられています。
リーダブルコードよりは難易度が高く、オブジェクト指向を前提としているので、全くの未経験者にはきついかもしれません。
ただ動くだけでは無くて、保守性や拡張性を意識することが大切です。この本によってプロのエンジニアが普段意識していることを深く知ることができます。
若手ITエンジニア 最強の指南書
若手のエンジニアに必須の20のテーマを網羅し、図を使いがらまとめ上げた雑誌と本の中間のような書籍です。
色々な本を読む暇がないという人でも、この1冊でIT業界に対する理解が深まります。
技術だけでなくマネジメントやヒューマンスキルにも詳しいので、マネージャーとしてキャリアを積みたい人にもオススメの一冊です。
ノンデザイナーズ デザインブック
デザインを専門としないエンジニアを中心に世界中で読まれている名著です。
難しい理論はほとんど書かれていないので、デザインに疎い自分でもすんなり読むことができました。
デザインに関する4つの原則を、良い例と悪い例を比べながら理解することができます。また、普段は意識しない配色の理論も簡潔にまとめてあるのでとても役立ちます。
自身でアプリを開発する際はのUI,UXを大きく向上させてくれることでしょう。
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム
アルゴリズムに関する本は難解で初心者殺しの本が多いのですが、アルゴリズム図鑑はその悩みを解決する良書です。
ソートや経路探索、2分探索などの小難しいアルゴリズムをこれでもかというくらい簡潔にわかりやすくまとめてあります。
読みやすい構成で、数学が苦手な人でもほぼ確実に挫折せず読み終えることができます。
アルゴリズムを本気で学びたいエンジニアも、そうでないエンジニアも一度読んでみると、奥の深さに引き込まれるはずです。
プログラマが知るべき97のこと
世界で活躍する97人のエンジニアのエッセイが集まっています。エンジニアが大切にすべきことや、勉強法、経験談、失敗談が多数書かれています。
初心者のうちは読んでもピンとこない内容もあるでしょうが、経験を積んでいくうちにこの本の内容が役に立つことも多々あります。
一つ一つの内容は2ページ程度と短いので隙間時間に読むことをオススメします。
達人プログラマー
こちらも古くから世界中で読まれている名著で、ひよっこエンジニアと達人エンジニアをつなぐ一冊です。
抽象的な部分が多いですが、繰り返し読んで心構えや作法を行動に移すことでエンジニアとしての基礎は確実に身につきます。
例えば、毎年新しい言語を1つは習得することを勧めています。流行っている言語の中から好きなものを選んで手を動かしてみましょう。
完全SIer脱出マニュアル
IT業界の構造がいまいちわかっていない人にオススメの一冊です。
SIerとWebはどう違うのか、大手とベンチャーはどっちがいいのか、フリーランスになるかならないべきか、などの疑問を解決してくれる良書です。
2018年の10月に発売された新しめの本なので、最新の業界の事情を知りたい人は是非読んでみましょう。
Amazonや通常の書店では販売されておらずこちらのサイトから購入できます。
降りてくる思考法
こちらは技術書ではありませんが、アイデアの出し方を具体的かつ体系的にまとめた良書です。
アイデア出しを単なる思いつきで終わらせず、どのような角度から考えれば良いのかを理論的に述べてあるので、アイデアソンやハッカソン、グルディスで効果を発揮します。
オリジナルアプリのアイデアが浮かばない人でも、この本を読めば軽く10個はアイデアが浮かんでくることでしょう。
コーディングを支える技術
「支える技術」系統の本の中で最初に読むべきプログラミング初心者向けの本です。自分が通う大学のゼミでも使用されています。
オブジェクト指向、型、エラー処理、関数、スコープなど、様々な言語で共通に使用される概念を俯瞰できる良書です。
一つの言語しか触ったことがない人は、この本を読むことで言語の比較が可能となり、確実に視野が広がります。
Webを支える技術
細かなコーディングの技術も大事ですが、インターネットがどのような経緯で生まれ、裏側で何が起こっているかを知ることもそれ以上に大事です。
REST,HTTP,URIなど聞いたことはあっても理解しにくい言葉をその歴史からしっかり説明してくれます。
コーディングを支える技術よりはかなり難しいですが、一冊読みきればかなりの力になります。
実務に入ってから背景知識の面で差を感じないためにも、データベースやWebの知識に自信がない人は読んでおきましょう。
オブジェクト指向でなぜ作るのか
オブジェクト指向の理解が、エンジニアとして最初にぶちあたる壁という人も多いのではないでしょうか。
自分も最初は必要性がわからず、学んでいる意義がわかりませんでした。
この本の存在を知った時には、もっと早く読んでいればよかった、と強く後悔しましたね。
新入社員の研修として使用する企業も多く、初心者には必読の一冊です。
iOSアプリ開発 集中講座
ここからは自分がお世話になったiOSアプリ開発の入門書を紹介していきます。
大型の本屋で初心者向けのアプリ開発の書籍を30冊ほど見比べましたが、圧倒的にこの本がわかりやすいと感じました。
図や解説が豊富なだけでなく、初心者がつまずきやすそうなところを先回りして徹底的に解説してくれるところが素晴らしいと感じました。
2日でマスターできるとうたっていますが、1,2週間かけて学ぶボリュームはあります。
サンプルアプリを沢山作りながらアプリ開発の流れを掴むことができます。
iOSアプリ開発 デザインパターン入門
一通り作りたいものを作れるようになったら、設計やデザインパターンを意識した開発にも取り組みましょう。
就職活動では、作品そのものに加え、Githubでコードや設計を細かく見られます。そこで高い評価を得られるためにも設計の基礎は必須といえます。
初心者向けの講座は、動くことに重要視しすぎて設計がおろそかになっているパターンが非常に多いと感じます。
- iOSアプリ開発
- 初心者向け
- 設計について書かれている
の3点を満たす本はほとんど無く、とても重宝しました。
技術書典シリーズ新刊です!今月1冊目は「iOSアプリ開発デザインパターン入門 」(千葉 大志著)です。PEAKSさんの本と2文字しか書名が違いますが、内容は大きく違います! 初心者を中級者にステップアップするためのチュートリアルガイドです。https://t.co/jOJKK14UXD pic.twitter.com/GZuEJWs0q3
— NextPublishing 次世代出版 (@NextPublishing_) June 12, 2018
他に読んでおきたい本など
特にオススメできる本は上で述べた14冊です。
これからエンジニアなるって人には
「Webを支える技術」
「マスタリング TCP/IP 入門」
「オブジェクト指向でなぜつくるのか」
「リーダブルコード」
この4つの本をとりあえずオススメしてる。
読んで身につけてほしいというよりはそれらの知識が頭の片隅にあるだけで理解が爆速になる。— おりょう (@neer_chan) May 26, 2018
エンジニアなら他にもGithubの入門書や、得意な言語に関する詳しい使用や設計を述べた本は必須です。
またリファレンス本はサイズが小さくて持ち運びやすいので、困った時の辞書代わりとしてとても重宝します。
本屋で色々な技術書を眺めるのもかなり楽しいので、一度足を運んで気になる本をチェックして見ましょう。