エンジニアにこれからなりたくて勉強しよう、もうすでに勉強をし始めた!という人もいることでしょう。この記事では、自分がエンジニアになろうとして勉強し始めた頃のことを振り返ってどんな本を読んだらいいのかを紹介していきたいと思う。
本屋に行くとプログラミング関連の本がありすぎてもはやどれを読んでいいのかわかりませんもん。1つの言語をとってもいろいろな本があるし、学び始めはどれを読んだらいいのか・・・・迷ってしまうものです。 だから今回は自分が学び始めの君にお勧めの本を紹介したい。とはいっても、自分も全部の本を読んできたわけじゃないから自分が最初に読んでいてよかったものを書こうと思う。
お前だれ?
自分のことは以下の記事にちょろっと書いたから気になったら見てみてほしい。まあ大したことは書いていない。
エンジニアになるなら読むべき書籍
先に書いておくと、自分は以下の手順でプログラミング言語やフレームワークを学んできた。
- Ruby
- Ruby on Rails
- JavaScript
- Php
- Laravel
- Go
- React
- Vue
- TypeScript
- Nuxt
最初のころに勉強してきたのはRubyだから、プログラミングを学び始めたころはRubyの本を読んでいたよ。PHPなんかは最初のころはやっていなかったから、ここではそれ以降の本の紹介はやめておく。最初自分はプログラミングスクールで学んでいたから、主にそこのカリキュラムを学んでた。本はそのカリキュラムをある程度やった後に読んでいたりしたよ。
じゃあいってみよう。
Ruby on Rails4
この白い本をRailsを勉強していた時に読んでいたなあ。当時やっていたのはRails4だから下に載せている本とはバージョンが違うね、懐かしい。今はもうRails6だからできることもどんどん変わっているでしょう。Railsに関する機能が網羅的に載っているからRailsに関して全体的に知りたいときに良い。

Ruby on Rails 5アプリケーションプログラミング
- 作者:山田 祥寛
- 発売日: 2017/04/14
- メディア: Kindle版
パーフェクトRuby
最初に学んでいたのがRubyだったからRubyの本を買って読んでいた思い出がある。Rubyでどんなことができるのか網羅的に載っているから全体的に知りたいときなんかに良い。ただ、学び始めでこれ分厚さは相当精神力をもっていかれるから覚悟のある人だけ買うといい。あって損はない。

- 作者:Rubyサポーターズ
- 発売日: 2017/05/17
- メディア: 大型本
Ruby入門
この本は自分がRubyを学び始めたときには発売していなかったんだけど、分かりやすくて良い本だから載せておく。Rubyに関する本はこの本を読んでおけばとりあえず間違いない気がする。上で挙げたのは何か調べたいときのリファレンス的な立ち位置で持っておくといいかな。

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者:伊藤 淳一
- 発売日: 2017/11/25
- メディア: 大型本
javascript入門
javascriptを学び始めたときに読んでいた本。当時プログラミングスクールで学んでいたんだけど、javascriptはRubyほどやっていなくて結構読んでいた。白い本なんだけど、もうだいぶ手あかがついてくたびれた感じになってしまった。javascriptの書き方はどんどん変わっていって今ではこの本に書いてある書き方をすることもないけど、そもそもjavascriptってどういう動きをするのかを理解するのに助かった。

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
- 作者:山田 祥寛
- 発売日: 2016/09/30
- メディア: 大型本
リーダブルコード
読みやすいコードを書くときに気を付けるべきことが書いてある。勉強中は自分が書いたコードを見るのは自分だけかもしれないけど、企業に入れば基本的にチーム開発。自分の書いたコードは他の人に見てもらってレビューしてもらう機会も増えていきます。そんなときに「読みやすいコードってどんなんだろ?」という疑問がわくはず。レビューするときに関数名一つとっても一目で何をやっているのかわかる命名は素敵なものです。より良いリーダブルコードを書きたいもの。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者:Dustin Boswell,Trevor Foucher
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
Dockerも知っておくといい
上で挙げたのが自分が初期のころに読んでいた本なんだけど、エンジニアにこれからなる上で知っておいてほしいものはやっぱり他にもある。sqlやjqueryなんかもそうだけど、エンジニアとしてどこかの企業に入社する際には是非ともDockerは知っておいてほしい。というのも、今や開発環境はDockerを使っていることが多々あるから。いくつかの企業と関わってきたけど、Dockerが出始めてからはすべての企業で開発環境はDockerだった。企業に入って環境構築してね、と言われてDockerいきなり使うなんてこともあるだろうけど、それだとちょっとびびるからその前に軽くでも触れておくと良いと思う。

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化
- 作者:WINGSプロジェクト阿佐 志保
- 発売日: 2018/04/11
- メディア: Kindle版
最初は「コンテナ?は?」って感じだけど、なんとなく便利なものなんだなーってぐらいは学び始めればわかるんじゃないかと。もし、「Dockelr楽しいいいいいいい!!」ってなったらKubernetesについて学んでみよう。これも結構な企業で使われているもので、自分も使われている現場で作業をしてきたりした。なかなか難しいけど、マスターして俺に教えてくれ。
まとめ
自分が本当にプログラミングを学び始めてどんな本をよんでいたかなあ、っていうのを振り返って書いたけどあの頃はプログラミングをできるようになるのに必死だった。エラー起きてもよくわからないし、もはや何が分からないのか分からないっていう状況もあったなあ。。パソコンをカタカタして勉強するのもいいけど、たまには本を読んで勉強するのもいいもんです。