I realized I often tell this sentence whenever I’m internally coaching my colleagues in the company. But what does it really matter? Of course, coding is not easy, otherwise, anyone could do it. But what about the soft skills? As soon as you get more experience in a developer role, more responsibility comes. The new responsibility will pass through talking to other people for sure. This is when things start getting difficult.
Let’s say you are a senior developer and is also one of the tech leaders in the company. You also want to help other people’s careers to evolve. Then you start helping to develop the junior guys on technical skills. This is simple: make them do hundreds of POCs, demos, exercises and etc, and have the concepts in mind. No matter how long it takes, it’d be easy to see if that person is making progress or not. It is zero or one. They either did or didn’t. Simple.
During the same path described above, you will notice some behavioral soft skills needed for that junior guy. I’ll try to help with some questions to ask yourself:
- Do they behave properly in meetings?
- Do they stand his point? But also be flexible to listen to other people’s opinions?
- Do they listen to other people? Listening is more than hearing
- Are they humble when talking about his accomplishments?
- Are they humble when talking to other people?
- Does the team like them? Is he a pal?
- Do they stand like a person or do they easily compromise for almost anybody else’s opinion?
- Are they open to discuss feedback?
In IT we are always providing service. Doesn’t matter if your clients are internal or external, you are providing a service. This is the most complicated and the one I see always as the source of problems in all projects.
Everything starts like a heaven relationship, but eventually, somebody will miss something in the process. The other part will try to help and will accumulate that load of work. The load will be like a pile and eventually will fall. These are the crisis we solve every day and those soft skills are so needed. Some questions to help thinking:
- When talking to clients, does your mentee listen?
- Does he clearly know the boundaries of everybody’s work?
- Does he understand how to tell people to do stuff without being arrogant? (Serious)
- Does he think he’s better than the clients? (Serious)
- Does he have a posture of helping people to solve problems instead of trying to be the center of everything?
- Is he a problem solver or a procrastinator?
- Can he understand the difference between problems, and solve those more important first no matter their size?
For my experience managing several projects in many methodologies to develop software, I can tell that roles are often overlapped and misunderstood. It is someone’s responsibility to perform a task. Like in a volleyball game, if nobody puts the ball up, it will fall. Many balls falling and a new crisis arises.
Sometimes telling the other side they have to do something or they didn’t do something is the hardest part. But is also the most important. And in fact, the hardest part is bringing the problem, show the owners and how to fix it in a way it doesn’t occur again. But everything in a way that the final result will be a bonded relationship. On the time you give the news, arguments may happen and people might leave feeling bad. But once everybody cools down and recognize the good for the process and the final goal, since you passed the message in the right way (not being arrogant, not just throwing the problem to the other side but in fact bringing and discussing also the solution) people usually have the maturity to reunite and keep working together. Here are the questions for this topic, but now for both the mentor and the mentee:
- Are you backing up your coachees/mentees when they have to have hard conversations?
- Do you encourage them to have those moments?
- Do they have the moments? Or do they run from it expecting you to solve their situations?
- Do they prepare themselves for the moment prior to it?
- Do they talk to people to get other opinions on how to deal with the hard moment before going for it?
All the items above are part of a developer regular work. They are very hard to develop and also take time. None of them are related to code.