エンジニア

【プログラミング初心者必読】現役エンジニアおすすめの本2冊!

「プログラミング初心者におすすめな本◯◯冊って…、本多すぎ!」
「そんなに読まなきゃいけないの?」
「エンジニアのバイブル的な本を知りたい!」

今回は、このようなお悩みを解決すべく、現役エンジニアである僕が「エンジニアとしてのバイブルとなる本」を厳選して、心からおすすめできる2冊を紹介します。

「とにかく結論を知りたい!」という方のために、最初に本の名前だけ紹介しておきます。

【本記事にてオススメしている本2冊】

◼️リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

◼️Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

※リンク先はAmazonの商品ページとなっております。

これら上記の本2冊は、冗談抜きで本気でおすすめできる本です。

もちろん初心者の方にとってみたら、多少難しい内容も含まれていますが、これからエンジニアとしてのキャリアを歩んでいくのだとしたら、是非とも手元においておきたい本です。

とりあえず、前書きはここら辺にしておいて、早速本題に入っていきましょう。

プログラミング初心者が”本”で学ぶべきことは何か

おすすめな本を紹介する前に、まずは「プログラミング初心者が本で学ぶべきことは何か」ということについて簡単にお話していきます。

なぜ、本の紹介をする前にこのような話をするのかというと、それは初心者の方がより効率よく学習を進めていくためです。

つまり、「プログラミング初心者が本から何を学ぶべきか」を明確にしない限りは、下手すると見境なくオススメされた本を購入してしまう可能性があります。

そうすると結果として、購入した全ての本を読むことなく、さらにはプログラミング学習にも挫折してしまう、ということになりかねません。

そもそも、プログラミング初心者の方はそんなに大量の本を購入して勉強する必要はないいので、まずは、本から学ぶべきことを明確にしていきましょう。

プログラミングに関する、いわゆる「技術書」には以下の2種類があります。

  1. 特定の言語について、具体的なコードの書き方を教えているもの(例:HTML/CSS入門みたいな本)
  2. 言語は特定せずにプログラミングに関するやや抽象度の高いことについて説明しているもの(例:プログラミングとは、みたいな本)

プログラミングを学習するにあたって、初心者が本で学ぶべきことは2つ目の「言語は特定せずにプログラミングに関するやや抽象度の高いことについて説明しているもの」です。

1つ目の「特定の言語について、具体的なコードの書き方を教えているもの」について、プログラミング初心者がなぜ本で学ぶべきではないのかというと、理由は下記の通りです。

  • 本だと画面などの動きが分かりづらいから
  • 最後まで読み切るのに相当な労力がかかるから
  • 知識は得られても実践に活かせることは少ないから

つまるところ、本で特定の言語を勉強することはコスパがあまりよくないのです。

今ではプログラミングを無料で学習できるWebサービスも豊富にありますし、動画教材も技術書よりも低い価格で購入できたりします。

そのようなWebサービスや動画教材なら、上記のような本での学習の欠点はありません。

なので、本ではなく、そういったWebサービスや動画教材等を利用して学習する方が、プログラミング初心者にとっては遥かに効率がいいのです。

逆に、「言語は特定せずにプログラミングに関するやや抽象度の高いことについて説明しているもの」については学べるWebサービスや動画教材のようなものがそもそも少ないです。

さらに、「一度読めばいいや」というものではなく、定期的に読み返して自分のコードの質を高めていくためにも、本のような形で手元においておいた方が、ふとした時にすぐに目を通すことができます。

なので、もちろんこのような理由も踏まえた上で、これから紹介していくオススメな本というのは、具体的な言語の文法を教えてくれる本ではありませんが、逆にどの言語を学ぶ人にとっても重要な概念を説明している本となっています。

プログラミング学習初心者の方は、ぜひ自身がエンジニアになる前には読んでおくことをオススメします。

【おすすめ本1】『リーダブルコード』

まず1冊目は、『リーダブルコード』(2012年)という本です。

元々は英語で書かれた本ですが、既に日本語訳されていて、おそらくほとんどのエンジニアが知っています。

『リーダブルコード』は英語の『Readable Code』をカタカナ読みしたもので、つまりは「読みやすいコード」という意味です。

その名の通り、本の内容としては「読みやすいコードの書き方」について書かれています。

プログラミング初心者の方にとっては「読みやすいコード」と言われても、いまいちピンとこないと思いますが、実はプログラミングをしていく上で、「読みやすいコードを書く」ということはめちゃくちゃ大切なのです。

『リーダブルコード』では、このような「なぜ読みやすい綺麗なコードを書く必要があるのか」というところから、実際に「どうやって書けば読みやすいコードになるのか」というところまで簡潔かつ分かりやすく書いてあります。

本全体も200ページちょっとなので、そんなにボリュームも多すぎないですし、初心者の方で技術書以外の本を読むとしたら、まずは『リーダブルコード』から始めるのがいいと思います。

また、この本については、僕が実際に新卒でプログラミング未経験からエンジニアになって1,2ヶ月目辺りで読んだときの当時の感想等を別の記事で書いていますので、気になる方はぜひ覗いてみてください。

【おすすめ本2】『Webを支える技術』

続いて、2冊目はこちらの『Webを支える技術』(2010年)という本です。

この本は、僕がエンジニアになって半年くらい経過してから読んだ本なのですが、この本を読んでから、一気に周りの先輩エンジニアが会話しているような、少し踏み込んだ技術的な話が理解できるようになっていきました。

プログラミング未経験からエンジニアになった人は、研修でプログラミング能力なら以前からプログラミングを経験していた人との差はかなり縮めることができます。

しかし、研修ではプログラミングスキルをメインで学ぶため、逆に大学で学ぶような「Webとは」「URLとは」「HTTP通信とは」といった、インターネットの基礎知識的な部分はかなりおざなりになってしまいがちです。

こういった知識は、知っていてもすぐにプログラミングスキルとして活用できるわけではありません。

しかし、恐らくプログラミング学習を継続していくと、必ずどこかで、こういったインターネットに関する基礎知識が必要になってきます。

やっぱり、「あ、この人はすごいな」と思うようなエンジニアの方々こそ、「Webとは」のような基礎の部分がしっかりと築かれているものです。

裏を返せば、初心者のうちにこのような基礎の部分を焦らずじっくり学習しておけば、後々他とかなり大きな差が開いていくと思います。

僕が思う、初心者の方のこの『Webを支える技術』のオススメな読み方は、以下の通りです。

  1. 目次を見る
  2. 気になるところを読む
  3. 分からないところは飛ばす
  4. 1〜3の繰り返し

というのも、この本は先ほど紹介した『リーダブルコード』の2倍程のボリュームがあり、さらにかなり技術的に踏み込んだ話をしている部分もあります。

なので、初心者の方がいきなり頭から全て読もうとすると、途中で分からなくなって、結局何も学べなかったということに陥ってしまう可能性があるからです。

僕が実際に読んだときも、知りたいところをつまみ読みして、あまり興味が沸かない部分はどんどん飛ばしていきました。

それでも、読んだところは自分が興味あるところなので、その部分に関してはかなり勉強になりました。

いわゆる「小難しそうな技術書」という感じがして、若干億劫になってしまうかもしれませんが、ぜひ最初の一歩を踏み出せると、知識の世界が一気に広がりますよ。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) >>
※リンク先はAmazonの商品ページとなっております。

最後に|今自分が学ぶべきことは何なのかを明確に

最後に復習として簡単におさらいします。

✔︎ 本記事のおさらい

◼️『リーダブルコード 』:読みやすいコードとは何か。どうやって書くのか。
◼️『Webを支える技術』:Webに関する基礎知識。Web、URL、通信とはどういう仕組みになっているのか。

冒頭でも述べた通り、特に本で学習する際は「何を学ぶべきなのか」という対象を明確にすることが、非常に大切です。

ただ闇雲に、よく分からない難しい本を頭から読んでいって、最終的に何も残らないようであれば、それは読まない方がましです。

逆に、「これを学ぶぞ」と本を読む前に心に決めて、その本の一部だけでも徹底的に理解するように読むのなら、それはとても効果的です。

より効率よくプログラミング学習を進めていくためには、このようにできるだけ無駄な学習は避けて、必要な時に目一杯集中して取り組むことが大切です。

ぜひこれからもプログラミング学習を継続していきましょう。

最後までお読みいただき、ありがとうございました。