僕が入っている雑食系エンジニアサロンでは未経験からwebエンジニア転職に挑戦しようとする方々がたくさんいます。

そのサロンで開かれている交流会で、初心者からwebエンジニアになるための勉強方法をアドバイスさせてもらうことがあります。
今回は僕が同じ立場だったらどのようなロードマップを描くのか、具体的な教材を紹介しながらまとめてみます。
年齢は言い出したらキリがないので言及しません。
また、あくまで僕だったらのケースなので1つの意見としてお聞きください。
今回提示させていただく方法は多くの人にとってはハードで、精神的に病む人もいると思うので無理に真似する必要はないです。
ちなみに僕はこんな人です。
0. 前提
- 東京近郊在住、実家も東京近郊
- 普通のサラリーマン
- PCスキルはブラインドタッチ、簡単なExcel操作は可能
- プログラミングスクールには通わない
- 大手のプログラミングスクールと同じように学習期限は3ヶ月
- リアルやオンラインで質問出来る環境を用意
1. 環境を整える
仕事を辞めて実家に帰る
理由は金銭面での不安を無くすためです。
いい年こいて実家に世話になるのは気が引けますが、自分の目標達成のために親に頭を下げます。
3ヶ月誰とも遊ばず1日最低10時間
未経験から知識が必要なwebエンジニアになりたいなら、1日10時間は勉強時間を確保したいです。もちろん3ヶ月間休みはありません。当然仕事なんてやってる暇ないです。
1日10時間の勉強はつらそうですが、大学浪人生とかはそれぐらいやってます。
いい大人なんだから18、19歳がやっていることくらいできます。
16インチMacBookProを購入
初心者だったらMac一択。
インターネット上のweb開発に関する情報はMacを前提にしているものが多いので学習しやすいからです。
俺は借金してでも買う。(実際に学生時代にローンで買いました。)
16インチの理由はカフェなどで学習する際にコーディングしやすいので。
2. 勉強方法
以下のロードマップをたどる上での以下の心得を遵守する。
・全ての知識を完璧に理解しようとしない
・わからないことでイライラしない
・わからないことはまず自分でググる
・どうしてもわからない時に(30分ぐらい調べて)他人に聞く
・同じ教材の復習は程々に
僕は天才じゃないありません。
なので新しい知識はすぐに理解できないことが普通です。
わからなかったら徹底的にググります。
その上でどうしてもわからない時に他人に質問します。
また、同じ教材の過度な復習も経験上効果薄いです。
① HTML, CSS, JavaScriptの基礎
教材はweb制作用のテキストでもいいと思いますが、個人的にはprogateの該当レッスン中級編までを1周するくらいを目標にする。

② Rubyの基礎
これも①と同じでprogateの該当レッスンを1周だけする。

③ Ruby on Railsチュートリアル(1周目)
最強の学習教材です。
こんな素晴らしい教材がタダで見れるなんて素晴らしい。
進め方としては、1章から最終章まで教材通りに進めていくだけです。
注意点は、1周目はテスト部分を飛ばすことです。
テストはソフトウェア開発において大事な部分ですが、初心者が最初にテスト部分に取り掛かると情報量が多すぎます。

④ Ruby on Railsチュートリアル(2周目)
Ruby on RailsチュートリアルではAWSのCloud9というオンラインエディタを使用して学習を勧めるのですが、2周目ではローカル環境(自分のMac上)を使用して学習を進めます。(環境構築方法はググろう!)
また、1周目で飛ばしたテスト部分も今度は手を付けます。
この段階だったら情報量が多すぎるということもないでしょう。
⑤ Ruby on Railsチュートリアルを見ないでチュートリアルのアプリの作成
2周目も終わり、自分のMac上にはしっかり動作するアプリ(Ruby on Railsチュートリアルで作ったもの)があります。
今度はこれをRuby on Railsチュートリアルを見ずに作ります。
わからない箇所のみチュートリアルを参照します。
おそらくわからない箇所多すぎ問題に直面すると思います。
が、自分でどうにか実装しようとし、思い出すまたは調べる過程で圧倒的に成長できます。
⑥ Ruby on Railsチュートリアルにある機能限定で既存サイトクローン作成
今度は世の中に出ているサイトをデザインもそっくりそのまま作ってみます。(あくまで学習用途)
全機能を実現しなくてもいいので、チュートリアルで実装した機能+αぐらいの感覚で作っていきます。
おそらくこう思うでしょう、CSS・DB設計難しいと。
うん、がんばれ。
⑦ Amazon Web Services(AWS)の基本
どんなWEBエンジニアにとっても必須スキルといっていいクラウドです。
初心者ならAWS一択だと思います。
以下の書籍を一通り読みます。
とんでもない良書です。

⑧ 完全オリジナルアプリ作成
ここまで来たら基本的な材料は揃いました。
転職活動で必須のポートフォリオとなるWEBアプリケーションを作ります。
作りたいもの・好きなものよりも、以下の動画に従った機能を備えたものを作ったほうが良いと思います。
僕なら上記の特徴に加え、以下のポイントを加えます。
・身近な人の役に立ち
・実際に使ってもらい
・フィードバックをもらい改善する
実際の自社サービス運営企業では上記のサイクルを回しており、転職活動時でアピールポイントが増えると考えるからです。
身近な家族・恋人・友達などに向けてつくるとやりやすいのかなと思います。
オプション
上記のロードマップを基本に以下の勉強を適切な段階に組み込んでいきます。
まぁこれ全部やろうとすると3ヶ月1日10時間じゃ足りないと思いますが。
自分の人生かかっているので頑張る。
・Paizaのスキルチェック問題(RubyでD or Cレベル)
小さなプログラムを書くという体験を積むため。progateでRubyの基礎的な文法が終了した段階で1,2問/日ぐらいのペースで解いていくのがオススメ。
・SQL(データベース・DB)
Ruby on Railsチュートリアルが1周目終わった後に取り入れるのが良いかな。
RailsだけだとDBに対して何が行われているのかイマイチわかりづらい。
個人的には以下の書籍がオススメ。
学生時代に読み、非常にためになった。

・Docker
モダンな開発・運用環境です。
オリジナルアプリ作成が終わったぐらいの段階で学習するのがオススメ。
これが出来ていると技術がわかる人には刺さるかも。
・バックエンドのAPI化(Swagger)
初心者には何を言っているかわからないと思うけれども、実世界ではRailsチュートリアルのようなサーバーからHTMLを返すような構成を採用していないケースもある。
なので、JSONで値を返すようにアプリケーションを作り直し、SwaggerでAPIドキュメントを作成しているとCTOとかからは感動されるかも。
ただ実務に入らないとなかなか想像しづらいです。
転職活動
一般的な転職アドバイス(志望動機しっかり書く、企業分析する、サービスについて調べる等)はしっかりと実践した上での話をします。
転職エージェントを使わず、自社サイトやwantedlyから応募
転職エージェントを使わない理由は2つ。
1. 採用企業側が転職エージェントに成功報酬を払わないといけない。
2. 転職エージェントを通した応募よりも入社したい意思が伝わりやすい。
1に関しては同じ様な候補者で採用を迷った場合、採用コストの観点から直応募してきている候補者の方が選ばれやすいと考えるから。採用側にとっては年収360万円の人材を雇用するときの仲介料は100万近くになることもあります。
他のプレーヤー(転職候補者)がいる場合、メタ的に状況を捉え行動することは有利に働くと思います。
2については採用側に
・しっかりと自社について調べてきてくれている
という印象を与えることが出来るのではないかと考えたからです。
Twitter(SNS)の活用
入りたい企業の代表やCTOにDMを使用して連絡するといった具合です。
これも入社したい意思を伝えやすい、伝わりやすいと考えているからです。
個人的にTwitterでの転職経験はありませんが、SNS経由で仕事が決まるケースを多々見てきました。可能性があるならどの媒体もフル活用すべきだと思います。
まとめ
最初にも言った通り、僕だったら初期段階でざっくり上記のフローに沿って進めていくと思います。
そして、実行段階で必ず学習方法・教材に不足部分があると思うので、都度都度修正して3ヶ月を駆け抜けます。
どうしても自宅だと集中できない、1人で勉強できるわけないという方はプログラミングスクールに通ったり、コワーキングスペースを借りるのもいいでしょう。
興味のある方は自分なりにアレンジして取り組んでみてください。
最後に
記事冒頭でも言いましたが、僕も所属させてもらっている雑食系エンジニアサロンでは他人のポートフォリオを見れたり、実際にレビューもしてもらえます。
技術系の情報収集にとてもいいのでぜひ入ってみてください。
僕はフリーランスエンジニア・法人化する際にとても有益な情報を得ることが出来ました。

この記事を書いた人はこんな人です。
コメント