見出し画像

未経験からのエンジニア転職活動を終えての雑感

これは2020年7月〜8月頃の記録です。
現在の転職市場とは異なるのでご注意ください。


はじめに

これを書く目的は以下の通りです。

・当時の自分の思考整理 / 記録
・時勢の記録
・私自身の宣伝(DMで質問が来るみたいなのにちょっと憧れる)
・ただのお節介

正直なところ、私の転職活動に再現性はあまりないと思います。また、かなり回り道をした自覚もあります。今の自分が振り返って思うことを抽象度を高めにして書くので、参考になる部分は参考にしてください。

あくまでも、内定=成功ではないので、働いていない段階でこういったものを出すことに対する無責任さのようなものも感じるのですが、それを言い出すとタイミングを逃して永遠にお蔵入りするので出しておきます。情報発信には開き直りが必要。

それではいろいろ書いていきますが、偉そうになるのと私の主観でしかないので、全て語尾に「知らんけど」を付けておいてください(予防線)

前提

◆経歴など
・地方国立大学卒
・文系(数学への苦手意識はない)
・小学校教師(1年)
・旅館の仲居(9ヶ月)
・RUNTEQというプログラミングスクール(半年)
・そんな感じの25歳

スクールについては以下の記事を参照。RUNTEQはいいぞ。


私は、エンジニアとして技術的なことを中心としつつも、いかにサービスを発展させるかというところにも興味があったので、自社サービスを提供している会社を中心に受けていました。なので、会社が採用時に見るポイントは受託系の会社とは少し違うかもしれません。

受託系の会社はいろんな技術に触れることができる・今までの技術的知見が社内にストックされているなどのメリットがあるので、いろんな技術に挑戦してゴリゴリコードを書けるフルスタックエンジニアになりたい!という技術志向の人に向いてそうです。
私にとってはそれほど重要視していなかった部分だったので、面接でも身を乗り出しては語れないなあと思って受けていませんでした。

顧客が求めるものを提供するという意味では根本的なところは変わらないし、会社によってエンジニアが技術寄りかサービス寄りかという点も違うとは思いますが、概ねこんな感じの傾向があります。connpassなどではキャリア系のイベントもあるので、中で働いている人の実際を知ることもできます。
(駆け出し界隈に蔓延する自社開発が一番優れているみたいな考え方はどうなんだろうって思っている)


転職活動をするにあたってのマインド

企業がエンジニアを募集をするということ

エンジニアを募集するにあたり、企業側には「今ここの力が弱い(将来的にここに投資したい)から、こういう人に入ってほしい」という目的があるはずです。
私が受けた会社はほとんどがスタートアップでしたが、フェーズによって求める人材も違いました。

・とりあえずMVPを作ってガンガンPDCA回していける人
・サービスが伸びていて人が足りないので、とにかく手を動かせる人
・これからサービスを伸ばしていきたいので、マーケットの視点を持って提案・実装できる人
・エンジニア組織として厚くしていきたいので、テックリードやマネジメントができる人

で、未経験も採用対象としている(現時点での技術力をそこまで重視しない)のは、この辺りだと思います。

・サービス初期リリース前後
 (最初は外部の力を借りて技術を学ばせながら、フルコミットできる戦力にしていく)
・これからサービスを伸ばしていこう期
 (技術力以外への期待や将来のリーダー層を意識)
・組織として大きくしていこう期
 (同上。ただし、知名度があると競争率が上がる)

「技術力がある人が欲しいけど、ネームバリューがないので中々採用が厳しい。来るかわからない人を待つくらいならポテンシャルのある人を採って自社で育成する」という会社も一定数ありました。
未経験エンジニアが入社してすぐ成果を上げられるわけはないので、教育は必要です。とはいえ、会社としても費用対効果の高い人に投資したいので、成長する素地があるのかは当然見られています。

そして、どこの会社でも「プログラミングしかできない人は求めていない」と仰っていました。サービスを伸ばすことを自分ごととして捉え、提案・実装できる能力を求めていると感じました。

というわけで、未経験に求められるのは、短期間でスキルアップしてくれるだろうというポテンシャルと、組織人としてよい影響を与えてくれる(目標を同じくできる、価値観が合う)だろうというカルチャーフィットです。
結果として、いろんな人がよく言っていることに落ち着きましたが、まあそういうことです。業界によっては前職の経験も強みになると思います。


ポテンシャルについて

・学歴 / 経歴
・GitHubの草
・技術的なアウトプット
・ポートフォリオ

わかりやすくアピールできるものというと、こんなところですかね?
学歴や職歴はエンジニアとしては基本的には関係ないですが、未経験の場合、何かを成し遂げた経験があるかだとか、何かに打ち込むことができるかどうかの指標として見られている印象です。

私は、GitHubの草とQiita(というかアウトプットの習慣)に関してはわりと評価されたと思います。自粛期間中いかに引きこもっていたかがわかる……。

スクリーンショット 2020-08-31 17.36.33

FindyやLaprasはGitHubと連携できるので、積極的に使わなくても登録だけしておくのはありだと思います(ただし、スカウトをもらってカジュアル面談をしたけど、その後書類で落ちることもあった)。

技術的なポテンシャルに関しては、過去の積み重ねが物を言うので、転職活動をする段階ではどうしようもない。コツコツ頑張りましょうという感じ。


ポートフォリオについて

私はこんな感じのものを作りました。露骨な宣伝です。
Twitterで #今日の積み上げ  などのハッシュタグで学習記録をしている人は全員使おう。


Q. どれくらい技術を盛り込んだ方がいいか?
A. そんなにいらない。やりたい理由があるならやれ。

具体的にいうと、私がやったのはAWS、CircleCI(CDはやっていない)、ローカルのみDockerです。それぞれ入れた理由は、

AWS……herokuだとRedisが使えないと勘違いしていたから。
CircleCI……ロマン。
Docker……就活中に、一度は触っておくかと思い至ったから。デプロイ後に入れたので開発ではほぼ使っていない……。

体感ですが、ほとんどのところではコードはそこまで細かく見られていないと感じました。ただし、READMEを見てサービスの全貌がわかるのは大事です。私は技術的な内容もサービスについてもかなりREADMEは作り込みました(カンペの意味合いもある)。

なので、ポートフォリオに関しては、機能を目的としてそこまで凝る必要はないというのが私の結論です。
頑張ったところで未経験レベルでしかないので、ある程度頭が抜けるくらいでいいと思います。RUNTEQ生を見ている限り、サービス指向で企画してそれを実装するだけで、少なからずやったことのない部分に触れることになるので、ある程度の技術アピールは実現できるような気がします。
(メ〇カリコピーというのが巷でdisられたりしていますが、機能面だけならメ〇カリ再現できたらくっそレベル高くね?と思っている)

結局のところ、どれだけ自分の思いが乗っているかだとか、需要に当てているかだとか、おもしろいか(これ重要)だと思います。
ちなみに、3ヶ月かけて作ったこの真面目アプリより、1週間で作ったネタアプリの方が面接ウケがいいこともありました。……いやいいんですよ……どっちも私が作ったものだし……。


カルチャーフィットについて

「技術だけなら半年〜1年くらいで成長してくれるけど、マインドは変えられない」という言葉は各所で聞きました。
少し前に以下の記事が話題になっていましたが、多分これはどこでも共通している価値観ではないかと思います。

他には、既存のメンバーと目標を共有してそこに向かって走れるか、という点が見られていると思います。
これについてはミッション・ビジョン・バリューで明文化しているところが多いです。とはいえ、大体「せやな〜」ってことを書いているので、他の会社と比較するのが一番わかりやすいかもしれません。なぜそういうバリューが重視されているのかなど、気になる点があったら面接で聞くべし聞くべし。

差が出そうなのは、この辺りでしょうか?
・エンジニアのビジネスに対する姿勢
・社員同士の距離感
・プロダクトに対するこだわりどころ
目指したい未来に向かってどのように走っていくスタンスか、という点が違う気がします。
とにかく早く出して後で軌道修正すればいいという会社もあれば、期限を多少過ぎてでもUXにはこだわるという会社もありました。

自分が珍しいなと感じたのは、「よい人材を排出する会社にしたいから、技術力を付けたらがんがん転職してほしい」「技術にフルコミットしたいならそれはそれでいい」などの意見でした。とはいえ、これは面接で聞いた話なので、サイトなどで全面に押しているというわけではないです。


実際の転職活動の流れ

私は会社についての情報はNotionで管理していました。
Wantedlyなどのページを1ページとして、リストにまとめて「応募済み」「書類落ち」「途中」のように分類できるのがよかったです。


応募・書類選考

多分、最初に感じるのが「Wantedly全然通らない問題」だと思います。私は通過率10%くらいでした(多分平均レベル)。返信がないのはデフォなので、返信があるとそれだけで嬉しかったです。祈ってくれてありがとうございます!

Wantedlyのプロフィールは転職活動の先輩方に添削してもらいました。採用担当者は基本的にプロフィールは流し読みをしてふるいにかけているので、目に留まるように以下のような点で差別化しました。

・技術的なアピールを上の方に書く
・わかる奴っぽいワードでポートフォリオの機能を説明する
・ポートフォリオのサービス志向アピール
・人柄がわかること(ソフト面のアピール)も上の方に書く

わかる奴っぽいワードというのは「AWS」とか「Docker」という単体の技術ではなく、「トランザクション」とか「REST」とか「テストカバレッジ」とか、ちゃんと基礎的な概念を理解してそう〜と思われるような言葉を使いました。ポートフォリオを作る段階では意識していませんでしたが、基礎的なことで技術的にアピールできることです。いろんな人のWantedlyを見て、他の人があまり書いていないことを書くようにしました。
現役エンジニアがコメントでやいやい言っているような勉強会に参加すると、実務でのバッドプラクティスや意識すべきポイントなども聞けるので、そういった知識はとても参考になりました。今はオンラインイベントが多くて参加コストも低いからまじでおすすめ。

サービス指向アピールというのは、ユーザーを意識しているかどうか、継続的に運用しているか、というような視点です。
実際に誰かに使ってもらってフィードバックをもらった、○人の利用者がいる、Google Analyticsで分析をしている、継続的に改善をしている、などの要素がアピール材料として挙げられます。バズったりマネタイズができていたらめっちゃ強いと思う。

あと、私自身は書いていませんでしたが、最近は業務委託でお試しの後に採用を決めるパターンも多いので、業務委託からでも可能などと書いておくのも手かもしれません。


使った媒体

Wantedly
Lapras
Findy
TechTrain

直接応募とTwitter突撃もしましたが全部初手で落ちました。あとは、広告やリツイートなどでおもしろそうなサービスや会社を見かけたら、とりあえず採用情報を確認していました。
エージェントは知らない子ですね。

また、ひさじゅさん繋がりでもお声掛けをいただきました(結論から言うと一番強かった)。なんだかんだで未経験だと面接までが難関なので、きちんと見てもらえる土俵に上げてもらえるのが強いと実感しました。
結局のところ、現役エンジニアや経営者の方とつながってリファラルというのが一番効果的です。人脈は強い。


応募数について

よく、「数打つべき」とか「数社に絞るべき」とか言いますが、結果として私は多分中間くらいの応募数(2桁後半)で落ち着きました。2ヶ月という期間に対すると少ない方かもしれません。

私の結論としては、「自分の考えが確固としていて、アピールができる自信があるなら数社にしたほうがいい」です。私の周りの数社応募の人の印象は、自己分析をしっかりできていて、こだわりを明確に言語化できるという感じ。
基準が明確になっていて、それと志望企業が合致しているなら、あとは自分の合っている部分を見せてアピールするだけです。自己分析とこだわりが定まっていない人はそれを明確にする必要があり、話すことに慣れていない人はある程度の面接慣れが必要だと思います。

私は自分のこだわりがそれほど明確になっていなかったので、面接を繰り返す中で自分探しをしていました。結果的に面接中にミスマッチが判明することもあったので、時間を取らせてしまったなあと思っています。
とはいえ、応募時はそもそも面接まで行けるかどうかもわからないのに会社を選り好みするのはどうなんだ?という葛藤もあります。実際、カジュアル面談で印象が変わった会社もありました。

ただ、(条件面で)行く気がほぼない会社に応募するのは早々にやめました。内定を欲しいがために踏み台にしている感覚があって心が痛かったのと、無理やり合わせに行く面接がただただつらかったので。


技術課題

これはあまり他の人の参考にはならないと思いますが、一応記録しておきます。
私が受けた中で技術課題があったのは3社で、アルゴリズム系の課題はありませんでした。

内容は、「1週間で1つの機能を実装する」や「30分で用意した問題を解けるだけ解いて(ググり可)」などです。
また、1社はSPIのようなテストを受けました。新卒のときに就活をしていなかったのでこういうテストを受けたことがなくて、単純におもしろかったです。

友達からは、いわゆるアルゴリズム系の課題や「今からホワイトボードでテーブル設計してみて」などを聞いたことがあります。


面接

(カジュアル面談→書類→)一次面接→二次面接→内定というのが一般的だと思います。場合によっては、カジュアル面談のつもりで行ったら内定みたいなことを言われてびびることもありました。スタートアップを感じた。
基本的にはカジュアル面談と一次はオンライン、二次はオフラインのところが多かったです。これに関しては、私がフルリモートの会社を希望していなかったからというのもあるかもしれません。

そして、これらの面接を通じて、採用というものは会社の希望と自分の希望とをすり合わせる作業なのだと改めて感じました。

最初の頃に面接を受けたとき、話しながら「なんか自分の理想とは違うかな」と感じたものの、無理やり合わせにいったこともありました。自分としても苦痛だったし、結果的に「多分あなたはうちの会社じゃないと思う」「そうですね……」というやり取りになりました。
そこで、自分の考えは偽っても意味がないなと痛感しました。価値観は多様で正解がないので、自分が妥協できないところを曲げてしまうと入社した後もしんどいと思います(そして私は嘘がつけない)。

ただ、自己分析をしっかりしていないと軸ができないため、深堀りされたときに「自分はどうしたいんだっけ?」となってしまいます。なりました。
そこでの一つの気づきは、必ずしも軸は一つでなくてもいいということです。私にとって教育とプログラミングは同一の軸ではなかったため、「なんで〇〇な考えだったのにエンジニアを選んだの?」などと聞かれたときに無理やりな理論を作っていました。が、二軸の交点という風に考えると自分の中でも納得できました。

また、私は性格に関してはわりとスタートアップ受けするだろうと思っていたので、面接の場では自分をいかに出せるかということを意識していました(これについては、私の希望が「自分を出せる組織」だったので、いっそ開き直ったというのもある)。
あと、せっかく普段会えないような人と会える場なので自分自身が対話を楽しもうと思っていました。


ちなみに、面接ではTwitterなどはあまり見られていないと感じました。というか、WantedlyのプロフィールやGitHubなども面接中に確認している(プロフィールをチェックした人と面接担当者が違うこともある)ようだったので、事前に読むほどの余裕はなさそうです。
これは、「だからTwitterは適当にやっていい」ということではなく、「WantedlyやTwitterに書いてあることでも、面接では口頭でアピールした方がいい」という意味です。

ただ、一次でもきっちり読み込んでいる面接担当者もいましたし、最終的には人柄が見える部分は確認していると思います。

ちなみに、私はGitHub Profileでブログ類やポートフォリオへのリンクをまとめていました。GitHubからの導線が明確にできるので、面接担当者が何を見ればいいかわかりやすいです。おすすめ。

画像2

(就活当時とは若干内容が違います)


面接で落ちた原因

これに関しては、そんなに明確にフィードバックをもらえるわけではないので、自分が「多分これだろうな〜」と思ったことです。

・技術力 / 能力不足
明確に伝えられることが多いです。採用枠は限られているので、悔しいですがこればかりは仕方ないです。

・会社とカルチャーなどが合っていなかった
前述のように面接中に言われたり、やり取りをしているときに自分でも「なんか違うな」と思うので感覚でわかります。自分が思っているのだから、向こうも違うと思うのはまあ道理です……。

・根本的な質問(自分について)に対して深堀りができていなかった
前項で散々話したので割愛。深掘られていくうちに、話しながら「こういうことを言いたいわけじゃなかったのに」とか「これは本質じゃなかったなあ」と思ってきます。

とはいえ、面接担当者の雰囲気によってのびのびと話せるかどうかは違うなと思いました。その辺りも含めてカルチャーフィットなのかなと思っておきます。ポジティブシンキング。
どうしようもない理由とどうにかしようがある理由があるので、前者はしゃーないと割り切って後者だけしっかり反省するのが精神衛生上吉です。


n回聞かれた質問

どこでも聞かれる本質的なところです。根本的なところから考えておかないと死にます。

・自己紹介(経歴に沿って話していた)
 ・どうしてそういう選択をしたのか
・前職をやめた理由
 ・前職で大変だった / つらかったこと
・エンジニアを目指す理由
・会社の志望理由
・他にはどんな企業を受けているのか
会社選びで重視する点(志望理由ともつながるが、ここはかなり見られていると感じた)
・今後どういう風になりたいか
・今後の人生でやりたいことはあるか(このような質問は言い方は違えどわりとあった。人生に対する価値観だとか野望のようなもの)
・何か質問はあるか

ポートフォリオやスクール、技術的なことに関して。
これはそれなりに整理して話せるようにしておくくらいでなんとかなると思います。知らないことは知らないので知らないとしか言えない。
WantedlyとかREADMEをしっかり書いているなら大丈夫です。どれだけ頑張って作ったかなんてむしろ語りたいよなあ?

・スクールでどんなことを勉強したのか
・スクール外で何を勉強したのか
・そのスクールを選んだ理由
・ポートフォリオを作ったきっかけ(作成動機と解釈した)
・どこまで1人で実装したのか(某クローンが多いからなのか?)
・最も大変だった機能
・詰まったときにどう解決したか
・技術的な質問(gemの選定理由、AWSの構成、SQLやLinuxコマンド辺りのこと)


おわりに

純粋に、よい経験になりました。自分が今後どういう人生を歩みたいのか考え直すきっかけにもなりました。

また、就活を通していろんな方と話すこともできました。将来像や自社の魅力を語る姿はキラキラしていて、自分自身もこうなりたいなと思いました。
そして、CTO・CEOレベルの方と話せる機会は中々ないので本当に貴重な経験でした(と言いつつ、RUNTEQの講師陣はレベルが高いことを思い出す)。

また、この記事はそれなりに抽象化していますが、具体的な話を聞きたい人は(参考にはならないであろうことを前提として)私の記憶が鮮明なうちに質問・相談してください。
私自身頼られることとか人の話を聞くのは好きなので、壁打ち相手もどうぞ!

https://twitter.com/aiandrox


全体的な反省

転職活動に時間がかかりすぎです。これに関しては、自己分析と応募と面接をいい感じに両立できなかったのが原因です。全く応募していなかった期間もあったので、そういったところをなくしていればもう少し時間を溶かさずに済んだのかなと思います。とはいえ、自己分析ができていないと面接がうまくいかないので、応募しながら(退路を断つ)自己分析をして面接の準備をするという感じになるのでしょうか。

そもそも「よし、エンジニアになろう」と決めたときにはこんな時間がかかるとは思っていませんでした。転職を決意してからは2年弱、退職してからは1年半くらいです。
東京で暮らすお金がなかったのが大きな原因ですが、それでももっとさっさと動けばショートカットできたよなあとも思います。随分と長いモラトリアムを過ごしてしまいましたが、その過程でいろんな人と出会えたので結果オーライ、楽しかったです。


謝辞

転職活動にあたり、いろんな人に死ぬほど相談しました。

RUNTEQではtimesで「職務経歴書が全然書けない」と愚痴ったり、突然謎の思考実験を投げたりしていました。また、運営陣には面接練習や面接後の反省会に付き合っていただいたりもしました。

また、Wantedlyの添削をしてくれた友人も本当にありがたかったです。「採用担当者が何を見たいのか」というような基準だったり、「技術について具体的に書いて差別化をした方がいいよ」という具体的なアドバイスがとても参考になりました。

他にも、自己分析にあたり、いろんな人の軸を聞いてその人の価値観を考えさせてもらいました。自分の中にもあった考え方を言語化してくれたり、全く違う視点で物事を見ていたりして、とても勉強になりました。自分を捉えるには、共通点と相違点でかたどっていくのが一番わかりやすかったです。
突然「私の特徴を挙げてくれ」と無茶振りをしたり、勝手に他己分析をして送りつけたりもしましたね……。


また、突然仕事をやめて東京に行くなんて言い出した娘を呆れ混じりに応援してくれた家族や、楽しさに流されそうになる私を引っ張って勉強の場を設けてくれたり、何も成していない者の夢語りに付き合ってくれた友人など、感謝してもし足りません。

改めて、私は周りの人に恵まれ続けていると実感しました。それがあったからこそ、夢のスタートラインに立てたと思っています。
本当にありがとうございました。

そして、今後も頼らせてください(笑)


この記事が気に入ったらサポートをしてみませんか?