サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】（→9ヶ月かかりました）

こんにちは、ユーキと申します。

僕はサラリーマンを続けながらWEBエンジニアを目指していました者です。
9月で無事転職活動を終了し、Rubyとアジャイルに強みを持つ受託開発の会社に入社することにいたしました。

6月末までの転職を目標として設定し12月末に勉強を開始しましたが、結果的に8月に上旬に自社開発の会社から内定を頂いてからも転職活動を続け、9月下旬まで転職活動を続けました。

上述の通り6ヶ月での転職を目標としていたため、2ヶ月ごとに3回に分けて勉強の軌跡をQiitaに残そうと考えたのですが、転職活動が長引いたため、この第3部は5ヶ月ほどの軌跡となっております。

参考1：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第1部/3部作】](https://qiita.com/YukiWebTech/items/b31926c256e3c4392071)
参考2：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第2部/3部作】](https://qiita.com/YukiWebTech/items/e975f41fd55e3b4cbd81)

# 0.本記事の目的

未経験からWEBエンジニアを目指す方に転職活動の軌跡を共有したい

# 1.これまで
過去記事に詳細の過程をまとめていますので、本記事では概要だけを「これまで」として整理します。

## 前提
完全未経験から12月20日に「Progate」を開始し、プログラミング学習の門戸を開きました。
フルタイム（というか、残業多め）でIT業界以外で就業しながら平日朝と土日を確保して、全力で勉強しています。

## 過去学習内容
12〜3月までの3ヶ月間は独学で勉強しています。

 - 12月
    - Progate
 - 1月
    - Progate
    - Udemy「よくわかるRuby on Rails入門」
 - 2月
    - Udemy「もう怖くないGit！チーム開発で必要なGitを完全マスター」
    - 書籍『現場で使える Ruby on Rails 5速習実践ガイド』（以下、『現場Rails』）
 - 3月
    - 書籍『現場Rails』
    - 書籍『Bootstrap 4 フロントエンド開発の教科書』
    - 書籍『Everyday Rails - RSpecによるRailsテスト入門』
    - 「雨予報LINEBOT」開発
 - 4月
    - プログラミングスクールカリキュラム
    - オリジナルサービス（ポートフォリオ）開発

# 勉強内容
それでは今回の主題、5月から9月の5ヶ月間を振り返ります。

## 5月上旬～中旬
### 書籍『Everyday Rails』でRSpecを体系的に学習
名著『Everyday Rails』でRSpecの全体像を理解しました。
はじめこそ、「クローンしてローカルで立ち上げる」ことに苦戦しましたが、学習自体は「モデルスペック」と「フィーチャースペック（システムスペック）」に絞ることで効率的に終えることができました。
上記と、「GitHub上のRSpecのコード漁り」により、RSpecのスキルを飛躍的に向上したと実感しています。

### オリジナルサービス（ポートフォリオ）仕上げ
筋トレとプロテインの飲み比べが趣味なので、プロテインの口コミ共有サービス「[SuppleBox](https://supplebox.jp/)」を開発しています。RSpecの学習が順調に進みポートフォリオへの実装もできました。

また、「SEO」対策にも注力しています。
具体的には、

- metaタグのタイトル
- キーワード
- ディスクリプション
- パンくずリスト

などを、Gemを利用して実装しています。
SEOの効果が奏してか、「プロテイン 口コミ共有サービス」でググったりすると、30番目くらいに表示されています！
とはいえ、SEOは1ページ目に表示されてこそなので、まだまだSEO対策及びコンテンツの充実をしていかなければならないですね。

## 5月下旬～6月上旬

### 『プロを目指す人のためのRuby入門』
転職活動のコーディングテスト対策のため、『プロを目指す人のためのRuby入門』を学習しました。
配列やハッシュ、シンボルについての理解を深めることができましたが、それ以降の章については、理解が及ばない部分が多かったです。

おそらく「どのようにRailsのアプリケーション開発に役立てられるのかわからない」からだと考えています。
より大規模なアプリケーションの開発に携わりソースコードに触れることで、より高度なRubyの使い方を理解できるのだと思います。

## 6月中旬

### 書籍『Amazon Web Services 基礎からのネットワーク&サーバー構築』でAWSをざっくり理解
ここで少し寄り道というか、1週間程度ポートフォリオ開発に必須ではないAWSの学習をしました。今年の4月より社内SEとしてのオンプレのインフラ関係の仕事をしていたりするのですが、「IPアドレス」や「DNS」といったワードがチンプンカンプンだったので、勉強することにしたわけです。

結果的には、クラウドを用いながらインフラの知識も学べたため、実務にはとても役立つこととなりました。
「IPアドレス払い出しといて」や「DNSの書き換えといて」といったタスクにも、きちんと意味を理解しながら対応できるようになりました。

## 6月下旬

### 「Rails Tutorial」でRailsを体系的に復習
ポートフォリオを作りきった後ですが、Rails Tutorialを始めました。タイミング的にはいまさら？な感じですが、ここで踏み切った理由は下記になります。

- Ruby/Railsのレベルアップ
- コードを書く癖を維持する
- クラス、モジュールの理解
- テストケースの洗い出し

完遂してみてわかりましたが、意外と初見の知識（RubyやRailsのメソッド）を多く知ることができました。
また、Railsチュートリアルは、Rubyエンジニアの共通話題になることも多く、そういった点からも取り組んで良かったなと感じます。

## 6月上旬〜下旬

### 少しずつ転職活動開始
6月から転職活動を本格的に始めています。

選考の一環でコーディングテストや1日インターンなどに参加したのですが、社員さんからのフィードバックは「オブジェクト指向を理解していない」「プログラミングの思考法が未熟」といった内容でした。

そこそこの質のポートフォリオを作成し、自信を持っていたのでショックでしたし、「自分はエンジニアには向ていないのかも？」などど考えてしまったのですが、Rubyを基本から学びなおしたり、新たにJavaScriptを学ぶことでエンジニアへの興味は徐々に持ち返してきました。

「オブジェクト指向を理解していない」といったフィードバックをブレイクダウンすると、「Rubyのクラス、モジュールの理解と実践」が足りていないのだと推察しています。
「プログラミングの思考法が未熟」といったフィードバックに対しては、コードを書く量が減ってしまっていたことが起因しているかと思います。

定期的に新しい技術などを学びながら、コードを書く量を増やしていくことで解決していくこととしました。

## 7月
### JavaScript / Vue.jsの学習
7月はJavaScriptおよびVue.jsの学習をしました。

理由としては、転職活動を進める中で「JavaScriptの学習をしたことはあるか?」という質問を何度か受け、その意図を考えると「WEBエンジニアはフロントエンド開発の機会がかなり多い」ことがわかったためです。Rubyはバックエンドの技術のため、一度フロントエンドよりの技術も触ってみたほうが良いと考えてJavaScriptの学習を始めたのです。

具体的には、Udemy「Vue JS入門決定版！jQueryを使わないWeb開発 - 導入からアプリケーション開発まで体系的に動画で学ぶ」、「はじめてのJavaScriptプログラミング入門講座」や書籍『基礎から学ぶ Vue.js』を利用しました。

かなり手を広げたわりには、成果物の作成を怠ってしまったことがネックですが、履歴書に「JavaScriptの利用経験有り」と書くに足る経験を得られたと思います。
### 週に1回程度の転職活動
7月の転職活動は、引き続き「週に1度選考を受けに行く」という程度のペースで続けていました。
せっかくWantedlyで返信をいただいても1次面接で不合格になるケースが多くモチベーションを保つのに苦労しました。

「やっぱり転職しないほうが良いのじゃないか?」という疑念が常にありましたが、筋トレをすることで自己肯定感を強め、なんとかモチベーションを維持していました。

## 8月〜9月
### 「AtCoder」でコーディングテスト対策
プライベートな時間をほぼ全て転職活動に費やしておりましたので、プログラミングの学習はあまり割けておらず、平日30分、土日2時間ほどでした。

この限られた時間は、全て「AtCoder」によるコーディング対策をしていました。
コーディングテスト対策は、「Paiza」や「HackerRank」、「LeetCode」などを試してみたのですが、「AtCoder」が抜群に良かったです。

理由としては、特に下記の3点が大きかったです。

- 日本語で利用できる
- 他人の解答を確認できる
- 解き方の解説記事がわかりやすい

結果的に、AtCoderによるコーディング力向上はかなりのもので、8月以降課されたコーディングテストは、「初心者ながらコードがシンプルで良い」といった旨のフィードバックを数社様からいただき、通過することができました。

### フルコミットの転職活動
7月までの転職活動の方針「週に1回程度の選考を受ける」を180度変え、2ヶ月の間は転職活動に全力でコミットし、「週に何度でも選考に受けに行く」方針としました。

理由としては、週に1度の選考しか受けられないと、受けられる企業の数があまりにも少なくなってしまうためです。社会人としてフルタイムで働いてはいますが、転職活動のリミットを9月下旬と定め、8月から9月の間はプログラミングの学習はほどほどに、全力で転職活動に打ち込むこととしたのです。

具体的には、「18時前に千葉の職場を出て都内の企業に選考を受けに行く」というようなことを週に3回程度行なっていましたし、「有給休暇を取得して、1日に選考を3社ほど受験する」ということも行なっていました。

心身ともにハードでしたが、8月上旬に内定を1社いただいてからは若干心にゆとりが出てきたのを感じました。
また、面接の経験値が蓄積され、面接官からの質問にもテキパキと応答し、手応えを感じていました。

結果的に、受託開発や自社開発のWEBエンジニア、社内SEなど計4社ほど内定をいただき、明確に自分が成長していけると確信できた受託開発の企業にお世話になることにしました。

# まとめ
2018年12月の学習開始から9ヶ月感を振り返ると、遠回り（AWSやVue.jsの学習）してしまったことも多く、転職活動終了まで9ヶ月感を要してしまいました。

とはいえ、サラリーマンとして仕事を続けながら、学習と転職活動を完遂し、志望度の高かった会社に行けて良かったです。

ここからがWEBエンジニアとしてのスタート地点ですので、気を緩ませず邁進して参る所存です！！

参考1：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第1部/3部作】](https://qiita.com/YukiWebTech/items/b31926c256e3c4392071)
参考2：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第2部/3部作】](https://qiita.com/YukiWebTech/items/e975f41fd55e3b4cbd81)