If you are a development manager or an IT project manager and you have the mission to build a development team, the first thing that I would like to tell you is that you have a great opportunity since sometimes you cannot build a team from scratch. Doing this well can make your job easier for many years to come. A mentor of mine told me a few decades ago that the job of systems manager was the easiest in the world… if you have the right team.
In this post, I will refer specifically to an area of development, thinking of a team that will have to develop software continuously in several projects (and not for one in particular, where, although the recommendations are almost the same, there may be some differences).
Tip number one: keep your development team small.
Big is a relative concept, but the point is that it is much better to hire a few very good people than many regular ones. The truth is that, despite methodologies and frameworks, there is still a lot of art in computing, and, therefore, you need very talented people, not an army. Creating great software is more like making a great work of art than building a skyscraper (even if we would like to believe otherwise). Therefore, try to assemble a reduced team that can work well with the most competent people.
Tip number two: watch out for the Rock Stars
If you are looking for a team, make sure you have very good people, even rock stars, but make sure that, if you have rock stars, they will work well as a team. A team where everyone is a rock star can generate some complications since not all the work will always be innovative and interesting so that the stars feel motivated and stimulated, and above all if you have several stars working on the same problem they can get stuck defending each one’s position and the idea of what is the best solution. A team also requires people to do the work, regardless of whether it is boring or mechanical. This is not to say that a team cannot be made up of all-stars the greatest achievements are sometimes only possible with such teams, but you have to make sure that they will work well together and that the work is organized so that each can shine in their area and that they share the vision, your vision, and that they all aim for the same big goal.
Tip number three: Seek diversity in your team.
Beyond looking for people who know one technology or another to have all the necessary skill sets, you must take into account other factors. Some developers are good for the backend; others are good for the front end. Some make dreamy user interfaces; others make heavy processes full of complex logic. There are creative and innovative programmers, and there are those who like the conventional. The variety goes even further; look for people with diverse backgrounds (what a way to use anglicisms, I know) and experiences; who can bring diverse ideas and solutions. Look for diversity in seniority, race, gender, etc. Of course, avoid “breaking lines”. For example, it is good to have women and senior people and people from another country on the team, but probably a team with three young Chinese women and three older local men is going to end up in two teams. Ideally, there should be diversity, but it should not create gaps between two subgroups because of the close affinity between members of the subgroups and little between them.
Tip number four: Evaluate well before contracting
If there is a mistake, I have seen many times when building a team is trying to do it fast and choosing from a limited pool. The pressure of finding developers for the team is high; deadlines expire, and you end up hiring the first thing that comes along to have a complete team. Do not succumb to this temptation; devote all the resources and energy you can to find and evaluate your future team of programmers. This team may be with you for years, so there is no effort that is not worth it to get the best. Evaluate them well if they are developers, and make sure they are good at programming and are skilled. Evalart’s programming tests can help you evaluate and confirm that the programmers you are bringing to your team are good and the best out there. This post contains specific tips for the selection process: 5 Tips for Recruiting the Best Developers.
Tip number five: Be clear about the culture of the team you want and look for that.
I have seen that the best development teams tend to share a mystique, a work culture where excellence and results to be proud of are sought, where teamwork is valued, and the capacity of each one is respected. A culture where mistakes are not punished but learned from them (formally). Where the benefits of achievements also reach the team members and where they feel valued. Where there is a sense of ownership and pride in what you do. Try to assemble your team with people who would fit in and contribute to the culture you want in your team, and from the first interview, make these values clear.