こんにちは、進撃する人です。
よくスキルの高いエンジニアに取り上げられる「プログラミングを始める際にオススメの書籍」で
などなど、いわゆる「技術の専門書」があげられます。
が、しかし、以下でツイートしているように、こういった専門性の高い技術書を「これからプログラミング始めます」って人が読むのは本当にオススメしません。
本当これだと思うんですけど、誰も言わないですよねw
マスタリングTCP/IPもwebを支える技術もプロになるためのRuby入門も良い本だとは思うんですけど、それ、これからエンジニア目指す人に勧める本か!?って思ってます。
入社3ヶ月以降、壁にぶち当たった時に読むべき本だと思ってます。 https://t.co/1gm1XFYmLw
— 進撃する人@現役エンジニア (@mikasa_program) 2019年3月18日
いきなり専門書読んでもチンプンカンプンです
でも、こういった技術書をツイッターのタイムラインで取り上げられていて思うのは「初っ端からそんなの読んで挫折しない?」ってこと。
例えばですが、全くプログラミング触ったことがない人が「おすすめされたから」といって「Webを支える技術」を読んでも全く内容が頭に入って来ないです。
上記でも記載されている「Webを支える技術」ではステータスコードの話やHTTPメソッドの話はとても重要なんですけど、全くアプリを作ったことない人が読んでも理解がままならず挫折に繋がりやすいんですいよね。
少なくとも、プログラミングスクール通う前の私がWebを支える技術なんか読んだら即心が折れるでしょう笑
何故、エンジニアがやたら専門書をおすすめしているのかというと、「初学者視点」ではないからです。
中級のエンジニアって中級向けの発信をしがちなので、難しい書籍や難しい教材をオススメすることが多いのです。
初学者の方はとにかく「背伸びをしない」のが吉ですし、エンジニアは「自分を凄く見せようとして無駄に難しい本を薦めてくる」人が非常に多いのでw、プログラミングに限りませんが、何かを新しく学ぶ時は「専門書」ではなく「初学者に親切という定評のある本を選ぶ」のが大抵の場合は正解かなと(^.^) https://t.co/9aHUJHzLyQ
— 勝又健太 a.k.a. テック系Youtuber (@poly_soft) 2019年3月18日
ある意味、上記のツイートは一理ありますね。
0から何か読むのであれば「基礎から始める~」「初心者のための~」のようなタイトルのもっと優しくわかりやすい入門書を読むか、Progateやった方がいいですよ。
決して、「よーし!エンジニアになろう、まだProgateもやってないけど、Webを支える技術やプロになるためのRuby入門をオススメされたから買ってみよう」
だなんて考えてはいけません…これらの書籍は確実にあなたの心をへし折り、挫折への一歩を踏み出すことでしょう
「技術的な専門書」はどんなタイミングで読むものなのか
例えばですが「Webを支える技術」を読むべき対象者は簡単なWebアプリをいくつか作ったり後であったり、会社で働いている人は入社3ヶ月以降(つまり研修が終わり実務を行う段階)でようやく手を出すレベルの本だと思います。
私は過去にTech expertというプログラミングスクールに通っていましたが、その時、同期数人で「プロになるためのRuby入門」を買ってみんなで読んでました。
その時、スクールでの学習時間が400~500時間前後だったのですが、みんなで「カリキュラムある程度こなした後だから7割くらいはわかるね、レベル的にちょうどいいね」ということを話をしてましたね。
またスクール卒業して就職し、研修受け終わった段階でちょうど「Webを支える技術」であったり「リーダブルコード」を読んでいる最中なのですが、レベル感として「ちょうどいい」ですね。
コードレビューをしてもらうことも増えたこともあり、「リーダブルコード」で可読性の高い綺麗なコードを書くための学習として参考にしてます。
いずれにしても、上記で挙げたような専門書はしょっぱなから読むのはきついです。
スクールのカリキュラムで300時間以上プログラミングに触れ、「全体像を理解した上で必要であれば時間を割いて読めばいい」といった立ち位置のものです。
なのでプログラミングを始めた段階の人に技術的専門書はやめた方がいいよ、と言いたいです。
やるならProgateから入るのがいいですよ。
これからエンジニアになるという方にProgateをおすすめする理由
「これからエンジニアになろう」という方にオススメなのはProgateです。
上記は「Progate100周してもスキルアップはしないよという話」という先日出した動画なのですが、それでも最初はProgateから入った方がいいです。
理由が「挫折しにくい」からです。
残念なことにプログラミングに挑戦する人のうち90%以上は挫折します。
これは本当です、私もプログラミング何度か挫折した末に(当時はProgateをやっていて、オブジェクト指向あたりで投げ出しましたw)スクール通いました。(プログラミングスクールに通わなかったら挫折したままでしたね。)
まずはProgateに取り組んでみて(何の言語でもいいです。オススメはHTML→CSS→Javascript(Jquery)→Ruby(もしくはPHP)です)
- プログラミングが向いてるか確かめるためにまずはやってみる
- 最低限プログラミングの仕組みを理解する
- 最低限の基礎を固める
ことをおすすめします。
基礎固め後はポートフォリオを作ろう
基礎固めが終わったあとはポートフォリオを作りましょう。
この段階でまだまだ専門書は不要です。
「何時間学習したか?」よりも「どんなポートフォリオを作ったか?」の方が100倍くらい大事です。
スクールのカリキュラムでポートフォリオを作ってもいいですし、MENTAなどのサービスを使ってメンターをつけた上でポートフォリオを作っていってもいいと思います。

実際に企業に入って重要なことって(会社のスタイルにもよりますが)「自走能力」ですからね。
自分でググったり人にわからない部分を聞いて解決できてポートフォリオ完成まで持っていける能力はめちゃくちゃ評価されます。
ポートフォリオ作成後は、案件を受注する、会社に潜り込んでみる
あなたがプログラミングを使って「何をしたい」のかにもよりますが、大半の人が
- 自分でアプリを作りたい
- エンジニアに転職したい
- フリーランスとして生計を立てたい
という方が大半だと思います。
その場合、基本的には「やらざるを得ない環境にさっさと飛び込んでしまう」ということをおすすめします。
- 知り合いから案件を受注してみたり
- クラウドソーシングで案件を取ってきたり
- 就活してPHPやRubyを使うモダンな会社に飛び込んでみたり
…といった具合ですね。
私もプログラミングスクール卒業後はすぐに就活をして30社近く受けた末に3社から内定をいただき、その中で一番良さそうな会社に勤めることにしました。

結果的に、今のところ大成功で日々スキルアップしてるのを実感できます。
家で一人で黙々とコード書こうとしてもおそらく9割以上の人はエラーと格闘した末に投げ出すことでしょう。
なので、「やらざるを得ない環境」に飛び込み、「専門書を読む必要が出てきた」時に初めて技術書を購入して勉強しましょう。
まとめ
以上が初学者は技術的専門書を買うのは控えよう、という話でした。
何よりも挫折せずに継続することが一番大事です。
webを支える技術もリーダブルコードも良書なのは間違いないんですけど、「これからプログラミングを始めます」という人が読んでも挫折するのは目に見えてます。
まず必要なのは継続できることからコツコツ始め、さっさと「やらざるを得ない環境」に飛び込んでしまうのが一番早いですよ。