【転職】未経験がWeb系自社開発企業の内定を得るまでにやったことすべて

## はじめに

どうも皆さんこんにちは！[Web系エンジニアのとも](https://twitter.com/tomokn5)と申します。
僕は2022年1月～プログラミングを本格的に勉強し、ついに先日、**某Web系自社開発企業から内定**をいただくことができました。

ただ、転職成功までの道のりは決して平易なものではありませんでした。
ということで、9ヶ月前の僕と同じように

- 本当に未経験からWeb系エンジニアになれるのかな？
- どういうふうに学習すればいいんだろう？

と悩んでいる方向けに、僕が取り組んだすべてを紹介したいと思います。

## 時期別に紹介

### 1月～4月中旬：AP対策

まず、CSの基礎を固めるために、応用情報技術者試験(AP)を受験することにしました。
使った参考書は以下の2冊です。

- [ニュースペックテキスト 応用情報技術者 2022年度 (情報処理技術者試験)](https://www.amazon.co.jp/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E5%BF%9C%E7%94%A8%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-2022%E5%B9%B4%E5%BA%A6-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93-TAC%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E8%AC%9B%E5%BA%A7/dp/4813299954/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1664536901&sr=8-8)
- [2022 応用情報技術者 午後問題の重点対策 (重点対策シリーズ)](https://www.amazon.co.jp/2022-%E5%BF%9C%E7%94%A8%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E5%8D%88%E5%BE%8C%E5%95%8F%E9%A1%8C%E3%81%AE%E9%87%8D%E7%82%B9%E5%AF%BE%E7%AD%96-%E9%87%8D%E7%82%B9%E5%AF%BE%E7%AD%96%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%B0%8F%E5%8F%A3/dp/486575251X/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1QYBC7DIW54B&keywords=%E5%BF%9C%E7%94%A8%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93&qid=1664536901&qu=eyJxc2MiOiI0LjU4IiwicXNhIjoiMy44NCIsInFzcCI6IjMuODAifQ%3D%3D&sprefix=%E3%81%8A%E3%81%86%E3%82%88%E3%81%86%2Caps%2C381&sr=8-5)

僕はちょっと背伸びをして、基情(FE)をすっ飛ばしていきなり応情(AP)を受験しましたが、基情でも応情でもCSの基礎の部分をさらうことはできるので、どちらでもOKです。
あとは[過去問道場](https://www.ap-siken.com/apkakomon.php)を活用しまくり、計150～200時間ほど対策したところ、午前が75%,午後が64%でなんとかギリギリ合格しました。

よく「CSの基礎は飛ばしていきなりプログラミングから入ってOK」という意見も目にしますが、個人的にはあまりオススメしません。
なぜなら、CSの基礎の基礎ぐらいは知っておかないと、「**なんだか動くけど何をやっているかわからない状態**」に陥ってしまい、プログラミングを楽しむことが難しくなるからです。

ただし、同時並行でやる分には問題ないと思いますし、むしろオススメしたいです。
僕はAPの試験対策と並行して、

- [AtCoder(競技プログラミング)](https://atcoder.jp/)
- [kaggle(データ分析コンペ)](https://www.kaggle.com/)
- [progate](https://prog-8.com/)

この3つに取り組みました。（progateはHTML,CSS,JavaScript,Python,Git,SQLを一通りやった程度）

※ AtCoderはやってもやらなくてもどちらでも構いませんが、kaggleはデータサイエンティストにならない限りはほとんど意味がないので、やらなくてOKです。

### 4月中旬～5月上旬：paiza

APの試験が終わってから2,3週間は、[paiza](https://paiza.jp/works/courses)をめちゃくちゃやり込みました。
progateはかなり基礎よりのコンテンツであり応用力に欠けるため、個人的にはpaizaを使うことを強くオススメします。

paizaでは主に、以下の内容を学びました。

- flask
- django
- git
- linux
- javascript
- ruby

### 5月上旬～5月中旬：Railsチュートリアル

僕はこの時点まではPythonを学習してきたのですが、

- Djangoの良い教材がない…
- Djangoの求人数が少ない…

以上2つの理由から、教材が充実しており求人数の多いRailsに乗り換えました。

[Railsチュートリアル](https://railstutorial.jp/)は本当に良い教材ですので、絶対に学習することをオススメします。
ただ、これまでの教材に比べると遥かに難しいので、学習する前にRubyやGitの基礎はpaizaなどで固めておいてください。

僕は、Railsチュートリアルに挑戦する前に、Gitの基礎を固めるため、「[Git： もう怖くないGit！チーム開発で必要なGitを完全マスター](https://www.udemy.com/share/101WYW3@3gFMfzGllr21mCfsXURsd0rimJhgTyPNwLaFqTTMSIf3a7IEBrD6w6XP-klrckc0Pw==/)」という、Udemyで超絶評価の高い講座を学習しました。


### 5月下旬～6月上旬：Udemy+αで最終準備

いよいよポートフォリオ開発…といきたいところでしたが、AWSやDockerを最初から組み込みたいという強い意志があったので、ここでUdemyを使った学習に励みました。

取り組んだ教材は以下のとおりです。

- [AWS：ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得](https://www.udemy.com/share/101Yby3@rFuvNqcsXbOMdeuKEcRF5Veni9SqqOMIuHlZPPU2kzWrsdGnOd7Bgz85wjVmt_t6Ug==/)
- [米国AI開発者がゼロから教えるDocker講座](https://www.udemy.com/share/103aTR3@x1ebnVp21ZZdzElrm7xhtffayqdNgxUDyPvWHOB0R1q8uFCqEKYrIBJN-lQ9vFaZhg==/)
- [Nuxt.js入門決定版！Vue.jsのフレームワークNuxt.jsの基本からFirebaseと連携したSPAの開発まで](https://www.udemy.com/share/101A4W3@WE6O7BwmOeKSxqOHGdhml-yEAyAqn6Lb-pwNlvmcs6O9_efomUpSQhZvMbygSl7FCg==/)
- [Everyday Rails - RSpecによるRailsテスト入門](https://leanpub.com/everydayrailsrspec-jp)
- [Nuxt.js + Ruby on Rails + AWS Fargate の開発・デプロイチュートリアル](https://zenn.dev/hibriiiiidge/books/49ee4063b10cec1df1a2)

他にもYouTubeなどで補助的に学習はしました。詳しくは「[【SPA化】RailsアプリをCircleCIを使ってAWSにデプロイするまでのロードマップ【Fargate】](https://sakuya-chips.com/284/)」をご参考ください。

### 6月中旬～8月上旬：ポートフォリオ作成

![hayakuchi-screenshot-top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2381497/108dbfcf-1f14-1a93-8522-9d42fb98b0c8.png)

約2ヶ月かけて、『早口言葉選手権』というWebアプリをリリースしました。
ポートフォリオについては別記事で詳しく解説していますので、そちらをご参考ください。

→[【個人開発】楽しみながら滑舌を鍛えることができるWebアプリ『早口言葉選手権』をリリースしました⚾🏏](https://qiita.com/tomo-kn/items/293280565b7ab69506e5)

### 8月中旬～8月下旬：転職活動準備

ここまで完全独学で学習に取り組んできた僕ですが、転職活動だけはコミュニティの力を借りました。
それが「[転職クエスト](https://tenshoku-quest.net/tenkue/)」というWeb系エンジニア転職に特化したコミュニティです。

ポートフォリオが優れていても、転職対策を怠れば書類通過率は著しく下がります。
逆に言えば、「ある程度質の高い」ぐらいのポートフォリオであっても、面接対策をガチることで、書類通過率が劇的に向上し、第一志望の内定率が飛躍的に向上します。

「早く転職したい…！」という気持ちはわかりますが、焦っても何もいいことはないので、急がば回れでしっかりと対策をすることをオススメします。


## 転職成功のためのアドバイス

さて、ある程度再現性の高いロードマップだと客観的にも思いますが、それでも完璧というわけではありません。
そこで、今だから思うことを3つアドバイスしたいと思います。

### ①言語は最初からRubyを選ぶべし

僕は数学科出身ということもあり、データ分析にも興味があったので、世界的に需要が高く機械学習に強いPythonから学習を始めました。
ですが、もし頑なにPythonで学習を続けていたら、

- Djangoのいい情報がない…
- ポートフォリオ開発で、同じように悩んでいる初心者の情報がほとんどない…
- Djangoの求人数が少ないから転職に苦労する…

というような未来が待ち受けていたと思います。

たしかにPythonは需要の高い言語であり、Rubyは世界のトレンド的に言えば人気は落ちてきていますが、**「未経験からWeb系自社開発企業に転職を成功させる」という最大の目的を果たすためには、間違いなくRubyを選択すべき**です。

初期の僕のように、変に意固地になったりせずに、皆さんは最初からRubyとRailsを学習してくださいね。笑

### ②GitHubのissueを活用すべし

今回僕が面接で高く評価されたのは、「**GitHubのissueの使い方**」でした。
僕は、後で見返してわかるように、思考や問題解決の流れをすべてGitHubのissueにまとめていました。
（リポジトリを公開しているので、よろしければご参考ください。少し恥ずかしいですが笑）

- GitHubのリポジトリ：https://github.com/tomo-kn/hayakuchi-championship

これらのissueを見ていただいたことによって、問題にぶち当たった時の解決力や検証力をアピールすることができ、結果第一志望のWeb系自社開発企業から内定をいただくことができました。

はっきり言って、未経験はスキルでは勝負できないので、面接官の方に「こいつは伸びるかもしれんぞ…！？」という期待感を持たせるしかありません。
そのためには

- 少し難しめの技術（SPAなど）を導入してみる
- ER図を複雑にしてみる

など様々な施策が考えられますが、今回僕がやった「**GitHubのissueをフル活用する**」が最も再現性が高く、かつ最もコスパが良いと思うので、皆さんも是非取り入れてみてください。

※ 当たり前ですが、issueに機密情報を書いて情報漏洩してしまう、みたいなことがないよう、くれぐれもご注意ください。

###  ③様々な情報源を参考にすべし

エンジニアには**検索力**が必要不可欠です。
なので、未経験のうちから、なるべく色々な情報に触れるよう心がけましょう。

たとえば僕は、以下のようなことを行った結果、自分にとって価値の高い情報にたどり着くことができました。

- テック系インフルエンサーを10人以上フォローし、発信内容の共通点や相違点を洗い出す
- 複数のプログラミングスクールのカリキュラムや実績を調べ、どういうカリキュラムだと成果が出やすいかを分析する

自ら能動的に情報を取捨選択する習慣をつけておくのは、非常に大切なことだと思います。

## おわりに

いかがだったでしょうか。
転職できるか不安だ…と感じている方にとって、この記事が少しでもお役に立てれば幸いです。

僕自身も、今後の成長に期待して採用していただいた段階に過ぎないので、これからも日々学習に励みたいと思います！
（今は早く実務にキャッチアップできるように、名著と呼ばれる本をヒーヒー言いながら読み漁っていますｗ）

お互い頑張りましょう！！
以上、最後まで読んでいただき、ありがとうございました！

▼ポートフォリオURL
https://hayakuchi-championship.com/
▼GitHub
https://github.com/tomo-kn/
▼Twitterアカウント
https://twitter.com/tomokn5