As I’ve been working with developers looking to grow with their careers, I’ve been asked one question (or variations on it) repeatedly:
How do I grow my career while remaining technical? I don’t want to be a manager, I want to be a senior technical leader.
That question has prompted me to think about my own career, and what it means to be a senior technical leader. I’ve come to this conclusion:
Growing and having more influence means scaling your reach.
Let me go into some detail about what I mean by that statement.
No matter how good you are, there’s only so much code you can write. Being more senior doesn’t mean you code faster. You don’t finish designs exponentially faster. You are still a single individual, and you will still only get so much done in so much time.
Managers scale because have significant influence on their staff. To grow as a technical leader, you need to answer the question of how you scale? If you continue to view yourself as an “individual contributor”, you will find that you reach a point where you cannot continue to grow. (It’s even more important for your management to have a good answer to how you scale in the organization.)
Your value as a technical leader is measured by the positive influence you have on the other members of the team.
There are many ways that your technical skills can scale across your team. They all have a common theme: As a technical leader, your responsibility is to raise the technical skill level of the development team as a whole.
Here are a number of examples that your could take on to have a positive influence:
If you follow all those suggestions, you may become a very respected senior leader for your tech team. Or, you may be seen as that jerk that criticizes everyone.
It’s about how you deliver your ideas.
The best senior technical leaders have learned how to critique, teach and help people grow. They are able to make suggestions that help people grow. They are able to have people take pride in their work, and yet want to improve it.
If you want to take on this role, you need to spend a lot of time working on how you deliver your ideas to your peers, and to the team members you want to view you as a technical leader. You’re not a manager; you have no real authority. You need to work on your inter-personal skills, and grow the muscle to affect change with everyone on your teams.
Yes, I’m talking about soft skills.
One of the best bits of advice I ever received was this:
There are few people that listen. Most are just waiting for their turn to talk. Be a listener.
These developers you want to mentor: they have knowledge you don’t. They’ve thought about the problems at hand. They are doing the best work they can today. Your job as a mentor is to tell them they are wrong, but to augment their thinking with your insight. That’s only possible when you listen to the thought process behind their design and code. You have to learn as much as you can about the problem, the proposed solution, and the thinking behind the process.
Only after you have listened, and learned as much as you can, will your guidance carry weight.
The last piece of the puzzle is to determine if your current organization’s culture values the role of a technical leader. Some do; some do not. You need to work with your managers to see if that role exists in your orgamnization.
If not, you can work with your managers to create it.
And, if your company and your management team aren’t interested in a role you want, you need to decide if it’s the right fit for you.
More and more, it is possible to remain in a technical role and achieve career growth. You need to learn how to make technical skill scale across an organization. You need to convince the team and management of it’s worth. Most importantly, you need to grow the skills needed to be viewed as a technical leader.
All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.