I am not switching jobs again, because I will have to “prepare again”.

I am not switching jobs again, because I will have to “prepare again”.

date
Oct 1, 2023
slug
i-am-not-switching-jobs-again-because-i-will-have-to-prepare-again
status
Published
tags
Chia sẻ
Sưu tầm
Study
summary
I did not reply to that LinkedIn message from the recruiter of my dream company…because I wasn’t prepared.
type
Post
notion image
During the initial few years of our career, it is acceptable and many a times advisable to switch between multiple jobs. This gives us a very broad and diverse perspective of the industry, and let’s you choose a path that you can take and later lead others to. The other good thing, which is bundled with the new job is the hefty pay raise. Cheers to that 40% pay raise! Now you can easily buy the new iPhone Ultra Pro Plus with the joining bonus.
Why ain’t most of us doing that? Because it’s been quite some time since we last interviewed, and we might have forgotten all the important concepts. It will take a lot of time to prepare again, and along with it, we also need to do our tasks in the current company.
Too much work! I am good!
Working in a software firm and coding on a regular basis does not mean that you know everything because you are applying all the computer science algorithms and design paradigms in your job. There will always be an important concept, that you don’t remember properly because you studied it a few years ago while you were last preparing for an interview. This happens to most of us and is quite normal!
Cracking the interview process of a high paying tech firm isn’t easy. If you aren’t well prepared, there is a very high chance that you will not get the job, or at the best be down-levelled. Sometimes they even put you off on a cool-down period, which can last for an year, which means you won’t be allowed to interview in that company for sometime. Imagine this happening with you, for your dream company. Hence I will never suggest you to go in an interview unprepared.

How to prepare?

In this article, I will try to explain a smart interview preparation strategy which will help you in reducing the time that you need to spend in preparing for your interviews. The technique is inspired from the first principle, and so applies to most of the industries; but the article will refer few specific examples from the software industry.

The brute force approach — O(n²)

— Leetcode has ~3000 questions.
— The internet is flooded with thousands of courses, videos and blogs about various system design contents.
notion image
You can bookmark all the recommended questions to solve and videos to watch. And every time you plan to switch, you solve all the questions and go through all those blogs and videos. Most of us follow this approach and there is no doubt that this works. But this is a very cumbersome and tiring approach.

The smart approach — O(n)

While preparing for the next switch, do we really need to go through ALL the Leetcode questions and system design videos again?
I don’t think so!
We already know the basics, we only want to skim through those
few trick questions (noted),
those system design concepts (noted) and
few resume and behavioral questions (noted).
Ah!
Gotcha! A Note!
— Prepare short and crisp revision notes, that you can go through in a very short span of time.
— Add only important points and concepts that you tend to forget.
You can use any modern note taking free web application. For example: Microsoft OneNote or Google Doc. I prefer Google Doc for it’s simplicity and speed.
notion imagenotion image

Notes for Software Engineering Interviews

Following are the most important things that you need to keep notes of while preparing for a Software Engineering interview:
Data Structures & Algorithms
— There are hardly 50–60 important tricky questions which most of the companies ask. Keep a short 2–3 lines solution note for all those questions, and revise them before going through any interview.
— This should be summarized in 5–7 pages and you should be able to revise it in 1–2 hours.
System Design
There are a 2 things that you need to prepare for:
1. Short summary about all the important components that helps us design a system. For example: Caching, SQL DB, NoSQL DB, Consistent Hashing, Load Balancers, Key-Value Stores, SOLID principles etc.
2. For every design question, prepare a 1–2 pager note with a block diagram, which will help you revise the concepts in a short span of time. For example: Designing a parking lot, Design Uber etc.
— A ~40 page summary note will easily cover all the important components and systems that can be asked in a system design interview, and this can be easily revised in a day time.
Resumé
— A strict 1 page resume, highlighting the projects that you have done and the tools that you know.
— Prepare a 1 page summary of the most important project that you have worked on. In the note, highlight your contribution, why was it a difficult problem to solve, how could it have been done differently.
— This should take less than 1 hour to revise before the interview.
Behavioral Question
— Every good company has a dedicated round for this, and it is not to be taken lightly at all. A bad performance in this round can be used to down level you or worse can even eliminate you.
— The good part is, there are only 5–7 important questions that can be prepared well in advance, and can be answered using the STAR principle.
One quick tip: You should not miss a chance to flaunt your leadership skills in this round.

Updating the Cache

With time the technology will keep evolving and new things will keep coming up. So whenever you are going through a new question or a system design video, which can help you in your next job switch, you can keep updating your notebook with the new information.
Reminder:
It should be short and crip. Or else it is useless.
notion imagenotion image

AI Humor

Few of you might think of feeding the long videos and blogs to an intelligent chat bot and ask it to convert them to a short note. Try that! You might learn how to train a chatbot but might forget how to reverse that damn linked list.

Closing Thoughts

I have seen many excellent engineers working at a very low pay for a very long time, only because they could not prepare well for their interview. Also, this macroeconomic situation has taught many of us a hard lesson to always be prepared for the worst.
💡
If your company lays you off today, will you start preparing from scratch and then reply to that LinkedIn message from the recruiter of your dream company?