はじめに
こんにちは、未経験から12月より自社開発企業で働くことになったもきおです。エンジニア転職を目指し2020年10月に前職を辞め、早1年も経ってしまいました。
仕事をしていながらなら分かるが学習にコミットして流石に一年は長かった。
1年間色々と細かい失敗を繰り返し続けました。でも失敗ばかりだったから伝えられることも多くあると思うんです。そこで今回は今までの流れを振り返りつつ、失敗から何を学びどのようにすればもっと早く満足のいくエンジニア転職ができるかを考えてみました。
書きたいことが多く結構なボリュームになってしまいましたが最後までご覧いただけますと幸いです。
PS:
記事を読むのは苦手、動画として聞き流したいという方はYouTubeとしても投稿しているのでそちらもご覧いただけますと幸いです。以下YouTubeリンク。
1年間のエンジニア転職活動について〜前編〜
1年間のエンジニア転職活動について〜後編〜
こんな人に読んで欲しい
・プログラミングスクールからエンジニア転職を目指している方
・独学からエンジニア転職を目指している方
・エンジニア転職活動をしている方
・これからプログラミングを学んでエンジニア転職を考えている方
#今までの流れ
まず初めに「おいもきお、一年も何やってたんだよ」と声が聞こえてきそうなので今までの流れをざっと表で振り返っていきます。
期間 | やったこと |
---|---|
2020年10~12月 | Progateで基礎固め、DMMWEBCAMP事前学習 |
2020年12月~3月 | DMMWEBCAMP受講 |
2021年4月~6月 | 1回目のエンジニア転職活動 |
2021年7月 | フリーランス案件準備、案件結局もらえず |
2021年8~10月 | 実務ができるエンジニアスクール |
2021年10~11月 | エンジニア転職活動2回目 |
実はエンジニア転職活動は2回しています。1回目と2回目は何が違ったのかなどもお伝えできればなと思います。
##エンジニアになりたいと思ったら最初にやるべき行動
振り返っていく前に余談を挟みます。
皆さんがエンジニアになりたいと思ったらまず何をするでしょうか?
まぁ間違いなくプログラミング学習ですよね。そしてプログラミングスクールに通うか、独学で勉強して転職活動していくかって感じになると思います。
しかしエンジニア系YouTuberのしまぶーさんも仰ってましたが最初にやるべき行動はいきたい企業を探すことです。
いきたい企業を探す→行きたい企業の必要な言語、技術がわかる→必要な言語、技術に対して学習開始→ポートフォリオ作成
この流れが最も明確に学習を進められると思います。
ここでいきたい企業が明確に決まれば問題ないですが最初からそこまで明確には決められないのでスタートアップ系とか大枠の事業内容とかとにかく一旦色んな企業を学習する前、初期段階から見てみるのが良いかなと思います。
また、現役エンジニアの方に積極的にコミュニケーションをとってエンジニア業界の話をまずは聞いてみるのが良いかと思います。現在はTwitter、色んなエンジニアコミュニティなど様々な現役エンジニアの方へのアプローチがあると思います。
##2020年10~12月 Progate、DMMWEBCAMP事前学習
そんなこんな言ってますが当時の自分は「プログラミングスクール通ってポートフォリオ作ってエンジニア転職活動すれば転職できるっしょ」くらいに思ってました。
そこで特に仕事を継続して学習しようとはせずプログラミング学習に打ち込むため仕事を辞めることを決意しました。まあ今思えばですけどこの選択は間違ってはなかったとは思います。
さて話を戻して会社を辞めてプログラミング学習を始めたわけですがDMMWEBCAMPはかなり人気で10月から入校したかったのに12月になってしまいました。
なぜDMMWEBCAMPというスクールを選んだのか、実際受講してみてどうだったかはまた別の記事でお伝えしていきたいと思います。
なので最初の2ヶ月はProgateと入校1ヶ月前からDMMWEBCAMPのカリキュラムが配布されるので事前学習をしていました。
事前学習のメリットは振り返ると以下2点
・本受講で余裕が生まれモチベーション高く学習を進められる
・期限に縛られないで受講できるので理解をしっかりと深め学習できる
当時は今と比べると全然学習時間が取れていませんでしたね。平均3、4時間。多くても6時間くらい。それでも事前学習をできていたのは振り返ってもかなり良かったと思います。
下記Twitterで投票もしてもらいましたが大半が事前学習をするべきを回答していただいていました。どの程度まで事前学習した方がいいのかはこのリンクのスレッドとかで議論されているので良かったらみてください
YouTubeのコメントにて「DMMWEBCAMPの事前学習をする必要があると思ってるのはあなただけなんじゃないの」とコメントいただいたので初めて投票機能使ってみたいとおもいます。結果をコメントしていただいた方にご返信するので受講された方はご協力いただけますと幸いです。
— もきお (@mokio_50) November 21, 2021
###この期間で感じたこと
・事前学習は大事
・事前学習から危機感を持って学習する
##2020年12月~3月DMMWEBCAMP受講
実際の内容とかは後日また記事にしようと思うので省きますが当時の自分を客観的に他受講生と見比べると技術レベルは中の中、あるいは中の下って感じだった気がします。特に後半は結構失速しました笑
受講当時、自分は「学習は量より質でしょ」って思ってたし、「12時間学習しました!」みたいなツイートを見ても「あーそうなんだ」くらいな感じで思ってたしなんなら少ない時間でこれだけ進んでる自分をかっこいいとさえ思ってました(ちょっと誇張してはいるが今考えると普通にキモい)。
そんなこんなで学習時間確保の大切さをわかっていませんでした。よって大体一日6~7時間くらいしか学習していませんでした。今振り返ると圧倒的に絶対的な学習の確保は必要だったなとつくづく思っております。
なぜ絶対的な学習時間の確保が必要であると感じるようになったのか。
それは学習のモチベーション維持にあると思っております。
プログラミング学習はちゃんと継続できる人が、学習する人の1割程度と言われているように様々なところで挫折しそうになるのでモチベーション維持が非常に大切だと感じています。
モチベーション維持のためには小さな成功体験を積み重ねることが大切だと思います。なので質を重視してしまうと、実際思うように学習が進まないときに、モチベーション低下につながります。
一方で量にこだわり学習時間をちゃんと確保していけば学習時間を確保できたことが小さな成功体験になっていくのでモチベーションを維持しやすいのかなと今は感じています。その小さな成功体験によって段々と質の方も自然と良くなっていったなと振り返って見て感じました。
振り返ってみてプログラミングスクールで重要なのは常に危機感を持つことだと思います。
これは井の中の蛙でもないのですが、同期の受講生の中で一番学習した!同期の中で一番技術力がついた!くらい思えるくらい学習しないと満足のいく転職先にいけない可能性は高いです。
これから受講される方はそれくらい高いモチベーションで受講されるのをオススメします。
実際はそんなこともないのですが、要はそれくらいの気持ちで向上心高く貪欲に学習をすると良い方向に進んでいけると思いました。
###この期間の失敗から学んだこと
・「質より量」を重視して学習する
・余裕を持つことは大事だが、余裕をぶっこいてると痛い目見るのでどんどん余裕を持って学習できるよう学習を進めていく。
##2020年4月~6月 1回目のエンジニア転職活動
さて、プログラミングスクールもなんとか卒業しポートフォリオも一応作成できたので就職活動に移りました。
まず当時の自分のスペックを表にしてみました。客観的にみて10段階評価もつけてみました。
項目 | どのくらいやったか | 客観的な評価 |
---|---|---|
職務経歴書 | ある程度添削してもらい3回くらい修正 | 7 |
企業研究 | 受ける企業を直前に2時間程度 | 3 |
面接対策 | 受ける企業頻出質問5個ぐらい回答を用意 | 3 |
ポートフォリオ | 一応完成、オリジナリティはある。エラーとかは多発 | 4 |
GitHub草 | 一応毎日生やしてはいた1コミットくらいしかしてない | 4 |
Qiita記事 | 1記事もかけていなかった | 0 |
この期間の活動を転職活動と学習に分けて振り返っていきたいと思います。
###転職活動について
当時はDMMWEBCAMPさんの紹介に任せっきりで自発的に転職活動できていなかったのが一番の失敗した要因だったかなとは振り返ってみて思いました。
エントリー、選考状況は以下でした。
項目 | 件数 |
---|---|
エントリー数 | 39社 |
書類選考通過数 | 11社 |
一次面接社数 | 10社 |
最終面接社数 | 2社 |
内定数 | 1社 |
内定は一社いただき後に開発経験もしっかり積めそうでしたが、これが本当に自分のやりたかったことなのかと思うと違うと思い辞退しました。
まず転職活動で大事にしたいのは受け身で転職活動をしないこと。
受け身で就活すると特にいきたくない企業ばかり受けることになり、モチベーションも下がるし面接時に志望動機がどうしても弱くなってしまうので企業へ熱意が伝わりづらくなってしまいます。
スクールの紹介は転職活動でのツール(手段)の一つにすぎないという気持ちで転職活動をした方がよっぽど成功する気がしています。これはスクールの紹介企業がダメだとかは全く言っておらず、スクール頼りにならないことが結果的にスクールの紹介で良い企業に内定をもらえたりするからです。
実際現在DMMWEBCAMP生限定のコミュニティであるShuffleというコミュニティに参加させていただいていますが、大半の人が満足のいく企業にスクールの紹介で入社されている印象です。
でもこの方々の多くはWantedlyとかで自ら動いて企業を探してエントリーしつつ、結果的にスクールの紹介企業で内定承諾した人達が多かったです。
よくスクールの紹介以外で転職活動をすると転職保証がなくなりますみたいな感じの制度を持っているスクールが多いですが、これはマジで無視しましょう笑 転職保証に関してはあってないようなものだと思っているくらいがちょうどいいと思います。
大きな決断をしなければいけない転職活動でそういった制度に縛られて視野を狭めるのはやめましょう。正直ここに関してスクール運営をしている企業の方々には申し訳ない発言をしているとは思いますが、本気で満足する企業に就職するにはお伝えしなければいけないと思い、伝えさせていただいております。
###学習について
プログラミングスクールを卒業してからはJavaと基本情報技術者試験の勉強を進めていました。
振り返ってみるとこれは間違いなく失敗だったと思います笑
内定をいただいた企業で役員との最終面接の際に「やはり目に見えるアウトプットがないと学習の興味度が感じられない。Javaを勉強するのは良いが簡単なポートフォリオを作ってくるくらいじゃないと評価できない。むしろ今まで学習してきたRailsでもう一個自分の興味のある分野でポートフォリオを作るとかの方が俺は好きだなー」っておっしゃってました。この企業はJavaをメインで扱っていて、それでもそうおっしゃるということはやはり成果物がなくただ学習するだけだと評価対象には全くならないんだなと感じました。
なのでJavaやPHPなどRubyは求人数が少ないからみたいな感じで他の言語に手を出して安易に学習するのは間違いなく辞めた方が良いです。
実際その言語でないとできないものを作りたい(Rubyじゃ作れないスマートフォンアプリを作りたい)等具体的なアウトプットや明確にいきたい企業が学習した言語と違うみたいな感じであれば別ですが。
あと2回目の転職活動の方でも書きますが企業が使っている言語を学習していなくても採用される可能性は全然あります。要は何か一つの言語を極めていくこと。これが企業評価として大事なんだなと振り返って思いました。
あと資格は重要なのかについてはそんなにガチで取りに行く必要はないかなと思います。
資格を持っていてもそこまで評価は変わらない。優先順位としては低い感じですかね。
ただコンピューターサイエンスを学ぶ面では良かったと思うので参考書を買ってちょくちょく読んでいると面接の技術質問対策にはなるかなと思いました。
ここまで学習の失敗をダラダラ書いてきましたが転職活動と並行して追加で何を勉強したら企業に評価されるかというとLinux、SQL、 Git、AWSなどのインフラへの理解等、どんなサーバーサイド言語を使用したとしても汎用性の高いのものを学習するのが良いのかなと思いました。
実際企業に入っても(まだ入社してないけど笑)学習が無駄にならないし、技術質問でも「Linuxコマンドはどんなの使ってましたか?」とかSQL知識を問われたりとか、Gitの使用経験とかも聞かれたので学んでおいて損はないと思います。
あとは作成したポートフォリオのブラッシュアップですかね。テストコード書いたり、エラー修正したり、非同期通信増やしたり。ここら辺はどんな機能を追加したから良いとかではなく、改善する姿勢を見せていくことが重要だと思います。
最後にこのフェーズで言いたいと思ったのは学習習慣を途切れさせないこと。
これはマジで重要だと思います。就活はメインでやっていくのですが1日30分でも良いので必ず1日の何処かで学習するようにした方が良いです。学習習慣が途切れていると就活入ってから学習していないなと面接官にすぐバレます。
学習習慣はマジで脆いです。二、三日学習しないだけでも、もろに崩れていきます。
そして学習が30分しかできなかったと思うのではなく、30分学習できたと自分を褒めてあげてください。これが転職活動が始まった後も学習習慣を途切れさせない秘訣だと自分は思います。
###この期間の失敗から学んだこと
転職活動
・自発的に企業を探していく意識を持つ
・転職保証制度に縛られない
・色んな求人媒体を使用して広い視野を持って企業を探す
学習
・安易に他の学習をしない
・追加で学ぶなら汎用性の高いものを学習
・一日30分でも良いから学習の継続週間を途切れさせないようにする
・ちょっとでも学習できた自分を褒めてあげる
・ポートフォリオのブラッシュアップをコンスタントにやる
##2020年7月 フリーランス案件準備、案件結局もらえず
さて、最終的に内定を辞退して何を思ったのかというと「やはり実務経験を積まないと満足いく企業に就職できないんじゃね?」って思いました。実際そんなことないのにね笑
ただ後に記載しますが短い期間でも実務経験を積めるに越したことはないのも事実です。
そこでフリーランスエンジニアの方に相談し、他のエンジニアの方と一緒に同じ案件に参画できる可能性があるとお伝えされました。1人でやるならまず厳しいけど、他のエンジニアの方と一緒に参画できるならアリかもしれないと思い参画を希望しました。
ただ現実はそんなに甘くはなかった。結果的に未経験だったからか企業に推薦して参画できるかもってなってもその後企業から返信が来なかったりして結局案件に参加することができませんでした。
その期間にLaravelを使用した案件に参画する可能性が高いからLaravelをかじったり、基本その方の案件で多いのはPythonのDjangoだったのでそれをかじったりと学習は瞑想していました。
改めて一つの言語に絞って極めていく重要性を感じた時でもありました。
ここら辺の学習はマジで無駄だったなと思います笑
でもそういった視野を広げてフリーランス業界を知れたのは良かったと思います。
今ではフリーランスの実際の現場とかの話を聞いたからか全くと言っていいほどフリーランスになりたいとは思わないけど笑
###この期間で学んだこと
・広く浅く学んでも市場価値は全く変わらない
・フリーランス事情、大変さ
・未経験からフリーランスはほぼ間違いなくやめた方が良い
##2020年8~10月 実務が積めるエンジニアスクール入校
学習は迷走する一方だし、フリーランスエンジニアの方に頼る一方じゃなくて自分でも動かないといけないなと思っていた矢先のこと、YouTubeでちょくちょく拝見させていただいた山浦清人さん @kiyotoyamauraが8月より始まる「実務が詰めるエンジニアスクール」を募集しているではありませんか!!
これは応募しない手はない!と思い応募し、無事応募選考を通り入校させていただきました。
このスクールは自分の時は全体で3ヶ月、1ヶ月半実務期間、1ヶ月半転職サポート期間って感じでした。現在は2ヶ月実務期間、2ヶ月転職サポートとなっているみたいです。
実務案件の詳しい内容は以下にまとめています。
実際実務をやって思ったのは想像の何倍も大変だったということ。しかも山浦さんにアドバイスをもらいつつもそれくらい大変だったので、1人で実務案件をこなすのはどれだけ大変なんだろうと考えるだけでも嫌になったのを覚えています。笑
でも曲がりなりにも実務案件をやり切れたのは自分の中の経験として非常に大きかったし、面接でもこれだけやったから自信を持って実務案件について説明することができました。
そして実務案件と同じくらいすごく良い経験になったのはその後の就職活動サポートです。
現役エンジニアでもあり、採用担当もされていた山浦さんの提出書類、Wantedlyプロフィール添削、面接対策は本当に参考になったし模擬面接を録画して何度も見返すことでかなり面接力みたいなのがかなりついたと思います。
##2020年10~11月 エンジニア転職活動2回目
さて、いよいよ2回目の転職活動が始まりました。また別記事に詳しい就活戦略とかは書いていこうと思うので今回はある程度の概要だけ書こうと思います。
また一回目と同じようにスペックを以下に記載していきます。
項目 | どのくらいやったか | 客観的な評価 |
---|---|---|
職務経歴書 | 土台をさらに添削してもらい3回くらい修正 | 9 |
企業研究 | 企業ブログ、コーポレートサイトを網羅的に | 10 |
面接対策 | 頻出質問網羅的に、録画してひたすら見返す | 8 |
ポートフォリオ | ちょくちょく修正はしていた | 5 |
GitHub草 | ちゃんと生やしていた。平均5、6コミットくらい | 7 |
Qiita記事 | 15記事書いた | 8 |
エントリー、選考状況は以下でした。
項目 | 件数 |
---|---|
エントリー数 | 79社 |
書類選考通過数 | 30社 |
一次面接社数 | 11社 |
最終面接社数 | 5社 |
内定数 | 4社 |
最初は最悪開発経験がある程度早い段階でしっかり積める企業であればいいかな程度に思っていましたが、終わってみれば想像の数倍上手くいったなと感じております。もちろん実務が詰めるスクールでの就活対策も非常に役に立ちましたが、DMMWEBCAMPでの職務経歴書の土台作りがあったからこそスムーズに言ったとつくづく感じました。
自分自身最初はSES、受託、自社開発を絞らずとりあえず使いたいサーバーサイド言語で企業を調べていましたが、調べていくうちに自分自身やっている事業への関心がとても高いことに気づきました。「やっている事業に共感できる、面白いと思える企業に行きたい!」と思ったので自社開発企業に段々と絞って就職活動を進めて行きました。
よって面接をする企業もだんだんと絞ったため30社書類通過しても結果的に11社のみしか受けなかったです。それによって一社一社しっかりと準備できたのは良かったかなと思います。
学習していない言語を使う企業も内定をいただけました。聞いてみたらやはり未経験の学習なんてたかが知れているので特に学習してきた言語はそこまで見ていないとのこと。それよりも何を考え学習してきたかという学習のプロセスが大事だと企業の人に言われました。
###評価されたポイント
内定をいただけた企業、落ちた企業にフィードバックをひたすら求め評価していただいた点を羅列しておきます。
・積極的に自ら技術にキャッチアップし自走できるタイプと判断
・忍耐力と柔軟性を兼ね備えている
・未経験だが努力できる性格
・人柄も、勉強熱心な姿勢もベンチャー向きな印象
・受け答えも端的で落ち着いている
・未経験ながら要件定義〜開発と弊社で生かせる実務を経験
・エンジニアとして大切な技術に対する向上心がある
・一緒に会社を創っていきたいメンバーだと思えた
・Qiita記事を継続的にアウトプットしている
・ポートフォリオのコンセプトは良い
###面接に落ちた理由
また面接に落ちた理由もフィードバックを求めたら何社かもらえたので羅列しておきます。
・技術力を付けたい気持ち、技術的ポテンシャルは感じるが会社への貢献欲求が感じられない
・継続的にうちの会社で働く気があまり感じられない
・実際に面接してみて必要なスキル面がうちの基準に満たない
・サービスに対する見方や志向性の部分がポートフォリオに落とし込み切れていない
これらから企業が未経験の中でどういう人材を求めていてどこら辺を軸に活動すれば良いかを最後に記載して終わろうと思います。
#これからエンジニア転職活動される方へ
まず大前提として意識しておくべきなのは面接を通じて面接官に一緒に働きたいと思ってもらうことです。常にここは頭の片隅に置いておくのが良いかなと思います。面接対策をしているときもこの発言は相手が一緒に働きたいと思える発言なのかという感じで。
2回にわたるエンジニア転職活動で重要だと感じたのはコミュニケーション能力とかそう言った前提のものはもちろん必要だとして企業への熱意をしっかりと伝えられる状態にすること、技術への興味関心をしっかりと伝えていくことの2点が重要だと感じました。ここら辺を深ぼっていきます。
###企業への熱意をしっかりと伝えられる状態にするには
ここに関しては基本的なことになりますが、企業をよく知ること、自社開発企業であれば自社サービスをよく知ることの2つ重要になってくると思いました。
・企業をよく知ること
とにかく企業のコーポレートサイトを始め、wantedlyの企業サイトでのストーリーや募集要項の読み込み、ブログをやっているならそこら辺もしっかり読み込むことが大事だと思います。
これだけだと普通だし、どこを意識して読めばいいんだよと言われそうなのでもう少し深く記載していきます。
どう言ったところを意識して読めばいいのかというと社員インタビュー、技術ブログ記事は結構読み込んだ方が良いです。
また役員面接とかになってくるとしたらその人の名前で検索して出てきた記事を片っ端から読んでいました。
そこでいろんな価値観や考え方が書かれており、色々見ていくと自分が共感できる部分も何個か出てくると思います。自分は面接時に「この方がこういったことをブログに書かれていて自分もこう言った体験があったので非常に共感できました」とカルチャーへの共感を伝えていました。ただカルチャーや企業理念に共感したとかそう言ったものを伝えてしまうと上部な感じや薄いなと思われるのがオチです。
・自社サービスをよく知ること
これは実際に使ってみる、Twitterとかでそのサービスを調べ他の人がレビューしていたりしていないかなどを探してみる、また強豪他社になるサービスを調べて比較してみたりするのが良いかと思います。
サービスの良かったところ、今後こう言った風に機能改善して行きたいとお伝えできるとちゃんと見てくれてるなと思ってもらえると思います。ここで難しいのが機能改善提案は良いのですが一歩間違えると上から目線に捉えられてしまう可能性もあるので伝えるときには注意が必要です。「未経験なのに何言ってんだみたいな感じで聞いていただければ幸いなんですけど」みたいな感じで枕詞を最初に添えてお伝えしていった方が良いかなと思います。
###技術への興味関心を伝えるには
まず代表的なのはもちろんポートフォリオだと思います。継続的にブラッシュアップしていき完成度の高いポートフォリオにしていくのは企業評価としても高いのではないかなと思います。
しかしそれ以外にも技術的な興味を伝えるアプローチは沢山あります。自分が力を入れたのはQiitaでのアウトプットです。ただメモ用みたいな感じの記事ではなく、しっかりと学んだ技術を理解しているなと感じさせられるような記事を書けると良いのかなと思いました。そう言った記事が書ければ自然と他の方から見られる回数も多くなりLGTMやストックなど数字としても良いアピールができるかと思います。
あとはIoT機器に触れたり、LINEbotとAWS Lambdaを使用し何か自宅のポストに投函されたらラインに通知がいくような装置を作る、みたいな感じで面白そうだからやってみた的な体験が一つでもできると技術的興味を伝えられると思います。
自分はお風呂の換気扇を自動停止する環境をIoT機器で作ってみました笑
あと学習面で評価されたのは日報作成でした。実務が詰めるエンジニアスクール開始当初から3ヶ月以上日報を書いていて就活が始まった後もずっと書いていたのをWantedlyプロフィールに載せていたのですが、これは思ってたより面接にて触れていただく機会が多く評価されたと思います。
あとがき
コロナ影響からか現状かなり未経験からエンジニアを目指す方が増えており、未経験からのエンジニア転職は完全に買い手市場になっているとは思います。
しかしながら継続的に学習し、しっかりとした就活対策をすれば満足のいける企業に入社できる可能性があるのも事実だなと今回改めて転職活動をしてみて思いました。
努力は必ず報われるなんていう無責任なことは言えないけれど、継続的に努力していければ必ず良い方向に向かっていくことができる。自分自身もそういう気持ちで入社後も貪欲に技術力を磨いて行きたいと思います。
最後までご覧いただき本当にありがとうございました!!
少しでも良かったと思っていただけたらLGTMポチッといただけますと幸いです。
Twitterでも今後も転職活動で思ったことを呟いていくのでご覧いただけると幸いです。
@mokio_50