The role of Team Contributor
Because Individual Contributor sounds weird
The concept of Individual Contributor or IC is widely used in the industry. It refers to the career path parallel to management for professionals who want to continue growing as developers without managing people.
However, I find the choice of words somewhat strange, since developing software (especially at more senior levels) is more knowing how to work with people than developing individually.
Therefore, a more appropriate metaphor for this path is that of Team Contributor, since it better reflects that developing software is a team effort and is not achievable with mere individual effort.
Note: after writing the article I found people who have already talked about it, I’m sure I’ve read it in the past and my subconscious has wanted to remind me of it. I also consider that this article is relevant :)
Soft skills
It is often said that there are two types of skills that every professional must have. Hard skills and soft skills.
Hard ones refer to the skill you have developing, your applied experience and how good you are technically. These skills are gained by learning about the craft, applying best practices, and creating a critical view of what it is to build good software.
On the other hand, there are soft skills, which relate to your ability to navigate the work environment. To work with people, to discuss sensitive issues, to know how to give in or argue when necessary and, above all, to know how to work in a team. These skills are more complicated since they are obtained with real experience and the passage of time. Obviously these are learnings that you can also extract from books and that can be taught, but contact with the day to day is what really makes you learn to deal with people and manage critical situations in the best possible way.
Normally, and for important reasons, as you go up the level of seniority, the skills that are valued change. At the beginning of your career, your hard skills are important, you learn about the craft and increase the value you bring with your developments.
Little by little, as you climb the ladder, the skills that are valued migrate to soft skills, to your ability to work with more people, to your ability to deal with people and manage conflicts.
However, this does not mean that they stop valuing how good you are technically, but it is something that is already assumed and valued in a more continuous way. In a way, the more seniority you have, the more value you bring to the table by unlocking situations and managing more strategic aspects of development rather than focusing so much on tactical ones.
Working with people
It is not for nothing that one of the principles of the agile manifesto is: Individuals and interactions on processes and tools. And, as we have mentioned, developing software (and any job in general) is more about working with people than developing.
And it is not something that is limited to those who navigate the manager’s path and who manage people, far from it. Any developer has to focus on improving teamwork and dealing with people.
There is a term that became popular a few years ago that is 10x engineer, which is a developer that does 10 times more than others. Well, that’s fine, but as long as you do it as a team.
There is a certain tendency for “pro” developers who may be very good technically but fail miserably working with other people. These profiles may get a lot of work done and unlock complex developments, but in the mid-term they can cause more problems than benefits.
An example of a problem is the generation of knowledge silos in which only one person knows how something is implemented. If there is no knowledge transfer within the team, we make a single person critical to the project, reducing the flexibility we have in development. Building a software product is not the work of one person, but of a team.
Although you don’t stay with the idea that a very pro person cannot work in a team or that soft skills are everything, on the contrary, truly senior professionals are those who have polished technical skills (x10) and soft skills developed with experience and work. It is these round profiles that will boost the business in the most optimal way possible.
Team Contributor
Therefore, it is because of the type of problematic profiles that only have hard skills and sometimes work on their own that I find the concept of Individual Contributor weird to say the least.
The objective of those who do not want to manage people and want to continue growing as developers must also focus on the soft skills that will allow them to continue gaining seniority and follow the most successful path of Team Contributor: where individuals and interactions are over processes and tools, and where teamwork is as important as being technically good.
Photo by Annie Spratt on Unsplash