見出し画像

2023に給料を上げたいソフトウェアエンジニアの勉強方法

来年こそ年収1000万以上狙いたいなら自分はこうする

面接の種類多すぎるので全部準備すると時間かかるので同じ面接タイプの企業を複数受けるのがコツです。

同時に勉強する勉強する

大半給料の高い面接はコーディングテストあるのでleetcodeは必ずやる。leetcodeの練習は続くのが大事で1ヶ月に300問をやるぞというより1ヶ月に30問をやった方が覚えるしモチベーションが続く。

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なども勉強しとく必要があります。

面接が近くなったらドメイン知識の問題集や勉強の仕方(随時更新)の問題集をやります。まだシニアレベルのオファーを取りたいなら確実に理解力を深めないといけないのでおすすめの本:

1時間の面接内にドメイン知識だけやる企業とドメイン知識+コーディングの企業があります。

  • ドメイン知識+コーディング: コーディングが15~30分かかるのでドメイン知識も15 ~ 20分しか無いので短い時間に幅広く知っているのをアピールしないといけないので答えは簡潔に素早く

  • ドメイン知識だけやる: 50分ぐらいもあるので深く答えていく。一つの答えに対してまた深掘りされるので基礎が固まってないと優勝できない

ChatGPTによるモックインタービュー

ドメイン知識のように一問一答の面接はChatGPTを使うと良さそうです。デフォルトではなくまずはChatGPTに面接官になってもらいましょう。

I want you to act as an interviewer. I will be the candidate and you will ask me technical questions for backend engineer position. Ask me question one by one and wait for my answers. You should ask around 3 questions and decide if I am qualified to become a senior backend engineer. In the end you should also give me feedback for my answers.

他のロールの場合はbackend engineerを置き換えてください。

第1問

なんと次はフィードバックをいただきながら第二問を投げてくる

第2問
第3問

最後に全体のパフォーマンスも聞いてみよう。

なんとまだシニアエンジニアにはまだ慣れないので勉強が必要らしいです。

面接

海外企業で面接

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

より面接の対策をしたい場合は
Shopee Software Engineer Interview Questions and Processes
- Grab Software Engineer Interview Questions and Process
- Bytedance Software Engineer Interview Questions and Process

相当いいオファーもらったら移住考えてもいいじゃん?

国内企業で面接

本番だ。海外企業面接で落とされたら弱み知れるのでそれを補強する。
PayPay, Woven Planetを受ける。opensalaryを見ると相場的には

  • PayPay

    • L2 ミッドレベル): 850 ~ 1000

    • L3: 1100 ~

    • L4:1500 ~

  • Woven Planet

    • Software Engineer ll (ミッドレベル): 1000 ~

    • Software Enginer lll(シニアレベル):1300~

交渉に力を入れるとミッドレベルでも1000を余裕に超えることがあります。詳しくはThe Pathをご覧ください。

どちらも最後に行動面接っぽいのがあるがここまできたら準備する。詳しくはそれぞれの記事を参考にしてもらえれば

まとめ

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

以上の勉強方法でオファーなどを獲得した話をThe Pathにまとめているので興味ある方はぜひ!


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