Over the past 5-6 years, I've interviewed hundreds of developers and hired dozens.
I wish I could say that all of them were mature and near the senior level, but I didn't have an opportunity for that. Besides, there are some team chemistry reasons why I wouldn't want to hire all senior devs for the same team. Hence, like most teams, my teams have always been a mixture of juniors and middle and senior developers.
When detecting the developer level when hiring, there are many classic forms: tricky interview questions, whiteboarding, code reviews, take-home project, etc.
I never do whiteboarding out of these, and it's a complete waste of time, IMO. I believe there are niches where good algorithm thinking, knowledge, and stuff like these are a must, but for the rest, 80% of the niches, I think it's unnecessary.
Developers are not judged only by their programming skills. Attitude towards the job and team and soft skills play a significant role. I will always hire a mediocre developer with an excellent attitude and soft skills, then vice-versa.
My finding about interviewing developers and quickly detecting the level is to ask them questions about scaling the systems. Ask them how they would scale a project from 1,000 daily visitors to 1,000,000. How would they handle the load? Starting from the application scaling, continued with the data layer scaling.
This is where many rookies are stuck and cannot answer correctly. It's a quick way to screen out many of them. But we're not looking to reduce our population here statistically. There are gems hidden within these candidates. Listen to them, look at their behavior, and whether they start proving that black is white. If their attitude and thinking are close and still they cannot answer questions, it's a direct indicator that a candidate can grow quickly, and it's worth considering them for a position.
Nowadays, In many cases, I can unzip the developer almost from a distance. The experience worked on me here. Listening to them, how he behaves, the size of their ego, the project, the team, and the team size he's been working with is essential for me. The latest is much underrated, in my opinion. A developer who has worked within a team of 5 has a much different skillset and experience than those who have worked in a medium or large company. The same applies to the C-level people: the CEO or CTO of a small startup does a much different job than the CEO/CTO of a 500 or 5000-person company. So, when working on a developer's experience, it is crucial to analyze the team size and culture.
I wish I could say that all of them were mature and near the senior level, but I didn't have an opportunity for that. Besides, there are some team chemistry reasons why I wouldn't want to hire all senior devs for the same team. Hence, like most teams, my teams have always been a mixture of juniors and middle and senior developers.
When detecting the developer level when hiring, there are many classic forms: tricky interview questions, whiteboarding, code reviews, take-home project, etc.
I never do whiteboarding out of these, and it's a complete waste of time, IMO. I believe there are niches where good algorithm thinking, knowledge, and stuff like these are a must, but for the rest, 80% of the niches, I think it's unnecessary.
Developers are not judged only by their programming skills. Attitude towards the job and team and soft skills play a significant role. I will always hire a mediocre developer with an excellent attitude and soft skills, then vice-versa.
My finding about interviewing developers and quickly detecting the level is to ask them questions about scaling the systems. Ask them how they would scale a project from 1,000 daily visitors to 1,000,000. How would they handle the load? Starting from the application scaling, continued with the data layer scaling.
This is where many rookies are stuck and cannot answer correctly. It's a quick way to screen out many of them. But we're not looking to reduce our population here statistically. There are gems hidden within these candidates. Listen to them, look at their behavior, and whether they start proving that black is white. If their attitude and thinking are close and still they cannot answer questions, it's a direct indicator that a candidate can grow quickly, and it's worth considering them for a position.
Nowadays, In many cases, I can unzip the developer almost from a distance. The experience worked on me here. Listening to them, how he behaves, the size of their ego, the project, the team, and the team size he's been working with is essential for me. The latest is much underrated, in my opinion. A developer who has worked within a team of 5 has a much different skillset and experience than those who have worked in a medium or large company. The same applies to the C-level people: the CEO or CTO of a small startup does a much different job than the CEO/CTO of a 500 or 5000-person company. So, when working on a developer's experience, it is crucial to analyze the team size and culture.