How We Hire Software Engineers
Software engineers are one the best people who knows the computer and how to make computer understand by coding. They have vast knowledge about programming languages, and interviewing them is a toughest work. Now a days, companies try to make an interview difficult as they want and put the candidate in worst condition for test so that after that if he/she may get selected for the company, then he/she can handle any pressure or overload for their work. Here we have come upon for just fair with the system, evaluate the candidate what he/she do in his /her job. You can go under this process and get better outcome for your startups.
Problems With Other Approaches
As said before, some companies try to keep the interviews to solve whiteboard coding and may also try to make the stress level as possible for knowing the candidate’s patience rather than knowing their potential to solve the problems. So the person with high patience and communication skills get selected whereas the person have potential to solve the problems but less communication skills get rejected.
Puzzle test in company can not be the way to test the people as solving only tricky question doesn’t mean that that person have the ability to code or have other skills like decode the problems or estimate effectively.
We say that a candidate should pass through 4 stages before they get hired:
- Application evaluation
- 30 min for screen phone
- Take a home test
- On site interview at last which goes on for almost whole day
The first stage from which the candidates must be filter through. Here the candidates arrives in two parts: recent Boot camp grads and non-Boot camp grad, but mostly Boot camp grad candidates apply in more in numbers.
Boot campgrad candidate are usually looked for Science, Technology, Engineering and mathematics. This type have to make it up for Science and technology field to get selected.
For Non Boot camp grad candidate, they should know to make good react code and should know agile development and build systems.
- This is to know the communication skills
- Any red flags in the personality
- Are they really telling truth on application
This process starts from the normal hi, hello with the candidate and then we will talk about the candidate’s background and at last if candidate want to ask any question then he/she can.
This process helps to release the stress of the candidate, this is 5 min process. The talk about background is related to candidate’s history about the projects he/she has done in the past. And we also try to know that the candidate is saying truth or lie.
And at last candidate can ask any question he/she wants to know about.
Take Home Test
In this process we will try to know the ability of the candidate to write features, we will give 3 different options to select and they can select whichever they like and then they have to focus on front end and back end. As they have to build features and system based on that option they have selected. They have at least weekend to get it completed and have to run the given test without any errors. The candidate can skip this process by giving sufficient proof that he/she have the great potential to make and build the system. This skip feature is most probably for seniors.
In receiving test we will check all the config files and read me left out. And check the files on browsers how it is working for them. After that we will make a joint team to comment on the work of the candidate and after good communication we will decide which candidate will fit for the next process.
We don’t really waste the people’s time and say straightly that they are going to next process or not.
The on-site interviews goes almost a day. Candidates get an hour with team and 45 minutes outside the team. There will be many interviewers per one interview time slot. Non-engineering interviewers will check that they can interface well with the candidate.
Engineering inter viewers will go for two thread:
One thread for focusing on a new problem and the things an engineer can do to solve that problem: break it down into smaller problems. The engineer would keep in mind when coding it, describe every data architecture to achieve that solution.
The second thread focuses on the home test. I generally ask the candidate to say about the home test he has done and say some key features about it. We talk about what got left out, what there wasn’t time for. I try to get a sense for their process, and what will work for them. There are lot of opportunities to see candidate’s solving problems. Additional interviews will go on and have same pattern.
After interviewers are done, they can know private scorecard. We will give proper instructions for non-selected candidates about the future interviews. Generally, results are unanimous. If the opinions are different them I will try to find out why. By the time candidates come on-site, we’d like to hire them. If there is more than one “no” response, it means we probably missed something in the screening.
Wrapping up The Process
If the candidate passes the on-site interview, they are ready for offer. They will be told about what they will get in the offers. There are a lot of intricacies that go in to determining what goes into an offer, which I won’t include in this post. It’s time to suit for a new person in the company.
New person is only on the contract base. In the future, I’d like to add more options for the candidate to choose from for the take home test. It’s difficult to come up with good problems that don’t take up too much time and we put a lot of effort into this. Our process is low-stressed however, it can be time consuming. In the future, I’d like to put thought into how to accommodate candidates who have less time.
We’ve structured our process to be as respectful to the candidate as possible, and get a quality candidate.
Accelerate Machine Learning with amazon sage-maker