ATTITUDES AND APTITUDES IN SOFTWARE DEVELOPMENT TEAMS
In software development teams, more often than not, what is prioritized are the members’ technical expertise, the tools they have and the projects they have taken part in. These technical skills are what I will call aptitudes.
That being said, when building a high performance team in the software development knowledge area, we must maximize aptitudes as well as what I will call attitudes.
All human beings have a set of postures towards the different challenges life presents us with. How we face a problem, how we get along with our colleagues, how we communicate with our peers, bosses, subordinates and clients. These abilities, which stem from each person’s emotional intelligence, are attitudes.
We can represent this through the following formula:
ATTITUDES x APTITUDES = HIGH PERFORMANCE
¿Why are both so important for software development? Let’s go through this step by step.
SOFTWARE’S COMPLEX CRAFTSMANSHIP
Software engineering is such a highly specialized and crafted discipline that requires a solid foundation in the proper software development principles and informatics fundamentals. But it also requires a constant upgrading and developing of experts. Knowing and mastering new technologies takes a considerable amount of time, therefore, a project’s success depends largely on the fact that those working on it have the proper experience and fast learning ability.
The lack of said aptitudes generates inaccurate estimations, production delays, errors in the code, which are hard to correct in the following stages, underuse of available resources (such as frameworks or already existing components). In other words, a series of inefficiencies, all evitable, which put the project at risk and therefore could potentially damage the relationship with the client.
On the other hand, the fact is that software projects are carried out in teams, where there is a rather strong interaction between the team members. In addition, these teams are made up of individuals from different companies, such as the software developer, the contracting company and the end customer, the final user. All these people have to work to reach a common goal, where success means everybody’s success, as well as failure.
This unified outlook on the project, where all roles are relevant and irreplaceable, can only be accomplished if each individual has the appropriate attitude towards the challenges that may arise. When a problem comes along, one should be hard on the problem and gentle with the people. When something is to be communicated, it should be done on a respectful, assertive, direct and complete manner. When a colleague needs our support, one should provide it as part of their team, no matter who’s is responsible for resolving the problem, since it is the whole team’s problem, and therefore his/her problem as well.
INTERVIEWS SHOULD COSIDER BOTH DIMENSIONS
Building a team starts from the moment its members are chosen. According to my judgement, wrongly, job interviews focus mostly on aptitudes and little or nothing on attitudes. It is hard to do so, and it usually is not enough to ask direct questions or set simple exercises, but it is necessary to go far beyond the superficiality of an interview.
For this reason, both aptitudes and attitudes should be considered, taking the applicant to the center of the team he will belong to, to ensure both him and the rest of the team is comfortable with the new situation.
HIGH PERFORMANCE TEAM
Only when all of the above has been fulfilled, we can speak of this widespread as well as attractive term: a high performance team. A team in which each member is driven to give their best. This requires pushing the boundaries of each person for them to reach their maximum potential. In order to do so, a leader is also required, someone who has the skills to balance that demand, with the expected results; the client’s and every team member’s absolute satisfaction.
This complex balance is indeed attainable, and in fact, it remains as the core of those groups that we love to work with. Teams with an excellent work environment of which we are happy to be part, where our own partners encourage us to give our best in every opportunity, and vice versa. Groups in which customer, supplier, contractor, etc. know they are part of the process to achieve the success of each project.