Choose the right software developer
Time to choose
So, you need a new member to your software team. After contacting your favourite consulting companies, you get a bunch of CVs. They all belong to reliable professionals with adequate software development skills. But which one should you pick?
The usual way is wrong
Rating developers based on their experience in your main technology is the most popular method. It is simple and feels objective. It can also be very misleading. Just because someone has been working with Java for 10 years, it does not mean they will be the best choice for your Java project.
Counterintuitively, ten years of experience is not always better than three or five. Humans tend to stick to their known ways, and software developers are no exception. In ten years, there is likely to be more sticking and jading than in five. A younger developer might be just as good as the more experienced one but more flexible and ambitious.
Below, you will find our best advice for picking the right developer for your team.
Learning new things
A software developer spends 50% of their time learning something new. This means that besides coding, they have to be good at learning. You will want a developer who is willing to leave their comfort zone.?
Your project will undoubtedly include something the developer hasn’t done before. Or something is done in a different way than they are used to. Will the developer stick to their guns and implement something technically inferior just because they are used to it??
The first place to look for project variety is the developer’s CV. Check out their work history and free time projects. Have they challenged themselves with new types of projects? Have they hopped into something completely new?
You can also just ask the developer their views. When was the last time they learned something completely new? How would they start a project where they don’t know the technology or framework beforehand?
Some technologies are quick to learn
For a skilled developer, learning certain programming languages is a rather quick process. Many programming languages have similar features or might even be relatives. If you choose a developer that has used many languages before, it is probable that hopping into Go won’t be too hard for them.
However, some technologies require more expertise than others. Many languages require deep knowledge gathered over the years. For example, C++ is way too complicated to learn in a few weeks.
Additionally, some languages give a good background to learn a specific new one. The syntax or typing might be similar between many so-called C style languages, such as Java and C#. TypeScript is essentially just an extension of JavaScript.?
What are these technology combinations? In our blog, you will find a table with some examples: https://buutticonsulting.com/blogi/2023/08/24/how-to-not-mess-up-software-developer-selection/
Variety of skills
However, it is not the best choice to eliminate developers based only on programming language skills. In every project, additional expertise is needed. You will be guaranteed to get better code from a developer who understands your software’s bigger picture.
As an example, if you’re looking for a backend developer, see if they also know the other parts of a web application well: frontend, cloud services, databases and so forth. They will be able to communicate better with other team members and consider the needs of the whole application, not just the back end.
Also, a modern developer should have experience with testing. Not everyone has to be a test automation engineer, but knowledge of unit testing with good practices is a must. Even if this sounds like an extra or afterthought, consider that in a well-directed software project the developers spend almost as much time writing tests as production code.
The work history
So, a developer has worked at Google, Amazon and Nasa in the past three years. Sounds amazing! But is it, really? If the dev has kept hopping between employers, how committed will they be to you? Are they prone to resign when things start to get complicated?
领英推è
Then, on the other hand, working on the same project for 15 years might not be good either. There is a chance that the dev has fallen behind in the development of that one language they have used. What good is 15 years of Java 5 if your project is using Java 17?
In both cases, you should ask the developer the reason behind their career choices. The frequent switcher might have a legit reason for the changes. Perhaps one project was ended during the COVID lockdown, the next company did its exports mainly to Russia, and the third one lost its funding due to rising interest rates.
Similarly, a long time with one employer might be a good thing. Ask the candidate what they have been doing during the years. They may have worked on various projects and have used four different programming languages, all to the newest standards.
Personality
Asking the candidate about their personality is not going to get you far. It’s not like anyone will admit that they are uncooperative or stubborn. Instead, look into the candidate’s behaviour during the selection process.
To help you, we gathered some good things to look for. These are not must-haves for a good developer, but they certainly make working with them easier.
Green flags in a candidate:
- Communicates their thoughts clearly
- Listens to other people carefully
- Admits when they don’t know something
- Doesn’t aim to â€win†discussions or get defensive
- Is flexible about practical things
- Is willing to leave their comfort zone
How did the consulting company choose the candidate?
Generally, Finnish software consulting companies do a good job choosing their developers. However, there are differences between their selection processes. At Buutti, we believe the best way to pick software consultants is through three phases of technical testing. First, the developer does a homework assignment. Then, there is a technical interview with theory questions and, finally, a live coding test.
It’s not only technical tests, though. A consulting company should always also evaluate the character of the candidate. At Buutti, our recruiters make sure the developer has a personality suited for consulting work. Additionally, our sales team meets the applicant before hiring to make sure they will match our customers’ needs.
Ask your consulting company how they choose their developers!
Interviewing the candidate
You should always interview the candidate. This is not only for you to evaluate the candidate, but the candidate can also evaluate you. If you are both interested in cooperation, chances are the project will succeed.
For the interview, open-ended questions with broad topics are the most useful. Let the developer show how they think. A good question can be about a single framework or technology as long as the purpose is to explain it broadly.
Bad interview questions go into detail. A good software developer doesn’t usually have to remember trivia or know esoteric frameworks in and out – those they can just Google or ask a teammate. The developer might also have not used a particular framework in years but will remember it quickly once they work with it. If your interview question has one specific right answer, it is likely to be a bad one.
On our website, you can find a list of good and bad interview questions. https://buutticonsulting.com/blogi/2023/08/24/how-to-not-mess-up-software-developer-selection/
In addition to the interview, doing your own technical testing is a good idea. Developers are willing to show their skills, and you’ll see how they actually work. Pay attention to how they approach the problem, what kind practices they use and what they do when they encounter a problem.?
Just don’t ask to implement a linked list. How often do you actually need one?
What if I want to hire instead?
Choosing a hired developer works pretty much the same as selecting a consultant. So, you can apply most of the contents of this text. Should you hire an employee or a consultant, though? Check out this page on hiring vs consulting. https://buutticonsulting.com/en/for-companies/why-choose-consulting/