Cover image

The ultimate interview preparation framework. Part 1: Before it all starts

โ† Back to list
Last updated: January 23, 2022
Image by Justin Ng on Unsplash
***

Finding a new place in a worthy company is not an easy thing to do. If you already have a company on your mind, don't event think a successful interview is something you can pull off during lunch break or next morning after throwing a huge party. You need to prepare yourself accordingly, it ain't easy walk.

Today I have decided to make a summary of my experience in cracking the interview process.

All the information below is not a silver bullet though. Nevertheless, I strongly encourage you to make your own roadmap. I hope these materials can be of help to achieve that. As long as you have a plan, and you don't skip steps, you will eventually prevail. Omitting some of the steps could (and probably will) ultimately cost you an offer. So better safe than sorry.

Ready? So let's do it!

# Step 0: Do some self-reflection

Suppose that you weren't actually laid off, you're still employed, and you're thinking to make your next move. Then, consider doing this:

# Validate your reasons

Life isn't a predictable thing, and it never plays out exactly how you want it. However, if on your current job the things don't go well, don't try to succumb to fear or panic, don't look for a new place out of fear. When the dust settles, you'll find yourself thinking the situation was not actually that wonky. You will face a dilemma whether to stay or leave.

On the other hand, try not to look for a new place out of need either. When money is about to run out, you could find yourself in a weaker position, and you will have to accept just the first offer that comes by (I know, I've been there). Usually the terms are not quite what you hoped for, and you will soon find yourself self-debating on topics such as "Am I happy? Wasn't this a betrayal of my interests?" That's why, when things start turning hairy, you may want to start looking, in advance.

# Write the reasons down

Try to list all your reasons for the job change. This list will let you stay committed to the process in times of doubt.

# Give your CV a makeover

You must always refresh your CV before starting the job search, because since the last time you did it, you have gained a new experience that must be reflected.

# Prepare a list of your achievements

Write down all your achievements using the STAR method. Memoize them, because they will be needed during the interview process on several occasions.

Example:

  • Situation/Problem: Dependencies in the project were difficult to manage. Each time a new dependency was added, a lot of places, especially in unit tests, had to be updated.
  • Task: Improve the dependency management, so by adding a new dependency the codebase change is minimal.
  • Action: Implicit interfaces were used, the dependency factory was created.
  • Result (& how we measured success): We observed people started writing unit tests more actively, the codebase grew by 30%.

# Step 1: Choose the right time

Before even commencing the job search, you must take into account the timing. Keeping in mind that a typical job search lasts for roughly 1 month (could be more in 2024), take the following into consideration:

  • If you have RSUs granted, check the time when they are vested. If you submit the resignation letter before the cliff passes, you will typically lose the shares. The notice period doesn't play any role, so it may be wiser to let the company know you're leaving one day after. Companies typically grant new RSUs at even intervals (it's called golden cuffs), so an employee basically stays bound with a dilemma, but usually it's a common sense to decide whether it's the right moment to jump off, or should you perhaps hold it for a month or two.
  • It's typically unwise to change the job when your partner is also changing or being on probation period, in case you have loans or children depending on you.

# Step 2: Finding a company to work for

We all have different reasons when it comes to choosing our next potential place of work. Some prefer startups with salaries slightly above the market, showing rapid growth, full of opportunities and risks. Other people might consider working for stable, solid and well-established companies, with good culture and perks, just to add a new shiny star to their CV.

A good choice would be to give a shot for the companies you are an active customer of. The reasons are:

  • You are already familiar with what the company is doing.
  • You already sort of know the product from the outside, and might even have proposals on how to make it better.
  • Since you are a customer, you are probably enjoying the product already. However, you can help the company to prosper even more by joining. Isn't that noble?

One way or another, write down a list of must-haves for your future position.

An example of such a list could be:

  • Minimum Nk salary gross.
  • Only frontend/backend/fullstack positions.
  • Company size
  • With an opportunity to be promoted within a timeframe of X years.
  • Only remote or remote/hybrid work.
  • Only USA-based/Europe-based companies.

It makes sense to reject opportunities that a priori don't meet the requirements, to save each party's time.

# Company size matters

There are three main types of companies, each with its own culture, opportunities, risks and rewards. Before commiting to the process, make sure you checked the company's status. Working for a startup can be very different from working for an enterprise.

  • Startups
    • fast-paced, delivery first
    • high risk, high reward
    • unstructured
    • excellent opportunities for career growth
    • high burnout risk
    • risk of micromanagement
    • little to no perks
  • Scaleups
    • less risky, backed by funds or self-sustainable
    • still fast-paced
    • a little bit better organized
    • still fair opportunities for career growth
  • Enterprise
    • moderate/slow-paced
    • stable
    • well-structured, highly organized, all processes are formalized
    • high competition for promotions, if at all possible
    • better work-life balance
    • better perks

Some people work for startups only, while the others prefer to play it safe and work for enterprises. You should decide what's best for you.

# Step 3: High-level research

Every company I join an interview process for I run a certain high level research. It includes several steps.

# Analyse company's vitals and the Job Description

I go to ChatGPT and use this promit to extract basic information:

You are a helpful researcher, analyst, recruiter. Perform research of the company XYZ. Please be concise with the answers, the shorter the better. Give me the results for the following points: โ€œcompany sizeโ€, โ€œwhen foundedโ€, โ€œmarket capโ€, โ€œpublic or privateโ€, โ€œwhen was the IPOโ€, โ€œinvestment roundโ€, โ€œheadquarter locationโ€, โ€œdevelopment department locationโ€, โ€œremote or on siteโ€. Format the response in the "point - answerโ€ manner, so could later add it to my report. Provide the output in the markdown format. Exclude content reference.

Then copy paste the Job Description next to the following prompt:

Summarize the job description. Be concise with the answers, the shorter the better. Give me the results for the following points: "hiring budgetโ€, "tech stackโ€, "important factsโ€, "level of seniorityโ€ Format the response in the "point - answerโ€ manner, so could later add it to my report. Provide the output in the markdown format. Exclude content reference.

If the hiring budget isn't disclosed in the JD, check on Levels.fyi or Glassdoor, there could be relevant information hidden behind the singin wall.

However, it's not always about money. There is a famous saying "Join a company either to earn or to learn.", so we always got to choose what is best for us at the moment.

The outcome will look like a table that I use to match against my primary criteria mentioned in the previous section. Depending on the results I proceed to the next step.

# Read through the company's blog

In the job description there is sometimes a bunch of links about the culture of the company, as well as the values. Usually, this is something the company's recruitment department thinks could be important for a candidate to follow before they mash the "Apply" button.

I don't think for too long, don't fall a victim of the paralysis by analysis. However, I take time and read it carefully, and then find answers to the following questions:

  • What are the company values, and what can I reply when I am asked whether I am aligned with the values or not?
  • What is the company's mission? Am I ready to make their mission mine too?
  • What kind of culture does the company propagate? Am I okay with it? Do I find it resonating with my own culture?

At first glance, all of it seems unimportant. However, in the modern world the relationships between an employer and an employee is slightly more complex, rather than just "Show me the money, and I'll show you the code!" In the long run, to be successful and, simply put - happy, I need all mentioned above to become a part of something bigger and greater.

Also, during an interview I can be asked "Hey, have you had a chance to look through our blog and check our values out?"

# Give company's products a try

Some well-established and well-known companies deliberately ask if the candidate tried something out. The worst answer of yours would be "Emmmm... not really, not yet, no, but I anyway want to work for you." If you haven't seen their product, or don't find it amazing, why do you want to work on it after all?

Almost every time there is a community version or a trial period available. Download and give it a shot, even just to get an overall impression and be able to support a brief conversation about it.

# Step 4: Time to apply

Okay, so now that you made your research and told yourself "Yes, this is the one. My dream company", it is time to apply! Here is what you should do next.

# Tailor your CV

Tailoring your CV for a position is a good practice, because it can right away display your strongest skills and expertise relevant for THIS specific position.

Open ChatGPT, feed it your CV in pdf format and the link to the Job Description and ask to point out weak/missing points.

# Getting in touch with the company

If in this case the initiative wasn't taken by a recruiter, you have three options from there:

# Option 1. Fill the application form out

Upd: in my opinion, due to massive layoffs in Tech industry in 2024 and the ongoing crisis in 2025, submitting an application via a form is the least effective method. Consider two other alternatives below.

Filling up the application form is a story in itself, but here are few tips.

At this stage, writing a cover letter to stand out can be beneficial. You can outline the reason why you want to join the company, and why you could be a good asset. In my opinion, a good cover letter must be handwritten, not GPT-generated, because it shows that you put effort into it.

# Option 2. Find a referral

You can reach out to a friend or an ex-colleague of yours who works in the company, or you can search for active employees of the company on Linkedin and offer them to refer you. They will receive a bonus should you pass the probation, and you will get access to certain insider information. That's a win-win.

# Option 3. Reach out to a recruiter

Some in-house recruiters are also present on Linkedin, and they are usually willing to help, because they will also receive a bonus for a successful hire.

# Active job search

Sometimes it happens so that you apply for different positions in different companies simultaneously. Given the fact, that a typical interview process lasts 2-3 weeks, try grouping your processes into cohorts and plan accordingly. Ideally you should have no more than 2-3 interview processes running at the same time, and, as an outcome, have the offers (or rejections, that happens too) on the table at more or less the same moment.

It doesn't make too much sense to overlap two processes. You will end up in a situation when you either accept the first offer and cancel the process with the other company, or you do the opposite: turn the offer down and gamble for the second company.

Tough dilemma.

# Links

Here are some useful links to help you with the initial screening.

***

Let's assume the application was delivered, screened and in a week or so you received a friendly offer to make a call. Here is what you should do next.

Sergei Gannochenko
Sergei Gannochenko
Business-focused product engineer,ย  in โค๏ธ with tech and making customers happy.ย 
AI, Golang/Node, React, TypeScript,ย  Docker/K8s, AWS/GCP, NextJSย 
20+ years in dev