プログラミング未経験化学系大学院生がWeb系企業に新卒で内定をもらうまでの記録

# はじめに
はじめまして！
就職活動の結果、全くの未経験の状態からWeb系自社開発企業に内定をいただくことができたので、記録を残しておきます。
中途ではなく、新卒のエンジニア職での採用になります。他業種からエンジニアに転職されている方の記事は多く見かけましたが、新卒についての情報は少ないと感じたので記事化しようと思いました。もちろん転職活動に取り組んでいる方にも参考になる内容だと思います。

## 学習を始める前の状況
- 某大学の大学院生、化学系の研究をしている
- 研究室では完全なポンコツで、業績としては国内の小さな学会で1回発表しただけ
- 月～土は10時から23時くらいまで研究漬け（いわゆるブラック研究室）
- 2020年5月現在で大学院修士2年生、就活的には”21卒"と呼ばれる世代
- 研究でも学部時代もプログラミングにはほぼ触れていない
(研究で少しだけ計算ソフトを使っていたが、そのときは`cd`すら知らなかった)
- SIerとかWeb系といった言葉自体を知らない本当に0の状態からスタート

## 読んでほしい人
- 現在、Web系エンジニアを目指し就職活動に取り組んでいる人
- これからWeb系エンジニアになりたい人
- なんとなくIT業界に行きたいと思ってる人
- **研究室で苦しんでいる大学（院）生**

## 伝えたいこと
相性の合わない研究室に入ってしまい、挫折して絶望していた自分が、新しいステージでやり直すという思いでプログラミングを勉強し、エンジニアとして再スタートすることができました。
この記事を通して、色々な状況で苦しい思いをしている人に、**分野を変えるのはいつからでも遅くはない**と伝えたいです。

# 就職活動を始めてから内定をもらうまで
## 基本情報技術者試験を受ける(2019年10月)
2019年の夏ごろ、自分の研究分野への才能の無さを痛感し、一念発起してIT業界に就職しようと考え始めました。完全な未経験だったので、とりあえず勉強しとこうと思い、7月くらいに基本情報技術者の試験に申し込みました。
この学習方法についてはまた他の記事で書こうと思いますが、3ヶ月半ほどの学習で合格しました。

資格の有無が内定に直結したとは思わないですが、ここで広く浅く学んでおいたのは後の学習に活きましたし、面接で話すネタにもなりました。

## 研究のかたわら情報収集(2019年11月~12月)
基本情報の試験が終わってから年末くらいまでは研究が忙しくなり、平日は研究、休日は合同説明会などで情報収集をしてました。

他にも研究の合間にYouTubeやブログなどをみて情報を集めていました。
このあたりでSIerとWeb系の違いを知り、Web系の企業に行きたいなと思いつつもプログラミングをしたことがないので無理かな、、、と思ってました。

## 初めてプログラミングに触れる(2020年1月)
年末年始で時間があったのでふと思い立ってProgateやドットインストールを始めました。
- Progate HTML/CSS
- ドットインストール Bootstrap
- Progate JavaScript
- Progate jQuery
- YouTube動画を見ながら模写コーディング×2
　　- https://youtu.be/9cKsq14Kfsw
　　- https://youtu.be/V_lAhqLXT9A

以上を1ヶ月ぐらいでやりました。ここまでで、時間はかかるもののWebサイトの見た目については1人でコードを書いて実装できるようになっていたと思います。


## ポートフォリオを作成(2020年2月)
2月の頭に1社面接を受けました。ポートフォリオ無しで特攻した結果、門前払いを受けたため、すぐにポートフォリオ作成にとりかかりました。
- Progate Ruby
- Progate Rails
以上を2週間ほどで集中的にこなしました。

さらに2週間ほどでSNS系のWebアプリを作成し、herokuにデプロイしました。（2020年2月）
GoogleMapsAPIを使ってみたりはしましたが、機能として目立ったところは特に無く、"Progateに毛が生えた程度"のポートフォリオでした。

ちなみにこの時の経験を[Qiitaに投稿したり](https://qiita.com/takekou/items/f61cdb9c9a4e6baca9db)もしました。

これ以降はポートフォリオは触っていません。
## 説明会、面接ラッシュ、そして内定へ(2020年3月～5月)
3月に入り、説明会や面接が本格的に始まりました。3月中はエントリーシート、自己分析、企業調べといった就活っぽいことをしてました。SIerやSES企業は避けるようにし、Web系企業で入れそうなところにエントリーしていました。

4月中は面接ラッシュでした。コロナウイルスが直撃しましたが、さすがWeb系企業という感じで、すぐにオンライン面接に切り替わり、問題なく選考を受けていました。

最終的に5月に入ったくらいで内定の連絡をいただきました。

就活についてはよく分かりませんが、技術力が不足している分、中高の部活や大学、研究など**これまでの経験で得たことをどう活かして事業に貢献できるか**、という視点が大切なのかなと感じました。

# 振り返り・反省点
## 学習時間
学習にかけた時間をざっと計算してみると
- 1月は研究と並行していたこともあり、月～土は2時間、日曜は1日中勉強していたので、週で20時間くらい。なので月で80時間くらい。
- 2月は研究は下火になり、月～土は5時間、日曜は1日中という感じで、週で40時間くらい。なので月で160時間くらい。

以上から、プログラミングを始めてポートフォリオを完成させるまでにだいたい250時間前後かかったかと思います。

また、基本情報技術者の資格のために3ヶ月半の間、たまにサボりつつ1日1時間くらいずつ勉強していたので、それを含めると300時間～350時間
くらいになると思います。

## 良かった点
### ポートフォリオを作成したこと

転職市場ではポートフォリオがないと話にならないという状況のようですが、新卒ではポートフォリオがあるというだけで評価していただける企業もありました。Progateに毛が生えた程度のしょぼいものでも、とりあえず作成して公開しているという事実はかなり重要だったと思います。

### 基礎学習に時間をかけ過ぎなかったこと

これは様々な方が見飽きるほど言及していることですが、**Progateを何週もするような学習は無駄です。** 私自身、Progateは各1回だけやって、すぐにポートフォリオの作成に取り組みました。その中で忘れていることがあればその都度スライドを見直して確認する、という形で勉強していました。
結果として、プログラミングを始めてから2ヶ月でポートフォリオを作成できました。

### 新卒でWeb系をあきらめてSIer、SES企業にいかなかったこと

非情報系、プログラミング未経験ということで、就活を始める直前までは新卒ではとりあえずSIerに入って、そこからWeb系に転職しようかなと思っていました。ただ、[新卒カードをSIer系企業で使ってしまうことが得策ではない理由](https://www.youtube.com/watch?v=43Da2BKG99c&t=330s)のような動画を観ているうちに、新卒でSIerに行くのはもったいないと考えるようになりました。
結果的にWeb系の企業に挑戦し、内定をいただくことができました。受ける前からあきらめず、ダメもとでも挑戦して本当に良かったと思います。

### 必要以上に費用をかけなかった

プログラミングの学習にあたってかかった費用はProgateとドットインストールの会費くらいで、合計5000円くらいです。数万円もするようなプログラミングスクールには通っていません。
スクールについては賛否両論あるかと思いますが、プログラミング未経験者がエンジニアになるにあたって、個人的には**必ずしもスクールに通う必要はない**と思いました。
運が良かった部分もありますが、私自身はスクールに通わずWeb系企業に内定をいただけたので、「未経験からエンジニアになるには数万～数十万という費用をかけてスクールに通わないといけない」と思い込み、あきらめてしまうのはもったいないと思います。

## 悪かった点
### もっとポートフォリオに力を入れておくべきだった

エントリーシートや面接対策を言い訳に、herokuにデプロイした時点でポートフォリオの作成をストップしてしまいました。他の応募者と差別化するために、AWSやDockerといった技術をポートフォリオに組み込むところまで取り組むべきでした。

### ポートフォリオの題材

ポートフォリオ作成では、どんな技術を使うかも重要ですが、**何のために作るのか**も重要だと個人的に思いました。面接では、ポートフォリオを作った理由を聞かれることが多かったです。自分はポートフォリオの題材を深く考えずに決めてしまったため、志望理由と成果物の間の矛盾を指摘されることが何度かありました。
単にプログラミングの練習のために作る、というよりも、**自分の志望理由や経歴に沿うような題材を選ぶ**と面接の際に話がしやすいと感じました。
例）前職で医療系の仕事をしていた→ヘルスケア系のアプリ、など

### 長期インターンをやっておけばよかった

学部時代にアルバイトの代わりとして、どこかしらのベンチャー企業とかの長期インターンをやっておけばよかったと思います。多くの人がスクールなどでお金を払ってでも体験したいチーム開発を、給料をもらいながら経験できるのはかなりお得です。
学生であれば未経験でも採用してくれるところはけっこうあるイメージです。就活を意識し始めた学部3年生の方とかは、まだ全然間に合うのでぜひ参加することをおすすめします。

### 受ける企業を絞ってしまった

「未経験可」や「技術力は不問」といった注意書きのある企業を優先的に受けていましたが、自分の可能性を狭めているだけで無駄でした。特に新卒については技術力以外の部分を評価してもらえる企業が多いと思うので、勝手に自分で制限を設けず、もっと多くの企業にエントリーすべきでした。

# 最後に
QiitaやYouTube等で多くのエンジニアに関する情報に触れ、なんとかエンジニアとして就職することができました。このような有益な情報を発信をされている方々や面接をしていただいた企業の方々、ポートフォリオ作成や面接対策の際に相談に乗っていただいた先輩方に感謝の気持ちを伝えたいです。

この記事の通りにすれば絶対上手くいくとかではなく、あくまでもサンプルの1つとして参考にしていただければと思います。
新たにエンジニアとして働きたいという方の励みになれば幸いです。


## 参考にした記事など
自分がエンジニアを目指すきっかけとなった、未経験からWeb系エンジニアに転職された方の記事
- [未経験から4ヶ月でWeb系エンジニアに転職するためにやったこと](https://qiita.com/ryokky59/items/833cb3cf916ec0fd1e19)
- [化学系研究者が完全未経験からWeb系自社開発企業に転職するまで](https://qiita.com/fuku_tech/items/b8db09720c6d38eb27b9)