The senior developer interview is a mystery; Jun's interview is a thriller.
Interviewing for a junior developer position sucks all the algorithmic energy out of a candidate. Even taking part in a training interview requires a large dose of sugar and caffeine. But we must admit: they are too predictable.
There are a million algorithmic practice websites, interview preparation YouTube channels, and blog posts on how to get a job at Google. Of course, preparing for such interviews takes time, but they are quite manageable.
The most important thing for interviewing for a senior developer position is realizing that the same strategy won't work for them.
( Note : This statement does not apply to senior interviews at FAAMG +, which inevitably require many more algorithmic knowledge tests than interviews at other companies, but I have no personal interview experience with them.) To
emphasize the purpose of this article: In average companies, in software development, the failure rate for senior interviews is extremely high.
The fact that not all seniors interview at the same time (on the same task) shows that this is not a demand versus consumption issue.
How senior developer interviews work
A decade ago, many senior interview materials consisted of two parts:
- Knowledge of relevant APIs
- Knowledge of the software delivery and development process
To be honest, they were much simpler than the June interviews. Often the knowledge of the algorithms was not even tested!
Today, a senior developer is expected to know only one thing. But expectations are too high, you have no chance of maneuvering. Don't beat around the bush. It is not enough to simply accumulate knowledge to pass an interview; it takes much more.
Senior developer interviews are structured, even if not all interviewees and candidates know about it.
To cope with an interview, we need to understand this structure.
Factor present in every senior developer interview
Before we get started, let's look at an example that is relevant today.
If you have a sore throat, then you feel that you are sick. But you don't know if you have the flu or the coronavirus. A sore throat is a symptom, not a disease. The disease itself has not yet been diagnosed. However, you understand that something is wrong with the body and you need to pass the tests.
Lab tests look for specific parameters, not just symptoms. The presence or absence of these parameters in a specific amount determines whether you are infected and what kind of disease.
Interviewers look for diseases (i.e. root causes) of a particular type. Like laboratories, they ignore symptoms. Dumping a jumble of technical jargon and API buzzwords on them will greatly reduce the chances of a successful interview. Anyone can mimic this kind of know-it-all by googling along the way to an interview.
But if you demonstrate that you are methodical, you will win their attention. Like biolaboratory specialists, they rely on methods that strictly demonstrate a candidate's suitability or unfitness.
These methods are called signals . This is a very old physiological concept used when it comes to any kind of interaction between people. During the mating season, animals and birds show and seek signals from the most suitable mate.
Couples on dates in cafes constantly read each other's mood. And interviewers are no different from them, only there are very few instructions for them. But there is no shortage of materials about preparing for an interview.
However, there is a logic to the madness of interviewing. The interviewees are looking at the wrong / wrong answers. They look for signals through your answers.
Signals, not the content of the responses.
From a programming perspective, this concept was explored in the book Cracking the Coding Interview by famed interview coach Gail Luckmann McDowell, who has worked at Google, Microsoft and Apple. Because the cues in interviews are so important, she highly encourages candidates to communicate the process of thinking through task status in whiteboard interviews.
Summarize
What matters is not the content of your answers, but the signals transmitted through them that determine your choice.
It may happen that you and your friend go to the same interview and make the same mistake, but your reasoning that led to it may convince the interviewer, but your friend will not be able to do this.
The stronger the positive signals, the higher your chances of success.
What signals are they looking for?
Since technologies are inherently incompatible with each other, it is difficult to clearly identify specific aspects for each senior developer position. However, you can always do a general classification of interview questions.
Senior developer interview questions can be broadly categorized into three categories:
Considering each of the categories, two factors become apparent:
- Technical knowledge is specific to each industry. You have developed them over many years of experience. When an interview opportunity comes up, there is little you can do about it other than brush up on your knowledge. In my article, the link to which is given above, I already talked about what specifically you need to focus on.
- + . , , , . , . , , . , , , .
Each question asked in an interview more or less can be attributed to one of the above categories. In the area of ββtechnical issues (a huge, 50 percent portion of the chart), questions can branch out into smaller subcategories.
When I read the book, Cracking the Coding Interview, I noticed that it was great at explaining how to break down technical questions into subgroups: greedy algorithms, binary search, and so on. They are quite popular in FAAMG + interviews, where knowledge of computer science is of paramount importance.
What is most important to remember
Please note that the answers to these questions demonstrate your knowledge. On the other hand, the reasoning behind the answer, your tone, and anything else that represents your opinion forms your image in the minds of the interviewers.
It is this image that is the signal that I spoke about.
Shocking and deceptive discovery
Determining the question category in senior developer interviews is a problem for most small and medium-sized companies as well. The only difference is that the difference in categories is blurry, as stated above.
This means that most candidates mistakenly classify questions in one of the three categories described!
This conclusion is surprising, but still true. I've made this mistake over fifty times. And I am sure that this particular error is to blame for most of the failures.
Didn't convince you? Here is the rationale for this theory:
- Take a look at the number of applicants for software development jobs on LinkedIn.
- Even in small and medium-sized companies, there are almost 60-100 candidates for one programmer vacancy.
- - , .
Of course, LinkedIn very often does not reflect the vacancy situation, but I confirmed my guess by looking at the Careers sections of the respective companies. You can do it yourself.
This makes it clear that interviews are underway but no suitable candidate is found. Why? They are suitable for portfolio requirements, and this is confirmed by the interview process (recruiters often publish vacancies in their feeds).
It is highly unlikely that such a large number of experienced candidates will not be well suited due to technical knowledge. However, no suitable candidate is found.
This is because during the senior developer interview:
- . ( Β« Β» β , !)
- , . ( .)
- , . ( , , . ( : Β« Google-Β».)
- - . ,
( , ).
After almost 55 minutes of tense interviews, the organizers were already beginning to smile at me warmly.
As a final question, they asked me this:
If a client asks you about developing a full stack system with mobile clients, what would be your answer?
Since most of the technical questions have already been asked, I figured it was a question about process and / or ability to take the initiative.
So I answered like this:
I will ask him for the requirements.
Then I obviously went into detail on how I would do it, asking specific questions about the client's project management system, and so on.
However, I was not accepted. But the reason for the refusal struck me even more:
We need someone who can present the options with their pros and cons so that the client can make an informed decision. Unfortunately, even if you possess such skills, you have not demonstrated them. Good luck next time!
I mistakenly categorized a technical question as a process question!
I consoled myself that I lacked the context. But that was just an excuse, because I didn't try to categorize the question. I lost the game I had already won.
Deliberate mousetrap
Interviewing senior developers is a mystery. They are designed like mousetraps for a reason.
In a product company, a senior developer must actively interact with those in charge. In consulting firms, it is even more difficult because those in charge relate to parties with conflicting interests - competitors and customers.
Fuzzy interview questions are specially designed to test the candidate's ability to navigate in a real-life situation. In a world ruled by greedy Agile product owners, the unlucky developer will be eaten right away.
And it all comes down to one thing: to correctly define the category of the task and demonstrate the most specific positive attitude towards the question asked. No brevity, no conflicting signals.
Ultimately, it doesn't matter if you get interviewed. If you're not the right fit for the company, then it probably wouldn't be right for you either.
Conclusion
With the rise in popularity of Agile and lean in startups, employers no longer see new hires as resources. They see them as long-term partners and decision makers.
Senior developer interviews have become much more humanistic in their purpose, but they are not always as humane.
However, you need to treat interviews more like dates than tests.
Advertising
Powerful VDS with DDoS protection and the latest hardware. All this is about our epic servers . Create your own plan in a couple of clicks, the maximum configuration is 128 CPU cores, 512 GB RAM, 4000 GB NVMe.
Subscribe to our chat on Telegram .