Working in Information Technology for many years and with a few different companies, I have noticed a problem with how to handle advancement for technical people. This is not an uncommon problem for all industries deal with this. For instance, a bank can take the best teller and put them in charge of the whole team of tellers. This is not always a recipe for success. The skills needed to be a teller and providing customer service are different from managing a team.
Similar to bank tellers, technical people can sometimes have difficulty managing and collaborating with people. The skills are quite different. Debugging code challenges you differently than dealing with an employee who can’t get along with Debbie from Finance. This has led me to create a program called “Success Skills for the Technical Professional.” Where we focus on collaboration, communication, and leadership.
When we want to create a path for our technology team and their advancement we need to, “The way to empower your technical leaders is to set expectations early and often”, according to this article on the Liz the Developer blog. In my experience with some companies being vague about a path or completely silent about it creates an environment of uncertainty. One developer was even promised some promotions when there was no path and they ending up going elsewhere.
Identify the Road Map
Organizations that have clear paths for technical progression help people see the next steps. Also, it is important to develop competencies. For instance, if we want to become a software architect we would require so many years of development and additional training in principles of software architecture.
On the other hand, if someone wants to move into management identify skills and offering training can make it achievable. Delegation can be a difficult skill to do when you are used to doing it yourself. Communication is key to leading, one important point about leadership I have learned is we need to over-communicate. Many people listen but, rarely do they hear you.
The skill of recruitment and hiring is important for any senior position. Conducting a good interview is a skill we all could learn more about. I have never had the training to interview, although I have conducted many of them. Recently I was listening to the Manager Tools podcast and they discussed the basics of conducting an interview. I would suggest you check this out, they had a lot of good information.
Giving the technical team options can help boost morale and get people engaged. As we identify opportunities for the technical team we should help them see where they can go and if they want to move back and forth. Some companies have done a great job at this. For instance, Rackspace has created a Technical Career Track for the technical team. According to this article in Network World, they can choose to manage people or not at the executive level and continue to rise through the ranks.
Do you know your opportunities?
Even if people decide to remain in the technical track they cannot avoid the soft skills. As you become a software architect or other type of technical leader soft skills are increasingly used.
Delegation is a tough skill to learn as you may be used to creating and coding things by yourself. Take time to delegate to others and make yourself more valuable to the company.
Communication skills are critical to sharing your ideas with other teams in the organization. Perhaps if you have challenges with this you might want to take training or get involved with Toastmasters.
Motivation/persuasion makes things happen. When we realize how we can work with others and persuade them to our point of view we can have a greater impact.
What skills do you need to learn?