Companies always need to optimize their business processes, and one of the most important is the hiring process. To find your one and only developer, you need to understand in detail who we are looking for.
The long-term practice of Mad Devs shows that the first and most crucial step in finding new employees is a detailed drawing of a portrait of the ideal candidate. It is necessary to think over the portrait of the needed person to the smallest detail even before posting an advertisement for a vacancy. Check how to do it.
In any business, before starting to do something, it is important for us to understand why it is worth spending resources and time. Let's tell. There are four main reasons why a candidate is useful and necessary:
Time is saved on searching for a suitable employee, because the HR manager stops looking for him on those resources that are not in demand among the candidate. Professional developers usually live in Github and LinkedIn.
The wrong employee is costly for the company: both time and money are wasted. Competently designed competencies help to avoid mistakes.
Having registered the profile of the position that matches the description of the vacancy, it will be much easier to find a suitable applicant.
Having a ready-made portrait, you can expand the funnel of potential candidates, flexibly approaching the description of the position, the presence of qualities and skills of the applicant in question. In this case, the choice of candidates will be broader but more suitable for the vacancy.
It sounds like it's worth the candle, right? Now we can share the basics of the candidate profile.
A candidate portrait is a thought-out image of an ideal employee. This term echoes another one that marketing and sales teams have been using for a long time - a customer profile for the target audience. Your customer profiles are descriptions of what a typical customer might look like. A store selling school uniforms might have a customer profile for married couples with average income etc. So it helps companies define their suitable target audience and develop a sales strategy for it.
But for the developer hiring process, such a tool helps to focus on finding “just that” employee. To have a result, you need to pay attention not only to the candidate's resume, work experience, and professional skills and competence. Competence is the ability to apply knowledge, skills to act successfully based on practical experience in solving problems of a general kind. You can’t observe experience in practice; it was before you. And not all of the knowledge may be applied in practice. So, it's more about the ability to solve problems right during the task.
Also, it is worthwhile to find a candidate who feels the team’s spirit and its values, and only based on this, deduce soft skills, career goals, and other elements of the portrait.
If you want to put together a candidate profile, you need to take the time to examine several aspects of your company.
- The specific role. A candidate profile is only used for a particular part. You need to identify the required skill level and requirements of the position you are looking for a person. It is not enough to use the same profile for different roles, as each role has its own requirements.
- Company culture. What qualities respond to a company's mission and goals or are valued within your company?
- Team culture. Your team culture is vital. It’s also essential to create a profile that reflects the culture of the team, not the overall company.
These three points are equally essential for the hiring process. But let’s focus on the requirements for a particular developer position. We need to sort it out in order.
The hiring manager (vacancy customer) forms the requirements based on the customer's wants in the stack and creates the competence in the document as a portrait of the candidate. The portrait includes the following competencies:
Who are we looking for - experience, stack, mandatory requirements are the minimum requirements for an employee, level of seniority, etc. (hard skills*)
What are we looking for - features of the project, client. The importance of language proficiency, geolocation can play a role, but not necessarily. The culture of the company and team should be considered.
What tasks will be solved. What will he/she do?
How he behaves and what is his personality (soft skills¹²)
Red flags – warning signs that the candidate does not fit the position.
¹ Refine hard skills that are necessary. Anything that can't be taught goes in the must-have list. This list will form the bulk of your applicant profile, and it will help you set up skills tests and assessments.
² Refine soft skills that are a must-have. Similar to hard skills, there are many soft skills that are needed to perform the role. Unlike hard skills, these are very difficult to test and usually impossible to train. So, be more selective in what you list as must-haves.
Let's look at an example. Here are the qualities and responsibilities that we used at Mad Devs when hiring an android developer.
What is he doing:
- Decompose and evaluate user stories.
- Connect, enable, disable the toggle feature.
- Build a modular architecture.
- Develop applications in Kotlin. Write clean (SOLID principles) and maintainable code.
- Write unit tests.
- Write UI tests in Java.
- Collect builds through Firebase.
- Adjust the crash and understand how the crash happened.
- Configure events in the firebase so that they collect correct data on user behavior.
Expectations from the candidate:
- Experience in android development of 2 years or more;
- Availability of published applications in PlayMarket;
- Knowledge of OOP and programming patterns;
- Knowledge of Kotlin, Android Architecture components (for working with MVVM and LiveData);
- Knowledge of design patterns: MVP, MVVM;
- Working with RestAPI (Retrofit);
It will be a plus:
- Experience with GRPC-Java for Android;
- Experience in setting up CI / CD;
- Testing on Android: Espresso, Mockito, JUnit4;
- Experience in Agile teams;
- Knowledge of algorithms and data structures.
You must be aware of the hiring red flags that might pop up during some stage of the hiring process. It would be best if recruiters and hiring managers tried not to repeat the same errors to avoid time-wasting and miss-hires.
Here is a list of red flags that we, at Mad Devs, pay attention to the most during the hiring process and probation work period.
At the interview stage:
- Doesn't ask questions about the project or the team.
- Doesn't understand what project and what team he wants to work on. Indifferent to what he does.
- There were no projects in production.
- The leader always sets the tasks. Without a lead, he cannot imagine work in principle.
- There was QA and DevOps in the team, so I didn’t do any tasks related to testing and didn’t understand why it was necessary to do it.
- Evaluation of tasks is given in weeks or not at all because he worked in Agile.
At the stage of direct collaboration in the project:
- Disappears from communication. More than 3 hours does not respond to chat messages during the working day.
- Does not follow processes. It does not write daily stan-ups, does not commit to tasks, and does not log working hours.
- Stand-ups and work logs are not the same as commits.
- Does not document team calls. He says that he has agreed on something with someone, but there is no evidence, and the customer denies this.
- Doesn't report a bunch of problems every day. It is hard to imagine that a new person in a company does not have questions and doubts, which means he is hushing up or doing nothing.
- Doesn't keep promises.
If you spot any of these red flags during the hiring process, make a note and reassess that candidate with extra caution.
A candidate portrait can help guide you in the selection of effective methods for circulating potential candidates. It can also help filter and attract the best candidates for the job. And most importantly, it's a great place to start your interview process and track the candidate's compliance with the required position during the probationary period.
Previously published at maddevs.io/blog.