When you invite a programmer for an interview and perform a test task, this can be an interesting experience for both you and him. Most interviews end with the fact that the recruitment manager promises to “stay in touch”, but sometimes the applicant simply gets to the point. At such times, you are considering whether to hire him before he leaves the building. We in Alconost have translated for you the article of sharovarshchik Brian Kelly about such successful cases.In TimeTrade, we give programmers a test task, which most of them must complete in 2 hours. The whole task consists of a sequence of small tasks, each one more complicated than the previous one. This allows us to evaluate the programmer's performance based solely on the task execution time: if everything is solved in less than an hour, we will be satisfied. But if two hours have passed, and the first task is still not solved, most likely we will indicate the candidate for the door.
But, besides just one quick solution of problems, there are still a few signs that you have a really amazing programmer who needs to immediately be offered a job before he can leave.
1. It offers several solutions.
Recently I interviewed a programmer who solved the entire set of tasks twice: once in an iterative way, the second in a recursive way. I immediately offered him a job. The ability to find several solutions to a problem is a skill that engineers have to use every day.
')
2. He writes complete documentation.
Last year, I interviewed a programmer who was so diligent, hard-working and professional in his work that he created a complete Javadoc with comments on his code before he considered the task completed. He even wrote fully automated unit tests and checked the percentage of code coverage. When I returned to the room after 2 hours, he frantically knocked on the keyboard, and I decided that he had trouble completing the task, but in fact he was just adding HTML formatting to his Javadoc. It is these engineers who do it intuitively, and you want to see in your team.
3. He improves the task
We deliberately create tasks with small flaws hidden in them, solely to see: a) whether the applicant will notice them and b) whether they will undertake to correct them. These may be incorrectly used quotes in strings, incorrect variable names, or something like that. Applicants who consider all the code provided as part of the task - and not only the one we asked them to write - will act the same way in working with a real product when they join our team.
The engineer’s willingness to indicate to a potential employer the problems in the assignment provided shows that they consider the quality of their work to be more important than merely agreeing with what they are told. Hire them - and they are likely to work wonders with your product, doing a lot more of the task and making improvements to where they are needed.
4. He refactor wisely
Most applicants like to make the decision work, then they relax and sigh with relief, successfully completing everything. This is good, but rarely is enough to immediately receive a job offer. Applicants who solve a problem and then refactor a code without a break are specialists of a completely different category. If it seems to them that they have chosen the wrong algorithm, they cannot ignore the idea that everything could be much more efficient. If there is a small repetition in their code, it burns them from the inside. These are applicants who refactor, rewrite and improve their decisions until they become works of art.
However, this is a double-edged sword. If the applicant simply continues to rewrite, because nothing brings him satisfaction, except to achieve the mythical "perfection", there is a chance that this is one of those programmers who simply do not know when to stop (as well as hand over the finished task). Although, if they are able to carefully monitor the time to solve the problem and refactor their decision on time, this is a really good sign: you can think about hiring.

5. All other signs are in his favor.
It happens that the desired applicant gives a lot of non-technical signs. Other members of your team take you aside with the words "We must hire this girl." The identity of the applicant is extremely suitable for the team. He has a relevant and fresh experience in what he will have to do. You know a few people who have worked with him and believe that he is a wonderful addition to the team (and would have hired him again without hesitation). The applicant is delighted with the company and the opportunities, and he is eager to get started.
If the applicant is technically recognized and all other signs are in his favor, why wait? Delaying with the decision, you can miss the applicant, who will be selected by another employer, who is able to recognize all the same signs faster than you. Better be more decisive and hand the job offer quickly, thus letting the applicant understand how much the company wants to get it. This will help start a relationship with him from the correct starting point for both parties.
So the next time when a terrific job seeker enters your building, do not expect someone else to visit you better from day to day. Give the job offer to the job seeker and get to work.
About the translatorThe article is translated in Alconost.
Alconost is engaged in the
localization of applications, games and websites in 60 languages. Language translators, linguistic testing, cloud platform with API, continuous localization, 24/7 project managers, any formats of string resources.
We also make
advertising and training videos - for websites selling, image, advertising, training, teasers, expliners, trailers for Google Play and the App Store.
Read more:
https://alconost.com