【31歳+未経験+独学】3ヵ月でWeb系エンジニアに転職した話

## はじめに
僕は実務未経験から3ヵ月間プログラミングを勉強し、Webエンジニアに転職することができました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">この度、Webエンジニアとして内定をいただくことができました。<br><br>モダンな環境で、人柄も素敵な方々ばかりで、楽しみです。<br><br>8月から勉強を始め、31歳+未経験+独学+働きながらでしたが、諦めずに続けてよかったです。<br><br>転職はゴールではなくスタートなので、今まで以上に勉強していきたいと思います。</p>&mdash; cocoa-engineer@未経験からRailsエンジニア (@CocoaEngineer) <a href="https://twitter.com/CocoaEngineer/status/1193850506021462019?ref_src=twsrc%5Etfw">November 11, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>　　


そこで、僕の実体験を元に未経験からWebエンジニアに転職するまでの3ヵ月について、書かせていただこうと思います。

同じように、**未経験からの転職を目指している方の参考になれば幸いです。**

## 自己紹介
- 年齢：31歳
- 学歴：法学部卒
- 職歴：公務員

僕は、**文系卒**の**公務員**で年齢も**31歳**と決して若くありません。
勉強を始めるまで、**プログラミングのプの字も知りませんでした。**

また、プログラミングスクールには通わず**独学**で勉強することとし、公務員として**働きながら**、平日の夜と土日を使って勉強をスタートしました。

## 1ヵ月目前半:プログラミングに触れてみる
上記のとおり、プログラミングに全く関わったことがなかったので、**まずはプログラミングに触れてみる**ことから始めました。

最初に使った学習サイトは、**Progate**です。
何から手をつけていいのか分からなかったので、とりあえず**全てのレッスン**を一通りやってみることにしました。

今思えば、ある程度言語を絞って学習した方が効率がよかったと思います。しかし、当時の僕は言語などについて全く知識がなかったので、とりあえず一通りやってみました。

Progateを終えたところで、次は学習する言語を絞ることにし、いろいろと調べていく中で、**Rubyという言語に興味が湧きました。**

Rubyの特徴としては、**楽しくプログラミングができる**ように設計されており、また、日本人のまつもとゆきひろさんによって作られたため、**日本語文献**が多く、**初学者でも比較的学習しやすい**ことが挙げられます。

また、僕が転職を希望していたような、フルリモートやフレックスタイム制など、いわゆる**自由な働き方**で、かつ**エンジニアとしてのスキルアップ**がしやすい環境で開発をしている企業に、**Rubyを使っている企業が多い**ということも決め手になりました。

## 1ヵ月目後半:言語の選択
Progateを終えた次の段階として、RubyのフレームワークであるRuby on Railsを学ぶことができる、**Railsチュートリアル**の学習を始めました。

しかし、Railsチュートリアルは**初学者にとってかなり難易度が高く**、一度やっただけではほとんど理解することができませんでした。

よく、**Railsチュートリアルで挫折する方が多い**という情報を目にしますが、本当にその通りだと思います。

僕の場合、年齢的にも未経験の業界に飛び込むのは厳しい状況だったので、やるしかない！という思いから、何とか**モチベーションを保つ**ことができました。

最終的には、Railsチュートリアルを3周くらいは勉強したと思います。

## 2ヵ月目前半:Udemyや書籍での学習
Railsチュートリアルをある程度理解できるようになってきたところで、Rails以外の学習にも取り掛かりました。

具体的には、**Udemy**を使って**Git**、**SQL**、**AWS**、**Docker**などの学習や、「Webを支える技術」、「リーダブルコード」、「プロを目指す人のためのRuby入門」などの**技術書**を読んだりしました。

## 2ヵ月目後半:ポートフォリオの作成
Railsチュートリアル、Udemyなどで一通り学習したところで、早速**ポートフォリオの作成**に取り掛かりました。

もっとインプットに時間をかけてもよかったのかもしれませんが、自分の場合飽きっぽい性格のためだらだらと続けると途中で辞めてしまいそうだったので笑、鉄は熱いうちに打て！という感じで、早い段階でポートフォリオを作ることにしました。

ポートフォリオは、**Railsチュートリアルで学んだ機能に、さらに機能を追加**したようなものを作りました。

具体的には、「コメント機能」、「いいね機能」、「通知機能」、「検索機能」、「Deviseによる認証機能」、「Rspecによるテスト」、「Googleアカウントでのログイン機能」などを実装し、インフラにはHerokuではなく、**Docker**、**AWS**、**CircleCI**などを使いました。

また、アプリを使うのは他でもないユーザーなので、**ユーザーが本当にそのアプリを使いたいと思うかどうか**を自分なりに考えて、ポートフォリオを作ることを意識しました。

ただ単に既存アプリのクローンを作るのではなく、**UIを工夫**してみたり、**あえてログイン機能を付けない**、**ページ遷移を少なくする**方がユーザーにとって使いやすいのではないか、など**ユーザーフレンドリー**の観点からポートフォリオのアイデアを考えていくのも重要かなと思います。

## 3ヵ月目:転職活動
この頃から転職活動を始めました。
**Wantedly**や**Green**などの求人サイトに登録し、興味があるところにひたすら応募し続けました。

応募の結果としては、**面接まで進むことなくお祈りメールをいただくことがほとんど**でしたが、**運良く数社の企業から面接**をしていただけることとなり、最終的には、**3社から内定**をいただくことができました。

## 面接時に評価されたポイント
面接時に評価されたポイントとしては、「自走力」だったのかなと思います。
ポートフォリオ自体は技術的には大したものではなかったと思いますが、**未経験者が働きながら独学で勉強し、3ヵ月でポートフォリオを作成したという意欲**を、どの企業からも高く評価していただきました。

また、上述したように、ポートフォリオを**ユーザーフレンドリー**の観点から自分なりに考えて作ったこともよかったのかなと思います。
ポートフォリオを提出する場合は、面接時にポートフォリオの内容（作った理由や作成において心がけたポイントなど）を聞かれることが多いので、アイデアの段階から**面接を意識したポートフォリオを作り**をしていくことも大切かと思います。

また、**Twitterで学習に関するアウトプット**をしていた点も高評価に繋がったようです。

## 最後に
僕の場合3ヵ月で内定をいただくことができましたが、エンジニアとしてのスキルはまだまだひよっこです。

**転職はゴールではなく、スタート**なので、これからも今まで以上に学習を継続していきたいと思います。

この記事が、少しでも多くの方の参考になれば幸いです。