🔎

転職で給料を上げたいソフトウェアエンジニアの勉強方法 How to learn

来年こそ年収1000万以上狙いたいなら自分はこうする
面接の種類多すぎるので全部準備すると時間かかるので同じ面接タイプの企業を複数受けるのがコツです。

同時に勉強する勉強する

大半給料の高い面接はコーディングテストあるのでleetcodeは必ずやる。leetcodeの練習は続くのが大事で1ヶ月に300問をやるぞというより1ヶ月に30問をやった方が覚えるしモチベーションが続く。
notion image
leetcodeの軌跡
一日中leetcodeやるのは効率悪くなるのでドメイン知識のインプットしながらやっていく。学校の授業も一日中ずっと数学をやるのではなく複数科目をやっているのと同じ理由です。Spaced and Interleaved practiceの意識が大事

LeetCode

最低限100問やってIDE補完やdocumentationなしでLeetcode mediumを解けるぐらいにしとく。
シニアレベルをもらうのに面接中より良いパフォーマンスを出さないといけないのでやっておいた方が良いこと:
  • 面接は30~40分しか時間ないのでLeetCode Timerで時間を測る
  • 多くやるより深く理解した方が面接中に役に立つ。なので一問解いて他の回答ないか調べるのも大事。DPの問題はtop-downとbottom-up両方やる、BFSで解けるものはDFSも考え
  • ちょっとわからないのがあればCSの基礎に戻る。(MIT 6.006はおすすめ)

ドメイン知識

ここはバックエンドエンジニア・プラットフォームエンジニア・SRE・DevOpsのソフトウェアエンジニアにおけるドメインの知識の話になるがフロントエンドの場合はJavaScript/DOM/Webなども勉強しとく必要があります。
面接が近くなったらドメイン知識の問題集や勉強の仕方(随時更新)の問題集をやります。まだシニアレベルのオファーを取りたいなら確実に理解力を深めないといけないのでおすすめの本:
  • Designing Data-Intensive Applications - Martin Kleppmann
    • 一本だけ読むならこれ!ある程度データベース触っているとあーこう動いてるんだ感動する
    • 日本語訳あり
    • データベースの話からスタートしさらにアプリケーションをスケールさせていくには分散システムの話が始まりより面白くなる
  • Container Security - Liz Rice
    • linux上にcontainer作れるようになる
    • セキュリティーの本ですがビビらずコンテーナーの話はよの本より簡潔にまとめられてると思います
1時間の面接内にドメイン知識だけやる企業とドメイン知識+コーディングの企業があります。
  • ドメイン知識+コーディング: コーディングが15~30分かかるのでドメイン知識も15 ~ 20分しか無いので短い時間に幅広く知っているのをアピールしないといけないので答えは簡潔に素早く
  • ドメイン知識だけやる: 50分ぐらいもあるので深く答えていく。一つの答えに対してまた深掘りされるので基礎が固まってないと優勝できない
 

面接

海外企業で面接

「移住しないよ」思うかもしれないがそう移住しないからこそリスクフリーで練習になる。コーディング(leetcode)とドメイン知識が武器だけど実力を試したいので最初はシンガポール法人の企業を選ぶ: TikTok/ByteDance, Shopee, Grab。コツはコーディングをドメイン知識を実施している会社を選ぶこと。シンガポールはビザの発行しやすいしヘッドカウントも相当多いので面接に呼ばれやすい。どちらでも同じような面接スタイル(コーディング、ドメイン知識)になるのでいい経験にはなると思う。
より面接の対策をしたい場合は
相当いいオファーもらったら移住考えてもいいじゃん?

国内企業で面接

本番だ。海外企業面接で落とされたら弱み知れるのでそれを補強する。
PayPay, Woven Planetを受ける。opensalaryを見ると相場的には
  • PayPay
    • L2 ミッドレベル): 850 ~ 1000
    • L3: 1100 ~
    • L4:1500 ~
  • Woven Planet
    • Software Engineer ll (ミッドレベル): 1000 ~
    • Software Enginer lll(シニアレベル):1300~
 
交渉に力を入れるとミッドレベルでも1000万円を超えることがあります。詳しくは転職で高額なオファーをもらう戦略をご覧ください。
 
どちらも最後に行動面接っぽいのがあるがここまできたら準備する。詳しくはそれぞれの記事を参考にしてもらえれば
🔎面接体験や対策 PayPay Product Engineer🔎面接体験や対策 Woven by Toyota Fullstack Engineer

まとめ

LeetCode + ドメイン知識だけ勉強してそれが面接プロセスに入っている企業を狙う。システムデザインには時間使わず行動面接は進んだら用意するので相当なショートカットになる。
転職の前には信じがたいが確実に年収は上がる

Already purchased? Sign in here.