SEから受託企業への転職戦略
背景
Web系のエンジニアにとって転職はかなり身近なもので、一つの企業にずっといる方は少ない業界だということを肌で感じました。(3年以上の人は割と長くて5年以上の人はかなり長い)
Sierの業界(主に業務系のSE)では終身雇用的な思考が強く、
転職があまり身近なものではないと感じたので、同じ経歴の人にとっての参考になればと思い記述しています。
転職当時のプロフィール(2019/10月頃)
- 年齢: 24歳
- 学歴: 4年制理系大学卒(留年してるので5年制でした)
- 在籍: 約1年半(2018年4月から在籍)
- 実務内容: 上流~下流~運用まで浅く広く経験(言語はC#,VB,SQLServer)
-
ポートフォリオ:
- 実務経験ほぼなし
- 大学時代からiOSアプリ開発をスタート,iOSアプリを一つ作成・リリース(Swift,Firebase)
当時のエンジニア転職市場
完全な売り手市場でした。
転職サイトでも未経験OKの募集がいくつもあって、オファーも登録していれば1日に何件もくる状態。
書類選考から面接までも9割くらいは進める感じ。
Web系エンジニアというワードが少しづつ普及してて、Webサービスの開発のエンジニア(HTML,CSS,JavaScript,PHP,Ruby)あたりでポートフォリオを作成して転職活動に望んでいる人が多い印象でした。
iOSアプリはちらほらいましたが、まだあまりいない印象。
使用していた転職媒体
当時の将来のキャリアとやりたかったこと
将来的にリモートでどこでも働けるフリーランスになりたいと思っていました。
そのため以下のようなことが学べる企業に入れれば良いなと思っていました。
- フリーランスになった時にどう活動すればいいのか?
- フリーランスになるために必要な技術力の向上
- できればiOSアプリ開発
今考えると
自由に働ける = フリーランス
的な思考だったのと、カフェとかで仕事してる人みると、良いなーって思ってたので
ざっくりそんな感じでした。
どう転職活動をしたのか
今回の本題になります。
時系列順にどのように転職活動を行ったのか記載していきます。
転職の戦略を考える
状況的に突然転職活動を始めなければいけなかったので、
事前の下調べなどはあまり入念に行っていなかったです。
なのでまずは戦略を考えました。
- エンジニア転職市場の把握
- エンジニア転職で求められていることを洗い出す
- 求められていることに対して他の転職者との差別化・自分の強みを考える
- 面接をどんどんに受けて、面接力をあげていく
この4つの工程は順番は入れ替わっても良いとは思いますが、
この工程は全てやっておいて良かったと思います。
エンジニア転職市場の把握
転職活動自体初めてだったので、以下の条件にハマるところで選り好みすることなくいろいろ受けました。
事業内容
- Web開発(HTML,CSS,JavaScript,PHP,Ruby)
- モバイル開発(Swift,Kotlin,Java)
- Webデザイン(HTML.CSS,JavaScript)
業態
- SES
- 受託開発
- 自社開発
当時からSES,受託開発は案件ガチャで自社開発に転職すべし!みたいな風潮はありましたが、
そのあたりも自分で体験して判断したかったので、あまり気にせず受けました。
受けてみた結果、各業態ごとに特徴と必要な部分が見えました。
SES
選考
- 採用自体は未経験でも全然通る
- 面接は1,2回のところが多かった
所感
- どのSESもどんな経験を積めるかは案件によってしまうので、案件ガチャ要素は強く感じた
- 一人客先上常駐も全然ありえる
- 技術力がつけば高単価で稼げるかも(未経験だと厳しいと感じた)
受託開発(Webデザイン系)
選考
- 未経験の選考も行ってるが、それなりにデザインできるよね?という前提の選考が多い
- Webシステムというよりは、LPとかWebサイトのポートフォリオが必要
- 選考で実技を行うことが多い(2週間の期間で課題に対してデザインを考えてコーディング)
所感
- エンジニアとしてのキャリア形成は難しそう(コーディングよりデザイナー的要素が強い)
小規模受託開発(Web/モバイル開発) 30人以下くらい
選考
- 未経験の募集が結構ある(入社して研修、というよりは現場でOJTをつけることが多い)
- 面接回数は1~2回が多い(人事というよりは現場のエンジニアと面接する)
所感
- 採用に苦しんでて人に困ってる感がある(タスクの割り振りがうまくできてなそうで残業多そう)
- 抱えてる案件が大きいのが1つ2つやってることが多い
- 自社開発をしようとしてるが、そこまで手が回ってない企業が多い
- 社員とBP(ビジネスパートナー)の割合が1:2くらいのとこが多かった
- 一人一人が集中していて、質問がしづらそうに感じた
中規模~大規模受託開発(Web/モバイル開発)
選考
- 未経験の募集があんまりない
- 面接回数は2~3回が多い(人事→現場エンジニア(またはMGR)→MGRまたは役員or社長)
所感
- 採用してるところは業績が上がってて規模を拡大しようとしてるところが多い
- 案件数は数10件抱えていて、いろんな技術をつかっている感じ
- 社員とBP(ビジネスパートナー)の割合が2:1くらいのとこが多かった
- わりと雰囲気は良くて、質問もしやすそうな環境に感じた
- 社内的な勉強会やイベントも活発に行われてるところが多い
- 請負でやっているところはリソースにも余裕がありそう
小規模自社開発(Web/モバイル開発)
選考
- 未経験の募集は少ないがまあある感じ(教育体制についてはあまり記載ない)
- 面接回数は3回以上のところが多い
- 技術力は最低ライン(Webならデプロイ,モバイルならアプリリリース)を超えてれば良いところが多い
- 技術力よりは自社サービスへの思いや、文化的なマッチングを重視している
所感
- 社員同士の雰囲気はかなりよかった
- 自社プロダクトの新機能追加やバグ修正がメイン
- 残業とかはがっつり多そうな感じ
中規模/大規模自社開発(Web/モバイル開発)
選考
- 未経験採用はやってなさそう
- 少なくとも実務経験が3年は必要そう
所感
- 転職対象にいれていなかったのでわからないです
雑多に受けてみた結果、自分の将来的なキャリアを考えた時に
- とりあえず実務経験を早く積みたい
- 受託開発 = フリーランスの規模が大きくなったもの(当時の考え)
- いろんな案件を経験して、いろんな技術スタックを作りたい
- 技術力が高いエンジニアが多い環境で働きたい
- 研修はいらないけど、OJT的な存在は欲しい
上記の理由から一番経験がつめそうなのは中規模/大規模の受託開発の会社だと思ったので
従業員規模が50人以上かつSES事業をやっていない受託開発メインの会社を中心に選考を進めました。(他にもいろいろ細かい条件はありましたが)
モバイルの開発に興味がありましたが、使用する技術にそこまでのこだわりはなかったので、候補はかなりありました。
実務経験1年〜3年が募集要項に書いてある企業についての所感
個人的には実務経験1年〜3年と書いていても応募してしまって良いと思います。
理由としては以下です。
-
エンジニアの仕事を知らない人がやめてしまうリスクを減らすための記述
エンジニアの仕事を全く知らない未経験エンジニアを取るリスクを減らすための記述であることが多いと思っています。
エンジニアの仕事は昨今ではわりとキラキラして描かれることが多いので、実際は地味な仕事も多かったりするので、その辺のギャップを感じてやめてしまう人を取らないような試作であることが多いと感じました。
個人開発でも3ヶ月〜半年くらい継続して開発を行えてる人はエンジニアの仕事にある程度理解があると判断されて採用が進むケースは十分にあると思います。 -
技術力はそこまで求めていない
実務経験1年~3年の人に対して、一人でいきなり現場で戦力になるような人材を要求していることは少ないと思います。
先輩のサポートを受けながらも、ある程度は自分で調べたり実装することができるくらいのレベル感のエンジニアを募集しているのが実務経験1年~3年の記載だと思います。
個人的な指標としては以下の感じです。
経験 | 求められているスキル |
---|---|
未経験 | 入社後に研修したり、OJTでがっつり育成するレベル |
実務1年~3年 | OJTを軽くつけて、現場に入って欲しいレベル |
実務3年以上 | 現場にでて活躍して欲しいレベル |
実務5年以上 | テックリードとして現場を先導して欲しいレベル |
-
判断するのは採用側
判断するのは採用側なので、転職者が変に忖度する必要はないと思います。
iOSアプリであれば、SwiftとFirebaseでアプリをリリースしてるくらいの技術力があれば、OJTで気軽に質問できる先輩が入れば、全然現場で仕事はできるようになります。(もちろん最初は難しく感じると思いますが)
もし不採用になってしまっても、どのくらいの相場感なのかを肌で感じることができて、それが1ヶ月や2ヶ月の改善でできるのであれば、改善すればいいだけなので、受けない理由はないと思います。
エンジニア転職で求められていることを洗い出す
面接をいくつか受けてみて、中規模の受託企業では以下のことが求められていることを感じました。
- 未経験エンジニアでないこと
- 基本的なコミュニケーションスキル
- 幅広い技術への興味関心
- 大きな欠点がない
この中で自分が一番重視していた部分は、大きな欠点がないことです。
受託開発の採用は自社開発の採用に比べて、消去法で行われているように感じました。
理由としては以下です。
- 志望理由を面接で聞いてくる企業が少なかった(面接で感じたこと)
- 受託企業の性質として、幅広い技術の案件を扱うことが多いため
- 案件(プロジェクト)ごとに雰囲気が全然違う(入社後感じた)
そのため、特定の技術に特化してる人 や、自社の文化や理念に強く共感してる人 は
受託開発の企業の採用ではそこまで求められておらず、あくまでミスマッチが少ない人、欠点が少ない人を求められていると判断しました。
求められていることに対して他の転職者との差別化・自分の強みを考える
上記の求められているスキルに対して、自分のプロフィール/経歴でどう戦うかを考えました。
未経験エンジニア採用の土台で戦わない
SEで開発業務も経験している + アプリリリース経験のおかげで未経験エンジニア(研修が必要なエンジニア)としてみられないことが多かったので、ここはSEを経験した自分の強みとして生かそうと思いました。
自分がやりたかったのはモバイルアプリの開発でしたが、あくまで自分のプロフィールは
SEで実務経験を積みながら、モバイルアプリのリリースも行っている というスタンスで臨みました。
なので面接でもプログラミング経験はSEの方をアピール、技術的な興味はモバイルアプリ開発の方でアピールすることを心がけました。
技術的な興味をアピールする
エンジニアに転職する以上技術への興味をアピールすることは必須だと思いますし、
面接でも聞かれることが多いです。
技術力よりもポテンシャル重視な未経験エンジニア転職ではここがかなり重要になってきます。
自分の場合は上記の求められるスキルから幅広い技術への興味 をアピールしようと思いました。
結論からいうと、Laravel(PHP)を使用して約1ヶ月半ほどで簡単なWebサービスのポートフォリオを作成しました。
理由としては幅広い技術への興味をアピールするには実際に作って成果物を作るのが一番早いし伝わりやすいと感じた からです。
加えると、自分でもWeb技術が好きなのか、モバイルが好きなのかはやってみないとわからないという思考だったのでちょうどよかったです。(結果的にはモバイルのが好きだなーと感じました。)
技術的な興味をアピールする方法はいくつかあると思います。
例えば、
- 特定の分野に特化した技術を勉強する(モバイルだとBluetoothを使った技術をやってみたり)
- 最新の技術での開発を試してみる(当時だとSWiftUIとか、今だとiOS14でのWidgetとか?)
- MVVMやClean Architectureなどのアーキテクチャを使ってみる
などなどいろんな方法があると思います。
自分はモバイルの開発に興味をもちながらも、
- 上記のような技術を理解するのが難しい
- 突っ込まれた時にアピールがしずらい
- 成果物としてまとめるのが難しい
- モバイルに特化しすぎてる(自分が感じた求められているものとは違う)
という理由で上記の方法でアピールをすることにしました。
結果的にはなぜWebではなくモバイルアプリなのか、という部分についても自分で開発してみたことによって
面接でも説明に深みが出たのでよかったと思います。
清潔感を意識する
3番手に書いていますが、転職活動において圧倒的に大事な要素です。
特に見た目は第一印象に大きく影響を与えるので、気をつけました。
一般的に気をつけるポイントを気をつけていただけなので、実際に何をしたかはここでは特に書きませんが、エンジニア業界では見た目とか気にしないという人が多かったりするので、整えるだけでも差別化になると思います。
面接をどんどんに受けて、面接力をあげていく
面接がうまくなるためには、量をこなしていくのが一番早いと感じました。
ただ漠然と量をこなしてもうまくはならないので、自分は面接前の準備と面接後の動きは意識して行っていました。
面接前に準備すること
以下の3つは最低限明確な理由を答えられるようにしておこうと思いました。
- なぜ転職するのか
- なぜエンジニアなのか
- 転職して何をやりたいのか?
上記の3つはいわゆる転職活動のコアになる部分になります。
ここの質問に対する回答がグダグダしていると、面接全体がグダグダしていきます。
面接後にやること
面接後の振り返りが面接の力をあげるのに一番大事だと考えました。
振り返るポイントは以下を意識していました。
- 質問に対して一貫性があり、論理的な回答ができていたか
- 落ちた場合はなぜ落ちたのかを採用担当に聞く
質問に対して一貫性があり、論理的な回答ができていたか
論理的に説明できているか?という部分は意識している人が多いですが、
一貫性を意識している人は少ないと感じました。
例えば将来的なキャリアでなにをしたいか?みたいな質問があった時に
最先端の技術が好きなので、そういった技術を使えるエンジニアを目指したい
と回答します。
しかし自分が作ったポートフォリオが普通の技術(最先端の技術なし)でのモバイル開発だった場合、
本当に最先端技術が好きなの?という風に自分の行動と回答に対して一貫性がなくなってしまいます。
一つ一つの質問に対して、論理的に説明できることは大事ですが、
この一貫性があるか?についても見直すことをかなり意識しました。
落ちた場合はなぜ落ちたのかを採用担当に聞く
落ちてしまった場合は一期一会なので、落ちた理由を聞くようにしていました。
やりとりしていたメッセージで落ちてすぐ連絡すると教えてくれることが多いです。
自分がフィードバックしてもらった落ちた理由からなぜ落ちたかを分析します。
例えば
-
前職でまだやれることがあると感じた
→転職理由が論理的ではなかった可能性がある -
技術力が不足していると感じた
→ ポートフォリオで使用している技術が足りない/受けている企業のレベルが高い
などなど落ちた理由を聞くことで、自分で考えるだけでは気づかなかった部分を
改善することができます。
落ちた時はショックですが、転職活動は落ちることの方が多いので切り替えて必ず聞くようにしていました。
結果
- エントリーした企業 50件程度
- 面接した企業 20件程度
- 内定 4件程度
くらいだった気がします。
今ほど未経験エンジニアの転職が厳しくなかったので、エントリーすると1/2くらいは返信をくれました。
まとめ
転職活動に関する情報は数多くありますが、一番大事なのは自分で体験して感じることだと思います。
世間の評判に流されて、選択肢を狭めてしまったり、不必要な準備をしてしまっては自分のためにもならないし将来的に後悔してしまう気がします。
転職が当たり前になってきている中でしっかり生き残れるようにこれからも精進して行こうと思います。
Discussion