未経験独学で自社開発企業へ〜薬剤師からのエンジニア転職記〜

はじめまして🙋‍♀️
おでこと申します。

この度、薬剤師として働きながら独学でフロントエンドエンジニアとして、自社開発のSaaS企業様へ内定をいただくことができました。

同様に未経験からエンジニアへの転職をめざす人に向け、学習開始から転職活動〜内定までを振り返ってみたいと思います。

# 目次

- [未経験からエンジニア転職を目指して感じたこと](#未経験からエンジニア転職を目指して感じたこと)
- [プロフィール](#プロフィール)
- [独学でのプログラミング学習](#独学でのプログラミング学習)
    - [Progateで学習開始](#Progateで学習開始)
    - [書籍での学習](#書籍での学習)
    - [１度目の挫折](#１度目の挫折)
    - [ポートフォリオ作成](#ポートフォリオ作成)
    - [独学でプログラミングを学習して感じたこと](#独学でプログラミングを学習して感じたこと)
- [転職活動](#転職活動)
    - [転職サイト、SNSの登録](#転職サイト、SNSの登録)
    - [エージェント経由](#エージェント経由)
    - [２度目の挫折](#２度目の挫折)
    - [自己応募](#自己応募)
    - [転職活動結果まとめ](#転職活動結果まとめ)
    - [転職活動を通して感じたこと](#転職活動を通して感じたこと)
- [最後に](#最後に)

# 未経験からエンジニア転職を目指して感じたこと

まず初めに、私が今回の活動を通して感じたことをまとめます。

### 独学でプログラミングを学習して感じたこと
- １人で学習を続けられる自信がないならスクールへ行ったほうがいい
- ChatGPTは最強だが万能ではない
- わからないことは現役のエンジニアに聞いた方がいい

### 転職活動を通して感じたこと
- 面接対策は徹底的に行う
- エージェントに頼るときは受け身にならない
- ポートフォリオは必須。ただし、面接で触れられるとは限らない
- SESに行きたいなら資格をとるべき
- 転職サイト、エージェント、SNSなど、利用できるものはすべて使ったほうがいい
- Xのエンジニア界隈は怖い
- SQLについて学んでおくと有利かも？

箇条書きのそれぞれの項目については記事の途中に詳細を記しました。

# プロフィール
年齢は20代後半。私大薬科大学卒業後、薬剤師免許を取得し、大手調剤薬局チェーンに入社しました。

プログラミングに関しては、学生時代に研究室でExcelやPowerPointを使用したことがあるぐらいで、全く触れたことがない状態でした。

### なぜ薬剤師からエンジニアを目指したか
きっかけはシンプルで、**薬剤師の仕事に飽きたからです。**
薬剤師の仕事は好きですが、毎日処方箋を受けて薬を準備して渡す、その繰り返しがこれからも続いていくことを想像したときに、「このままで自分は成長できていると言えるのか？」「もっと他のことができるんじゃないか？」と考えるようになりました。

そんなとき、知人のエンジニアの方から「プログラミングを始めたら？」とProgateを勧められ、暇つぶしぐらいの軽い気持ちで学習を開始しました。学習を進めると、大げさに言うと世界の見方が変わりました。薬局内で使用している電子カルテシステムなど、日々感じていた不満や要望を解消できるかもしれないと考えるようになりました。

この頃からエンジニア転職を考え始めました。
プログラミングを勉強していけば、目の前の患者さんだけでなく、医療従事者や患者さんの家族など、**もっとたくさんの人の役に立つことができるのではないか**。そういう仕事がしてみたいと思いました。
また話を聞いて、**エンジニアは自分が身につけた技術がそのまま評価される職種**だと感じました。日々学習が求められるため、モチベーションを高く持ち続け、成長していけるのではないかと思いました。

とはいえ、薬学部で勉強してきた期間を考えると、すぐに決断ができるものではありませんでした。ただ、薬剤師に戻りたければいつでも戻れること、やらない後悔はしたくなかったこと、この２点が後押しになり、挑戦することにしました。

# 独学でのプログラミング学習

まず初めにQittaなどの記事で、独学やプログラミングスクールに通われた方がどのように学習を進め、転職できたのかを調べました。同じような境遇の方を参考にして進めていくのが効率がいいと思ったからです。以下が参考にした記事の例です。

- [[テックキャンプ]完全未経験で100%自社開発企業3社から内定をもらうまでの記録と戦略](https://qiita.com/tochisuke221/items/8122c2bba4c53a74d280)
- [３０歳、未経験からのエンジニア転職を振り返る](https://qiita.com/jun1991/items/f6cc5b180bafb38dea19)

## Progateで学習開始
2022年3月から[**Progate**](https://prog-8.com/)で学習を開始しました。
**Web開発コース（Ruby on Rails）** を進めていきました。環境構築も不要で、デザインも可愛くて見やすいのでおすすめです。
無料プラン終了後、すぐに有料プランも始めました。学習期間は約6ヶ月、時間は約60時間です。

## 書籍での学習
学習の参考にした書籍を紹介します。
- [作りながら学ぶRuby入門　第2版](https://amzn.asia/d/jbYlfSr)
    
    実際に手を動かしてRubyでアプリを作ることができます。オブジェクト指向の感覚を掴むことができました。

- [プロになるためのWeb技術入門](https://amzn.asia/d/cWlaveV)
    WEBに関する知識を図解付きで学ぶことができます。「そもそもWEBアプリケーションって何？」というところから解説されています。

## 一度目の挫折
最初はエンジニアへの転職を考えていなかったため、学習を続けるモチベーションがありませんでした。全てのカリキュラムを終える前に、挫折してしまいました。4ヶ月ほど経って仕事が落ち着いた時期に学習を再開しました。

独学のデメリットの１つは、**学習を続けられない**ということだと思います。１人ではどうしても自分に甘くなって、挫折しやすいです。１人で続けることに少しでも不安がある方、効率よく学びたい方は、スクールに申し込んだほうが良いと思います。

## ポートフォリオ作成

2023年2月から実力試しのつもりでポートフォリオの作成を開始しました。
以下、私が作成したオリジナルアプリ **「Recipist」** と、そのソースコードです。

[Recipist](https://recipist.onrender.com)
[GitHub/Recipist](https://github.com/odendayoko/recipist)
![スクリーンショット 2023-09-09 17.19.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3537832/c03ece60-646a-eae0-810d-7caf08747066.png)


### 企画案作成
どんなアプリを作ればいいのか、アイデア出しには苦労しました。なぜなら、大体の思いつくものはすでに世の中に存在しているからです。

ポートフォリオとはいえ、初めて自分で作成するアプリなので、どうせなら自分が使って生活が便利になるものを作りたいと思いました。そこで、以下の内容を考えて企画案を作成しました。
- 生活していて困っていることはないか
- 利用しているアプリの中で、この機能が欲しいと感じているものはないか
- 学んだ技術の範囲内で実装できそうか

難しく考えすぎず、自分の生活を振り返って「こういうのあったらいいな」という想像を膨らませていくのが良いと思います。

以下は私の場合の例です。
- 生活していて困っていることはないか
    - レシピが複数のサイトに散在し、再度作ろうとしたときにどのサイトにあるのかわからない
    - 家族や友人から共有されたレシピを保存しておくことができない
- 利用しているアプリの中で、この機能が欲しいと感じているものはないか
    - 献立記録アプリを利用していて自分が作ったレシピを、写真やレシピサイトのURLと一緒に保存したいと思った
- 学んだ技術の範囲内で実装できそうか
    - 画像投稿機能、一覧表示機能は実装できそう
    - お気に入り機能は現状難しい

READMEのまとめかたはテックキャンプに通われている方のGitHubを参考にしました。
要件定義や画面遷移図などは、ポートフォリオで書かれているのは珍しいと面接でも評価されたので準備したほうが良いと思います。

以下が参考にしたリポジトリです。
- https://github.com/toyolife881/asobin
- https://github.com/t-hoshino206/recorally

### 実装

わからないときは、ChatGPTやQiitaの記事を参考にしました。
ChatGPTは最強の先生でした。これがなければ、実装はできなかったと思います。

また、Xなどで現役のエンジニアの方に質問もしました。どうしても解決できないときは、悩み続けるよりも誰かに聞いたほうが早いと思います。

### デプロイ

2023年4月、初めてRenderというサービスを使いデプロイしました。転職活動開始時は、必要最低限の機能のみでした。その後、転職活動をしながらお気に入り機能やフォロー機能などを追加していきました。

## 独学でプログラミングを学習して感じたこと
#### １人で学習を続けられる自信がないならスクールへ行ったほうがいい
書籍やブログ記事など、独学でプログラミングを学習するための教材はそろっていますが、独学はたくさんの誘惑に負けて、挫折してしまう可能性が高いです。高額ではありますが、**テックキャンプ**などのスクールに行った方が効率よく学べると思います。

#### ChatGPTは最強だが万能ではない
ChatGPTは最強の先生でした。エラー文をコピペするだけで、多くについて解決策を教えてくれました。
ただし、ChatGPTは万能ではありません。特に追加機能を実装するときなど、自分に全く知識がないことを質問すると、返答の正誤を判定できないため、うまく活用できませんでした。活用術を学ぶ必要があると思います。

#### わからないことは現役のエンジニアに聞いた方がいい
ChatGPTに聞いても解決できないときは現役のエンジニアの方に質問したほうが早いと思います。Xで質問をなげかけると、回答してくださる方がいました。

# 転職活動

オリジナルアプリを公開できたことで自信がつき、2023年5月に転職活動を開始しました。期間は３ヶ月です。

## 転職サイト、SNSの登録

まずは[WORKPORT](https://www.workport.co.jp/)、[type](https://type.jp/)、[Green](https://www.green-japan.com/)の3社に登録しました。また、[Wantedly](https://www.wantedly.com/)、Xのアカウントも作成しました。
未経験の場合は情報を得ることが難しいので、利用できるものは全て利用しました。


## エージェント経由

転職サイトに登録して数日後にGreen経由で連絡をいただき、[マイナビAGENT](https://mynavi-agent.jp/)、[Geekly](https://www.geekly.co.jp/)のエージェントと面談を行いました。

転職活動をどのように進めていけばよいのかわからなかったので、**「未経験の場合は書類通過率は10%なので選り好みしないほうがいい」** というエージェントの意見に従い、推薦された企業全てに応募しました。

### 結果
**45社書類選考→11社書類通過→8社面接→2社最終面接→1社内定**

1社内定をいただくことができましたが、就活を終えて振り返ると、このエージェント経由の転職活動は遠回りでした。以下に反省点をまとめます。

### 反省点
- エージェントに頼りすぎて受け身になっていた
- 企業研究が不十分で志望動機が定まっていなかった
- IT業界に関する知識不足
- 面接対策が不十分だった

#### エージェントに頼りすぎて受け身になっていた
エージェントに頼る場合、受け身の姿勢でいると自分の行きたい企業に出会うことが難しいです。エージェントからの連絡を待つのではなく、書類添削や面接対策、進捗相談など、自分から積極的に要望を伝えて進めるべきでした。人によるのだと思いますが、私の担当をしてくださった方はそうしたことは特にしてくださいませんでした。

#### 企業研究が不十分で志望動機が定まっていなかった
エージェントから推薦された企業数が多く、全ての求人に目を通していませんでした。書類選考を通過してから企業研究をすると、志望動機が曖昧になり、面接でうまくアピールできませんでした。

#### IT業界に関する知識不足
たとえばSES、受託開発企業、自社開発企業など、それぞれの業界の特徴を理解していませんでした。知識がない状態では、どんな基準で企業を選べば良いのか、何をアピールしたら内定をいただけるのかなどがわかりませんでした。エージェントから紹介された企業は主にSESで、後から思えばそのままでは私が希望する働き方をするのは難しかったかもしれません。

#### 面接対策が不十分だった
面接で会話が弾み、しっかりと話せたと思っても不合格が続きました。コミュニケーションは取れても、自分をアピールすることができませんでした。


## ２度目の挫折
これまでの1ヶ月間の就職活動で、面接で落ちてしまうことが続き、どうしたらいいのかわからず悩んでしまいました。働きながらポートフォリオの開発も進めて、かつ転職活動も並行するのは体力的にも辛かったです。
６月は転職活動は一旦休んで、ポートフォリオの完成度を高め、今後の転職活動の方針を決める期間としました。Xなどで以下のように自分の就職活動状況や悩みを発信しアドバイスを受けたり、これまでの反省を踏まえて改善点を考えました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">未経験からのエンジニア転職で悩んでいます🥲みなさんの意見を聞かせていただきたいです🙏<a href="https://twitter.com/hashtag/%E9%A7%86%E3%81%91%E5%87%BA%E3%81%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%A8%E7%B9%8B%E3%81%8C%E3%82%8A%E3%81%9F%E3%81%84?src=hash&amp;ref_src=twsrc%5Etfw">#駆け出しエンジニアと繋がりたい</a> <a href="https://twitter.com/hashtag/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%88%9D%E5%BF%83%E8%80%85?src=hash&amp;ref_src=twsrc%5Etfw">#プログラミング初心者</a> <a href="https://twitter.com/hashtag/%E8%BB%A2%E8%81%B7?src=hash&amp;ref_src=twsrc%5Etfw">#転職</a> <a href="https://t.co/u5dPQi0c1v">https://t.co/u5dPQi0c1v</a> <a href="https://t.co/rtgoQE7Eqx">pic.twitter.com/rtgoQE7Eqx</a></p>&mdash; おでこ。 (@odendayoko) <a href="https://twitter.com/odendayoko/status/1665747180064210945?ref_src=twsrc%5Etfw">June 5, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 改善点
- 転職活動の軸を決める
- 自己PRの書き換え
- 企業ごとに志望動機を考える
- 面接対策を徹底する

#### 転職活動の軸を決める
企業を探すために、業界研究を行い、転職活動の軸を考え直しました。私が重要視したのは以下の通りです。
- WEB系の受託開発もしくは自社開発企業
- 職種はできればサーバーサイド希望
- 入社後1年以内にコーディングだけでなく要件定義や設計など、顧客や自社メンバーと作りたいものをコミュニケーションをとりながら開発できる
- 従業員が同じ目標に向かって仕事をしている
#### 自己PRの書き換え
Xで協力者を募り、現役エンジニアの方数名に添削をしていただきました。
自分ではうまく書けているつもりでしたが、**「実績に対して自分が行動した内容が弱い」、「もっと個性が見えるほうがいい」、「課題解決までのプロセスが書けるとエンジニア好み」** などのアドバイスを受けました。
そこで再度自己分析を行い、自分が働く上で意識していること、工夫していること、なぜその工夫をしているのか、その結果をまとめて、自己PRを全て書き換えました。
自分では気づけないこともあるため、第三者の意見を得ることは重要だと思いました。
    
#### 企業ごとに志望動機を考える
企業のホームページなどで情報収集を行い、自分との共通点や共感したことを元に志望動機を考えました。箇条書きで書き出し、ChatGPTを使って自然な文章に直しました。
    
#### 面接対策を徹底する
面接の回答内容に問題があると考え、これまでの面接で共通していた質問や、答えにくかった質問に対して回答を作り話す練習をしました。以下は答えにくかった質問の例です。
- どのようなキャリアプランを考えていますか
- これまでの成功・失敗体験を教えてください
- 上司と意見が対立した時のことを教えてください
- 仕事で不満を感じたときにあなたならどうしますか

## 自己応募
7月はエージェントは使わず、自分で企業のホームページや求人サイトから応募することにしました。

### 結果
**2社書類選考→2社内定**
希望していた受託開発企業、自社開発企業から内定をいただき、転職活動を終えることができました。



## 転職活動結果まとめ
### 応募媒体別最終結果
| 応募媒体 |書類選考数 |書類通過数 | 一次面接数 | 最終面接数 | 内定数 |
|:-:|:-:|:-:|:-:|:-:|:-:|
| エージェント  | 45  | 11  | 8 | 2 | 1 |   
| 転職サイト  | 2 | 1 | 1 | 1  | 1  | 
| Wantedly  | 1  | 1  | 1  |  1 | 1  |
| 他者推薦  | 1  | 1  | 1  | 1  | 0 | 
| 企業HP  |  1 | 1  | 1  | 1  | 1  |   
|合計|50|15|12|6|4|


### 内定企業内訳
- SES　2社
- 受託開発企業　1社
- 自社開発企業　1社

## 転職活動を通して感じたこと
#### 面接対策は徹底的に行う
未経験の場合、面接で自分をアピールできるかが内定への鍵だと思います。ただし、そのアピールが企業の求めている人材にマッチしていないと落ちます。企業のホームページから情報を集めて、自分の何をアピールしたらいいかを考えて、企業ごとに回答を作るといいと思います。

#### エージェントに頼るときは受け身にならない
終わってから振り返ると、エージェントに頼った１ヶ月間は時間の無駄でした。受け身にならずに、自分から行動していかないと納得のいく結果は出ないと思いました。

#### ポートフォリオは必須。ただし、面接で触れられるとは限らない
ポートフォリオがないと書類選考は通りにくいので、エンジニアに転職したいなら必須だと思います。ただし、面接でアプリに関して深掘りされることはほとんどありません。「なぜこのアプリを作ったのか？」「工夫したことは？」などの質問をされると想定していたので、意外でした。未経験の場合は、人柄や内面からポテンシャルを判断しているのではないかと思います。

#### SESに行きたいなら資格をとるべき
資格に関しては業界によって意見が異なるようです。SESの場合、常駐先企業が未経験者の能力を判断する指標にするため、資格の有無を重視している企業が多いと感じました。書類選考を通過しても、面接で「資格がないから」という理由で落とされることがありました。SESを目指す場合は、ポートフォリオ以上に資格が重要かもしれません。

#### 転職サイト、エージェント、SNSなど、利用できるものはすべて使ったほうがいい
特にSNSが重要だと思いました。Xで発信したところ、たくさんの方に反応をいただきました。中には、DMで声をかけて相談に乗ってくださった方や、求人を紹介してくださる方もいらっしゃいました。企業のアカウントから連絡をいただくこともありました。SNSはやって損はないと思います。

#### Xのエンジニア界隈は怖い
 Xを利用していると、一部ですが **「エンジニア向いてないから辞めろ」** と平気で言ってくる人もいて、かなり攻撃的な界隈だと感じました。誰でも初学者のうちは間違いや認識違いがあるものです。エンジニアを志す人に対してもう少し寛容になってもいいのではないかと思いました。

#### SQLについて学んでおくと有利かも？
面接でSQLに関する技術的な質問をされたことをきっかけに、[SQLZOO](https://sqlzoo.net)などを利用して学習しました。その後の面接では、SQLについて学んでいることを評価されました。一方で、テスコードに関しては、書いていなくても特に何も言われませんでした。追加で学ぶならSQLがおすすめです。

# 最後に

2023年9月より、React/TypeScriptを扱うフロントエンドエンジニアとして働き始めています。挫折や遠回りもありましたが、納得のいく転職活動ができたと思います。
薬剤師からエンジニアというキャリアチェンジでしたが、正直とても大変でした。特に、３ヶ月間の転職活動は慣れない面接など、うまくいかないことも多く悩みました。たくさんの方々の協力もあり、自分の性格ややりたいことなどを見つめ直すことができ、とても良い経験ができたと思います。

同じように未経験からエンジニアへの転職をめざす人の参考になれば嬉しいです。最後まで読んでいただき、ありがとうございました。