未経験からのエンジニア転職ロードマップ【内定を獲得するための具体的・網羅的な行動総まとめ】
ご覧いただきありがとうございます。
都内のメガベンチャー企業でWebエンジニアとして働いている壮(sew_sou19)と申します。
このnoteでは、自身の転職活動で効果が高いと感じたこと、多くの転職成功者に共通する行動、実務で必要なスキル・考え方を踏まえて「未経験からのエンジニア転職ロードマップ」を具体的・網羅的にまとめました。
はじめに
僕は、2020年2月にプログラミング学習を始め、2020年7月に1ヶ月間転職活動を行い、2020年11月からエンジニアになりました。
現在は社員規模が1,000人を超えるいわゆるメガベンチャー企業で働いていて、エンジニアとして3ヶ月が経ちました。
まだ3ヶ月ではありますが、実感したのは『転職活動時に見られるポイント』と『実務で必要なスキル・考え方』は本当に一致しているということです(当たり前と言えば当たり前ですが)。
そこで、実務に入ったからこそ実感したことをもとに、「未経験からエンジニアを目指す上で必要な行動・要素」を体系化して集大成として残そうと思いました。
実務経験に加え、以下の行動や経験から得た知見も詰め込みました。
・異業種から実務未経験のエンジニア転職を成功
・仕事しながら5ヶ月間の勉強・1ヶ月間の転職活動
・「普段は未経験の中途採用は行わない」という企業に内定
・転職クエストのメンター
・半年間、未経験からのエンジニア転職相談やサポートを行う
■このnoteを書いた背景
内定を獲得するために必要な行動は、いくつもあります。
プログラミング学習、アウトプット、ポートフォリオ作成、情報収集、転職戦略、自己分析、職務経歴書作成、企業分析、面接練習、応募etc...
転職活動中も、転職活動を終えてメンタリングや転職相談に乗る中でも、以下のように思っていました。
「内定を獲得するためにやるべきことは分かってるけど、抽象的だし情報が散らばってるし網羅的にまとまってない!」
そこで、内定を獲得するまでに必要なことの一部を具体的にまとめたツイートをしたら、それなりに反響をいただけました。
今回は、
・自身の転職活動の経験
・50名以上の転職成功者の行動
・実務で感じた、転職に必要な能力や考え方
をそれぞれ分析し、「これをやれば内定の確率が高まる」という項目を網羅的に用意しました。
そして、未経験からのエンジニア転職の再現性を持たせるために、「抽象的な指針」ではなく「具体的な行動」に落とし込みました。
📌 このnoteで分かること
・未経験からのエンジニア転職の具体的なロードマップ
・転職活動に必要な網羅的な行動とその方法
・内定率を高めるために効果的な行動とその理由
他のnoteとの違いは具体性と網羅性です。
これから紹介する内容は「自己分析をしよう!」と抽象度の高いものではなく「『なぜエンジニアなのか?』を深堀りする。その理由は…」と具体的な行動に落とし込んでいます。
また、転職活動に必要な最低限行うべきことから、内定率をより高めるための行動まで網羅的に言語化しました。
これらをチェックリストとして、実行したものに✔︎を付けながら各項目をどんどん実行していけば、間違いなく内定に近付くと思いますし、そうなればいいなと思ってこのnoteを書きました。
■このnoteを読んでほしい方
📌 このnoteを読んでほしい方
・転職戦略が重要と知りつつも何から手をつければいいか分からない方
・学習方法だけでなく転職に必要な行動を網羅的に知りたい方
・転職活動を行なっているものの、うまくいかず打開策を見つけたい方
学習編、転職戦略編、転職準備&転職活動編の3部構成にしていますが、まずはざっと読んで全体像を捉えておく読み方がおすすめです。
プログラミングを学び始めるときから、ゴール(内定に必要な行動)が分かっているといないとで、一つ一つの行動が大きく変わってくるからです。
自身の転職活動、半年間の転職メンタリング、3ヶ月間の実務経験で感じたことを網羅したら5万文字を超える大作になりました。
量が多いので読むのも実行するのも大変ですが、このnoteに記載したことを着実に行えば、いちいち迷わずに転職活動に集中できますし、その結果内定に近付くと思います。
そうなるようにと、もう一度自分自身の転職活動を振り返ったり、他の転職成功者に改めて話を聞いたり、これまでTwitterで発信してきた内容を見返して、僕が持っている知識・ノウハウを全てこのnoteに詰め込みました。
※先にお伝えをすると、このnoteに記載するすべてを実行しないと転職できないわけではありません。あくまで「企業に評価されるための行動」を網羅的に記したもので、この中から自分に必要な行動を選択・実行していく参考になればと思います。
■感想の紹介
一部を掲載させていただきます。
■購入特典のご案内
わずかではありますが、転職活動をより成功に導くための特典も用意しました。
📌 購入特典
◎「転職クエスト」の割引チケット
・未経験からエンジニアへの転職を支援するコミュニティ
・割引が適用された月額料金で参加可能に
さて、前置きが長くなりましたが、内定の獲得に効果的な行動を詳しく見ていきます。
【STEP1】学習編
ここでは、具体的な学習方法ではなく、転職活動を見越した上で重要なポイントをお伝えします。
【STEP1】学習編
■1-1. 意識面
■1-2. 効果的な学習のポイント
■1-3. 現場に入るまでに必須の知識
先にお断りをすると、このnoteは学習ロードマップではありません。
あくまでも「転職活動」にフォーカスしたものです(学習編が不要な方は【STEP2】転職戦略を立てるに飛んでください)。
具体的な学習ロードマップが欲しい方は、ゆーたろーさん(@shimotaroo)のnoteを参考にしてみてください。
もしくは、山浦さん(@kiyotoyamaura)の「独学エンジニア」を受講するのもおすすめです(2021年2月時点では無料です)。
■1-1. 意識面
転職活動を見据えて、学習時期から意識すべきことを説明していきます。
■1-1. 意識面
□ 転職までの計画を立てる
□ 圧倒的に時間を投下する
□ 最初からアウトプットを心がける
□ PFを短期間で完成させる
□ 転職までの計画を立てる
未経験からのエンジニア転職において、意外と重要なのが「スピード感」です。
- 短期集中することで挫折を防ぐ
- 短期間でキャッチアップすること自体が評価される
という効果もあるので「だらだらと勉強を続けてしまって、かれこれ1年間も勉強してるのにポートフォリオすら作ってない…」という状況を避けるためにも、粗々でもいいのでスケジュールを立てるのがおすすめです。
以下は一例です。目安にしてみてください。
■仕事をしている方(週に20時間ほど取れる方)
- 学習に2〜3ヶ月
- ポートフォリオ作成に1〜2ヶ月
- 転職準備に0.5ヶ月
- 転職活動に1〜2ヶ月
→どんなに長くとも10ヶ月
■仕事をしてない方(週に50時間ほど取れる方)
- 学習に1〜2ヶ月
- ポートフォリオ作成に1ヶ月
- 転職準備と転職活動で1〜2ヶ月
→どんなに長くとも半年
ちなみに僕は仕事しながら勉強してましたが、平日4時間・休日10時間で週40時間かけて、以下のスケジュールでした。
- 学習に2ヶ月
- ポートフォリオ作成に1ヶ月
- チーム開発に1.5ヶ月
- 転職準備に0.5ヶ月
- 転職活動に1ヶ月
→合計6ヶ月
□ 圧倒的に時間を投下する
転職計画とも関わりますが、未経験からエンジニアを目指すなら、可処分時間は全て学習に費やすくらいの気概で取り組むべきです。
そうでもしないと転職を成功させられないくらい、今(2021年2月)は未経験からのエンジニア転職は厳しい状況です。
仕事しながらでも平日3時間・休日10時間で週30時間以上、仕事をしていなければ毎日約8時間で週50時間以上とるのが理想です。
ただ、もちろん仕事やご家庭がある方が多いかと思うので、無理はしないようにしてください。身体を壊してしまう方がかえって遠回りになります。
とはいえ、学習に没頭するための環境作りは大事です。周りの方に協力をお願いして環境作りを頑張りましょう…!
□ 最初からアウトプットを心がける
アウトプットのメリットは大きく2つです。
- 学習の効率が上がる
- 転職活動で評価される
学んだことをアウトプット(=言語化・具体化)するには、内容の理解が必要です。特にQiitaなどに体系立てて投稿しようとすると、理解が曖昧な部分がよく見えてきます。
すべてを言語化する必要はないですが、「これを誰かに教えるならこう説明する」と、インプットしたことを「自分が納得できるように説明できるか?」という意識があるだけでも学習効率が飛躍的に変わります。
また、アウトプットは「客観的な学習の成果」なので、選考で評価されやすいです。「自分が困って解決するまでの過程」などをアウトプットするのがおすすめです。
一例は以下です。
- Twitterで毎日学習報告
- QiitaやZennに記事投稿
- ポートフォリオ
- AWSやFEの資格
- 上記をまとめたポートフォリオサイト
日々の学習を客観的に目に見える「形」にすることを意識しましょう。
□ PFを短期間で完成させる
「短期間で」の意図は2つです。
- だらだらと学習を続けない
- 転職活動で評価される
このnoteを書くにあたって他の転職成功者の行動を分析していると、内定を早々と獲得する人の共通項に「インプットばかりしない」「学習期間が長すぎない」があることに気付きました。
そういう方々は大体1〜3ヶ月で学習を一通り終えて、ポートフォリオ作成に入っています。実際に手を動かしながらインプットした方が定着や理解の度合いが違うので、だらだら学習を続けるよりは「成果物作ろう!」とポートフォリオ作成に移った方が成長速度が速いです。
また、転職活動においては「学習開始から短期間でこのクオリティのPFを作った」は大きなアピールポイントになるので、学習初期から意識するのがおすすめです。
事実、僕はポートフォリオを学習開始から3ヶ月で形にしましたが、選考で大いに評価されました。
■1-2. 効果的な学習のポイント
学習を効果的に進めて、転職活動への準備に時間をかけられるように、意識すべきポイントを見ていきます。
■1-2. 効果的な学習のポイント
□ 暗記はしない
□ ググって情報にたどり着く過程を意識
□ 単なるコピペはしない
□ エラー文をよく読む
□ 公式ドキュメントもよく読む
□ 仮説→検証を意識する
□ 書籍は浅い理解で繰り返し読む
未経験からのエンジニア転職では、転職活動に時間をかけること(学習に時間をかけすぎないこと)が重要です。
これから何度も言いますが、「技術力」はあまり評価されない上に選考時に重要視されないためです。
ここでは学習を効果的に進めるためのポイントを説明します。
□ 暗記はしない
現役エンジニアも口を揃えて言いますが、プログラミングにおいて暗記はほぼ不要です。
実務でも「あれってどう書くんだっけ?」とググることがほとんどです。
よく使うコマンドやメソッドは知らず知らずのうちに覚えるので、意識的に「覚えなきゃ」と思う必要は全くありません。
紙のノートなどに「HTTPメソッドは、GETとPOSTと…」と書く勉強方法もあるかとは思います。ただこの場合も、理解を深めるための整理としてはいいですが、覚える=暗記することを目的とした使い方は避けましょう。
覚えるのではなく、理解することを意識するのがおすすめです。
□ ググって情報にたどり着く過程を意識
「暗記はしない」とも近いですが、エンジニアには「必要な情報にたどり着く力」が重要です。
そのために「ああ、こうやってググれば欲しい情報にたどり着けるな」ということを、繰り返しながら慣れることで学習効率が高まります。
ググり方のコツはググれば出てきます(鶏卵論みたいですがw)が、以下の記事は良さそうでした。
「ググり方」も意識的に行うか否かで、ググり力の身につき方が変わってくるので、ぜひ意識してみてください。
□ 単なるコピペはしない
これは初学者の人がやりがちなNG行為です。
ググって情報にたどり着いたものの、見つけたQiitaの記事のコードをコピペして「動いた!」で終えてしまうと、全く理解に繋がりません。理解できてないということは応用が効かないので、実務で複雑な実装を任されたときに非常に困ります。
基本は公式ドキュメントなどのリファレンスをよく読み、その上で「自分の頭で」考えることが重要です。
Qiitaの記事を参考にする際でも「なぜこうなるのか?」と考えて、理解することを頭に置きながら実装しましょう。
□ エラー文をよく読む
プログラミングの基礎中の基礎です。
エラーは英語なので読みたくない気持ちはめちゃくちゃ分かります。ただ、ほとんどのケースではエラー文に答えが書いてあります。
英語が読めなければGoogle翻訳などを利用しても全く問題ないので、まずはエラー文に書かれていることを理解することに全力を尽くしましょう。
そこには「なぜこのコードの書き方だとダメなのか」ということを書いてくれている場合がほとんどです。エラー文に書かれていることを理解できるようになると、次から同じようなエラーは起こさなくなりますし、言語への理解度が圧倒的に高まります。
英語に抵抗がある場合は、最初はGoogle翻訳などをうまく使いながら取り組んでいくのがおすすめです。
□ 公式ドキュメントもよく読む
これもプログラミング学習の基礎です。学習というより現場でも重要です。
よく「一次情報」と言われるかと思いますが、公式ドキュメントはまさに一次情報です。言語やライブラリを開発した人が作成した取扱説明書のようなものなので、ここに使い方が書いてあります。
ただ、多くの公式ドキュメントは英語だったり書き方が具体的でなく抽象的だったりするので、初学者が読むにはハードルが高く、噛み砕いてくれたQiitaや技術ブログに逃げてしまう気持ちも分かります。
ですが、Qiitaや技術ブログはあくまで二次情報なので正しいとは限りません。それにバージョンが違ったり環境が違ったりするので、書かれている通りにやったからといって、うまくいくわけではないです。
「二次情報を使ったがために時間がかかって、頑張って公式ドキュメントを読んでみたらすぐに解決した」というのは本当にあるあるです。
遠回りをしない・正しい知識を身につけるためにも、公式ドキュメントを参照する癖をつけましょう。
※ただ二次情報を参照するな、というわけではありません。公式ドキュメントでもカバーされていないニッチな事象で、かつQiitaなどに綺麗にまとめられていれば、それはそれでとても参考になります。
あくまで、一次情報が大切なのでまずは一次情報を最初に確認すべき、ということをお伝えしています。
□ 仮説→検証を意識する
これもプログラミングの基礎中の基礎であり、エンジニアに必要な素養です。
「なぜこうなるのか?」を考えて検証する。その結果をもとにまた「なぜこうなるのか?」を考える、という作業を繰り返すと理解が深まりますし知識として定着します。
それに、実務では予期しないエラーに遭遇することが多々あります。その際にも重要なのが「仮説→検証」です。
事象に対して仮説を立てて検証して、エラーの原因を突き止めていく作業は日常茶飯事的に行います。これを学習時期から行って慣れておくと、実務に入ってからがかなり楽です。
これらを意識するだけで学習効率が段違いなので、今からでも意識してみてください。
□ 書籍は浅い理解で繰り返し読む
書籍や教材(カリキュラム)を読む際には、浅い理解で繰り返し読むのがおすすめです。
技術は、概念的な話が多いので最初は本当に意味が分からないことが多いです。いろんな場面で出会ったり実際に手を動かしたり、何回も触れることで徐々に理解が進んでいくものです。
逆に、最初から全部を100%理解しながら進めようとすると、苦しいですし長続きしません。
「なんとなく言いたいのはこういうことなのかな」と2〜3割の理解でもいいので、とにかく読み進めましょう。
そして、繰り返し読むのが重要です。
1回目は2割の理解でも、2回目は5割の理解ができたりします。そして3回目は7割、4回目は…と読むごとに理解できる割合が増えていきます。
同じ本を繰り返し読むのが苦痛、という方は、同じテーマを扱ってる別の本を読むのもおすすめです(お金はかかりますがw)。
■1-3. 現場に入るまでに必須の知識
僕が転職活動を行っている時に「ほとんどできてない」とハッとさせられたツイートがこちらです。
これらはプログラミングスクールでは詳しく教えてくれませんし、よくある学習ロードマップにも載っていません。
ですが、現場では基礎中の基礎なのでめちゃくちゃ重要です。
僕は内定獲得から入社までに期間があったのである程度学んでから現場に入りましたが、「本当に学んでおいてよかった」「逆にこれ学ばずに現場に入ってたらどうなってたんだろう…(ガクブル)」という感情になることが多いです。
ここでは、これらが「なぜ必要なのか」と「どう学べばいいか」を簡単に見ていきます。
自身のキャリアで得た知見について言語化しています。執筆活動の励みになります!