Building the right development team

downloadBuilding the right team is really tough!

I know that’s not big news but I think most people don’t know HOW tough it is.

So far in my career I’ve been working in several types of companies/teams/environments/roles but in all of them the team factor was a pain in the neck for some reason.

I’m been trying to write this post many times to help myself avoid some common mistakes and try to get the most out of a team: so far I failed every single time because I was focusing on mistakes tightly coupled to the specific case and more in general because I suck at writing. Every company has different needs so this time, instead of going through mistakes I witnessed or committed, I will focus on what I think I would want in any team.

Of course I reserve my self the right to amend this post any time I want, especially when more mistakes or comments will change my point of view. This is a working in progress.


Competent players are a REQUIREMENT, always… no matter how big or small the team is: if you think a competent team player will cost you too much, just think about what would be the cost of employing incompetent people. If the company is very small, definitely only choose people that know their shit: you are laying down first bricks of the building and you want them to be handled by pros if you don’t want everything to fall apart at the first shake. Big companies with big teams can afford to hire juniors members if seniors can put some (and not too much) effort in getting them to speed.

Team Players

Competency is a requirement but it’s not enough: we are talking about ‘team players’ so we need people being able to fit nicely in the team, both from technical and personal points of view. We are looking for a person that is added value to the team, that can put the team goals in front of personal goals AND be able to have a nice relationship with other players. If team players can spend time together to talk about non work related topics, there is a good chance they will be happier to come into work. I really believe this is key to have a better quality product: happy people work faster and with better results.


No one like doing overtime, or knowing that they are stuck in an office chair from 9 to 6 with 30 minutes lunch break. A responsible person knows that there is job to be done, he’s aware of what it takes to deliver and knows when it’s time to go the extra mile without having to be told/forced. It’s a person you can give the flexibility to come/leave earlier or later into/from work and to take breaks whenever he wants. A responsible person won’t try to blame others for his own mistakes, he won’t try to hide them but will let others know and eventually ask for help so that the problem can be solved before if becomes hell.

Open source

I’m not talking about people that contribute to open source projects. This is controversial and confusing matter: no all people contributing to open source projects are passionate about development or skilled. Load of people not contributing to open source are very good professionals and team players.

I like to define ‘open source person’ someone willing to learn AND, more important, willing to share knowledge: normally people who share their knowledge are faster learners, don’t feel intimidated to work with people knowing more and are more open minded.

An open source person will not only contribute in building better team relationships, he will bring fresh and innovative ideas into the company. He won’t be afraid of exploring new paths and many times will be responsible for big achievements.

Self confidence

Don’t confuse self confidence with arrogance. A self confident person is able to have his own saying even when confronting the company owner. He’s aware that the company can benefit from his point of view and that he should be letting people know. He also knows that there is a chain of command and not always giving his personal point of view will change people minds.


Politics is part of our life even when we don’t expect it. Diplomacy is key for well being of a team but… BUT… there are limits beyond which diplomacy is not an option. Be ready to fight. A lot of good things can happen from a fight.