初めてのweb系転職(コロナ編)

# 初めに
人生初の転職活動をしました。初めてにも関わらずコロナ禍だったこともあり、従来の転職活動がどうだったかを私は存じ上げないのですが、もし転職を考えているけれどもコロナが懸念だったり、そもそも転職に興味あるけどどうすればいいか分からないといった方に参考となる情報が提供できればいいなと思い、この記事を書きます。私は現在２９歳なので、第二新卒や管理職レベルの転職する方にはミスマッチな内容かもしれませんが、25~35歳くらいの転職を一番考える年齢層に参考になると嬉しいです。他の転職系ブログと被る内容があるかもしれませんがご了承ください。

※注意
会社の固有名や、コーディングテストの具体的な内容などはセキュリティーポリシーを考えて記載しません。ただし、大まかな傾向などは話しておこうかなと思います。そういった質問があっても回答は致しません。

# 目次  
- 転職活動の流れ（私の場合）
- 会社の分類
- コーディングテストの分類
- あなたはなぜ転職したいのか
- まとめ

# 転職活動の流れ（私の場合）
## 活動のきっかけ
私は前職にて、ありがたいことにそこそこの評価をいただき、そこそこの給与をいただき、年功序列で段々と給与の上がる安定した仕事をさせていただいていました。しかし、当時の仕事は私が開発リーダーやスクラムマスターといったマネジメントよりの仕事が増えてきており、社内の他のエンジニアの話を聞いても開発時間が減っているという話が多かったことから、このまま今の会社にいても技術力の向上はあまり見込めないのではないか？と考えたことから転職活動を開始しました。

## エージェントを選ぶ
エンジニアの転職方法はいくつかあると思います 
 
- 転職サイトから応募する  
  サービス名は出しませんが、新卒採用の時に利用するようなサイトと同様です。
- ヘッドハンティング  
  優秀な方なら引っ張りだこになります。ヘッドハンティングされるかは置いておいて、某ビジネスSNSとかに登録しているとダイレクトメールが届くこともありますが、転職サイトに登録しているだけでもたくさんメールは来るので、よっぽど優れた実績がない限りは比率的に少ない転職手段なのかなと思います。特に３０歳前後の場合。  
一方で、私のようにあんまりスキルなくてもメールは来るので、片っ端から連絡しているように見える。

- 友人の紹介を受ける  
  そんなのあるの？と思ったら意外とあるらしいです。私の同年代で一番優秀な知り合いは友人の紹介でハイレベル転職をしていきました。某メガベンチャーで聞いてみたら、2~3割ほど社員の知り合いが面接にくるといった話もありました。会社によりけりだとは思いますが、友人に相談するのも選択肢かと思います。私は友達が少ないので無理でした。  

- エージェント経由で応募する  
　ここで掘り下げていきます

私に限らず、多くのエンジニアはエージェントを利用するのがいいというと思います。ただしエージェントも人間なので当たり外れはあります。そのため私は4人のエージェントと会って1人に絞って活動に協力していただきました。4人のうち、2人は転職エージェントのサイトから申し込んでお話し、2人はビジネスSNSにメッセージをいただいた方でした。

サイトで申し込んだエージェントの場合の強みは、転職先として紹介できる会社の幅が広いことかと思います。ですのでたくさんの会社を見たい・受けたいという方は転職エージェントサイトから依頼をするのがおすすめです。手間も少ないです。

一方でSNS経由の場合は、有名ではないエージェント会社や、ほぼ個人で行っている方が多い印象でした。（外人からもたくさん来るが私は海外見ていなかったので情報提供できないです）。無名な会社で大丈夫なの？と思う方もいるかと思いますが、個人のエージェントほどノルマとかに縛られないため親身になった相談がしやすそうとか勝手に思ってます。私はたまたま相性がいいエージェントと巡り会えたため、小さい会社のエージェントのお世話になることになりました。

また、難しいところですが転職をひたすら進めてくるエージェントはあまり良くない思っています。良いエージェントは、今の仕事でもやりたいことが出来そうなら転職しない方が良いと言ってくれます。今の会社で3年後になりたい自分になれているかとか考えてみて、なれそうなら転職しなくていいので。

エージェントは個人の相性があると思うのでいくつかのエージェントを探してみるといいかと思います。ただし、複数エージェントを同時に利用すると、給与交渉などが面倒になるようなので1人に絞る方がいいらしいです。

## 職務経歴書を作る
 履歴書より具体的な経験を書きます。エージェントを使えばテンプレートや、どのようなことを書けばいいかといったアドバイスはもらえると思います。私は下記のような内容でした。

- 自分の経験・知識・技術  
  自分のアピールできる経験やスキルをサマリーで書きました
- 職務経歴  
  今までの経歴を書きます。面接で聞かれるのは経歴の深掘りが多いです
- 印象に残った経験
  目立つ経験や、苦労を乗り越えた経験など
- 自己PR  
  自分を売り込みます。

この辺は調べると細かく出てくると思うので、いろいろ調べてみたりエージェントに相談すると良いでしょう。

## 応募する
会社と直接やり取りするのはエージェントなので、どの会社を受けるのかをエージェントと相談し、エージェントに職務経歴書を渡して応募してもらいます。
私は５社応募して、不採用が半分を超えてから＋５社応募するといった形で同時に受ける会社が増えすぎないように進めました。
応募からはスケジュールを組み立て行く必要があります。会社によって期間はまちまちですが、早い会社で1ヶ月。遅い会社で2ヶ月ほど書類選考開始してから合否が出るまで時間がかかります。

## 面接・コーディングテスト
私が受けた会社は **全てリモート面接** でした。そして面接した時間も全て定時外で、18:00とか19:00スタートだったので、在宅ワークして業務終わったら面接の準備してそのまま面接に臨むことができたため、直接会社に行く手間がない分気軽に応募することができました。ここはコロナ禍ならではの転職活動かと思います。  
コーディングテストはコロナ禍関係なく最近のwebエンジニアの転職活動では採用する企業が増えています。私の受けた会社でもほとんどの企業で採用していました。これに関しては後述します。

## 内定
 内定がいただけたら、いつ次の会社で働き始めるかの話などを進めて、退職手続きなど行います。給与交渉などはエージェントにお任せですが、私の場合は下限の年収を設定してそれ以上で内定いただけた会社のなかで比較するといった形でした。

# 会社の分類
私はweb系の会社を受けたためメーカーなどの話は話せませんが、受けた中でいくつか分類できると思ったのでまとめます。なお、この分類はあくまでも何に重きを置いているかで個人的に分類したものであり、全部の要件を満たしていることに越したことはありません。

## 即戦力が欲しい企業
高い技術力をすでに持っているエンジニアを募集しています。面接で根掘り葉掘り聞かれます。私は脳が破壊されました。会社名は出しませんが、転職市場で人気な会社でなおかつ新卒採用枠が少ないような会社にありがちなイメージを受けました。その分給与面は期待できますので、自分は技術力に自信があるのにそれに見合う待遇が得られていないという不満がある方が受けるべき会社だと思います。面接もコーディングテストもハイレベルな内容になってきます。

## 志が合致するメンバーが欲しい企業
技術力が大切なのは言わずもがなですが、会社の文化に合致しているかを重要視する会社です。改善提案を積極的に出せるような人材なのか？顧客起点の考え方ができるか？会社の社風を理解しているか？なぜこの会社を受けたのかをしっかり答えられる熱意があるかetc

## 論理的な思考ができるメンバーが欲しい企業
これも当たり前なのですが、先の２つとは別の視点で評価された印象を受けたため記載します。面接では自分の経歴に関して"なぜ"が聞かれます。"なぜこんな実装をしたのか？","なぜこの技術選定をしたのか","この失敗談はどうすればよかったと考えるか？"など。指示待ち人間はNG。ただし、言われたことをやるにしても会社が何を考えてどういった方針で動いているかを説明できれば問題ないと思います。**あなたがどう考えて行動したか？** が重要。私が受けた会社では、技術的な難しい深掘りや社風の一致についてはあまり話題に上がらず、論理的思考のチェックを重視する会社がちらほらあるなといった印象を受けました。

# コーディングテストの分類
単にコーディングテストといっても、いろんなものがあったのでまとめます

## 1~2週間の期間で与えられた要件を満たすコードを書く
 ポートフォリオと呼べるレベルの要件を満たすアプリケーションを実装するというものです。この課題形式が与えられる場合には、レビューも厳しめなので高い技術力が要求されます。githubやzipでコードの提出を行います。

## 3時間程度で簡単な機能仕様を満たすコードを書く
　APIの実装、DB設計、SPAの開発など、特定の分野に絞った課題が与えられて実装するというもの。仮想環境が提供されたり、ツールが提供されたり、会社によって形態はバラバラです。しかし、時間が限られるため、基本的なことが理解できていればそこまで身構えなくても良いレベルかと思います。

## 1~2時間程度でアルゴリズムの実装
下記で紹介されているようなものです。私も参考にして勉強した結果、ことなきを得ました。　
https://qiita.com/yohachi/items/e4bef4035da135a4808d

## ライブコーディング
面接中にコーディングします。または、コードを書かずにその場で設計します。私は緊張しいなので、見事にテンパリ訳わからんことして落ちましたが、内容は基本的なことなのでアルゴリズム実装の予習と、API実装、DB設計などの理解があれば大丈夫だと思います。理解がないなら大丈夫じゃないです。

# あなたはなぜ転職したいのか
今の会社に不満があるから転職すると回答する人が多いと思います。しかし、不満を明確にしておくこととなんとなくで転職するのでは、転職の成功率が大きく変わります。はっきりいって転職するのは疲れるので、転職しなくて良いなら今の会社に残り続ける方がいいと思います。

- 待遇に不満がある 
  会社が求めていることと実際の自分の成果が合致していない可能性があります。会社の求める人材を目指すという選択肢はありませんか？そのような選択肢が社内で見つからないのであれば、自分のスキルを正しく評価してくれるハイレベルな企業を受けるのが良いでしょう

- 自分の成長が期待できない
  大きな会社なら別の部署に移動するのも選択肢です。エンジニアなら開発に専念できる部署や、自分がスキルを身につけたいような仕事（クラウドを学びたいからAWS扱う部署行くとか、SPA学びたいからエンドコンテンツ扱う部署行くとか）を探すのもありです。社内で見つからないなら、自分が力をつけていきたいスキルと募集要項が合致する会社を探すのが良いです。成長を期待するなら即戦力ではなく、社風の合致や論理的思考を評価してくれる会社を探すのが良いでしょう。私はこれに該当します。

- 会社の将来性に不安
  今のご時世、絶対安定の会社なんて存在しないです。そのため、リストラが発生した時にも他社でやっていけるスキルが身につくなら、無理に転職する必要はないと思います。一方で、リストラくらって路頭に迷うような仕事しているなら転職を考えるのも良いです。成長できる会社を探しましょう

- 会社がブラック
  Let's 転職

＃給与はどうなの？
私が受けた会社の多くは **現状維持**です。何故なら私は即戦力ではなかったから。そして、web系でイケイケの会社は割と裁量労働制が多いので、40時間の残業代込みの収入が前職の年収といった感じでした。私の前職は大手メーカーで残業とかあまりしていなかったので、厳密に言えば給与微減です。

# 次の会社に入ってみて
入社1週間が経ちました。もしかしたら、何かの手違いで入社出来たのかもしれません(嘘)。世間的に超有名企業のインフラやってたりセキュリティ担当とかやってた方々が私の隣にいたりとか、OJTっぽい立ち位置で色々指導してくださったりとかしてます。いかに私のスキルが低かったのかを痛感します。他にも転職組はいるのですが、イケイケ企業からの転職だったりとか、私と似たような会社から来たけど趣味でプログラミングコンテストとかでバリバリにコーディングしてる人とか。私の転職理由は自分のスキルの底上げをしたかったからなので、期待通りですが、周りが強強過ぎるとメンタルが持つかが不安。そして、入社直後に仕事できないと思われるのは諦めるとして、数ヶ月後にも足引っ張る人間になるわけにはいかないのでやるしかない。

ちなみに、周りのエンジニアの7割ほどは私より年下です。

# まとめ
自分のスキルに自信がある人にもない人にも、何か参考になれば嬉しいです。転職活動すると自分の今のスキルが他でも通用するのかの指標確認とかにもなるので、転職するつもりなくても情報を集めるといったレベルなら、誰でもやる価値はあるかなと思います。

私はまず、足手まとい脱出しないと・・・