As a senior software engineer, you don’t just aim to produce great software and build great products through your own efforts alone. In fact, to move to higher levels on the technical career path, you must focus your energies on building your technical leadership to make a larger impact on the organization through others.
In short, you need to start building your technical leadership.
But what is technical leadership? And how can you build it?
In this post, we’ll cover what technical leadership is and isn’t. We’ll also cover the skills and responsibilities aligned with technical leadership so that you can begin to realize opportunities and where you can enhance your skills. And we’ll talk about how you can get started building your own technical leadership.
To begin, let’s talk a bit about technical leadership.
What Is Technical Leadership?
Technical leadership involves more than being technically savvy or even being the most technical person in the room. It involves taking that technical expertise, adding leadership skills, and helping those around you achieve their own technical growth.
This may require multiple approaches and will take some trial and error. In order to build technical solutions, drive operational excellence, and create a technical vision for your product or team, you’ll have to become comfortable with being uncomfortable and stretching yourself and your abilities.
In this section, we’ll cover some technical leadership misconceptions, responsibilities, and relevant skills.
Technical leadership involves more than being technically savvy or even being the most technical person in the room.
Technical Leadership Myths and Misconceptions
First, let’s cover a few myths and misconceptions about technical leadership.
- As a technical leader, you must make all the technical decisions. This is incorrect. Though you may be a tie-breaking vote, it’s your responsibility to allow other engineers the opportunity to make decisions. If you were to be responsible for all decisions, you would become a bottleneck and not further enhance the growth of your team.
- Because you’re the strongest engineer, you should take on all the most difficult problems. Again, this is incorrect. Though you may take on some of the most difficult problems, greater growth for both you and the team involves advising others and setting them up for success to solve those difficult problems.
- To be a technical leader, you need a leadership title. And finally, to be a technical leader, you don’t need a specific title or role on the team. In fact, to move forward in your career, you’ll have to take on the behaviors and leverage leadership skills long before you have the relevant title.
Other myths and misconceptions exist, but these three will set you up for success once you realize that they’re not valid.
Technical Leadership Responsibilities
Now let’s look at some technical leadership responsibilities.
Mentoring and Coaching Developers
First, technical leaders mentor and coach others in technical, communication, and leadership skills. Why leadership? It’s not just about building great software developers but also building and shaping the next technical leaders.
To properly mentor and coach others, you’ll have to assess their strengths and opportunities. What strengths can you help them lean into? And what opportunities or weaknesses need work or work-arounds?
You’ll also have to earn their trust and build solid relationships. Only then will they see your advice and coaching as a positive for them.
Driving Technical Decisions
As we mentioned, as a technical leader, you won’t be making all the decisions. So how is your expertise used? Oftentimes other individuals or teams will seek out your guidance and technical expertise. So you’ll find yourself in discussions around architecture, design, and building optimal solutions.
You’ll also need to ensure your team assesses technical problems and solutions properly. So ask good questions, and guide them to consider edge cases or scaling issues that perhaps they don’t foresee. Support their inquiries and help them find the solutions and answers.
And if needed, step in with a decision if they’re stuck or need a tiebreaker. But always try to get them to the answer themselves first.
Staying on Top of Technology
As you move up in technical leadership, you may find that you spend less time coding and more time reviewing designs, discussing ideas, or giving technical feedback.
It’s important to stay on top of the technology changes and challenges facing your team. This doesn’t mean you should put yourself on the critical path of every project. However, it may mean pairing with your team a few times a week. Or taking on small tasks to ensure you know what’s going on in the code base.
And keeping up on trends and learnings in the field will give you additional insight into how to solve problems and use technology effectively. So make time to explore and read technical blogs, newsletters, and internal publications.
Contributing Through Your Teammates
In addition to the responsibilities above, your day-to-day activities include working with the team to improve their technical abilities. This involves providing technical leadership through code reviews or pairing in with the team. Whether you do this while pairing or while reviewing a pull request, look for opportunities to dig into the code and ask good questions and give feedback.
But again, don’t always jump to the answer of how to better solve something. Ask questions that will encourage others to dig into the technology or investigate a new design pattern.
Additionally, your day-to-day improvements won’t be just about the code. Technical leadership can involve proposing and winning the acceptance of process changes. Perhaps you want to improve the deployment cycle, getting changes to production faster and with less bureaucracy. Or you want to drive a culture of service ownership within your team or org. Maybe you want to improve the way unit testing is done by driving test-driven development. Whatever it is that you feel should change, you have to drive it.
Determine what your team and team members need day to day and how you can leverage your skills to get them there.
Creating and Sharing a Technical Vision
And finally, as a technical leader, you’ll have to create and share a technical vision. For this piece, clear and well-thought-out communication makes the biggest difference.
To create a technical vision, gather inspiration from others. Read up on the technical visions of other teams, organizations, and more. Though a technical vision should be personal to the team or product, understanding how the vision works on other teams will help you identify opportunities on your own.
Look for opportunities to improve your software product by realigning architecture and improving flow. Or propose and create quality checks to assess service maturity and attain operational excellence. Then share that ideal future state with your team and leadership. Finally, devise a plan that will execute on that vision.
Keeping up on trends and learnings in the field will give you additional insight into how to solve problems and use technology effectively. So make time to explore and read technical blogs, newsletters, and internal publications.
Technical Leadership Skills and Traits
In this section, we’ll cover skills and traits that technical leaders grow and develop.
Excellent Communication Skills
As a technical leader, you need communication skills that stand out. Whether it’s communicating a design idea or feedback, clear communication is crucial. You’ll have to develop your written communication, your verbal communication, and your ability to explain technical concepts to nontechnical folks.
And as much as you want to improve the way you express thoughts, you’ll also want to improve your listening skills. Seek to understand and learn from others. Guide your team by asking good questions and taking the time to comprehend their viewpoint through empathy and caring.
In order to help your team attain greater technical maturity, you’ll have to share ideas and visions that may not align with what others agree with. In order to get everyone on the same page, whether it’s regarding one of your initiatives or ideas that your team brings forward, you’ll have to learn to build consensus.
Bias for Action
Though gaining consensus and gathering feedback from the team is critical, technical leaders act. And they set an example for others through their own actions. Instead of always ruminating on a subject, analyzing it repeatedly, and making sure everything is in place, look for opportunities to act. That may mean taking ownership of things or proposing prototypes and MVPs.
With technical leadership, you must always be improving your technical skills and abilities. This means diving further into topics, libraries, or patterns to understand them and teach others. And it means learning how to learn.
So instead of just learning new topics, assess how you and others learn best. Look at different ways of attaining knowledge through reading, prototypes, and repetition. And share those skills with others.
To get started, you’ll have to first assess your current impact. Does it come from your efforts alone, or do you influence others on the team to also contribute to your team’s mission and vision? What skills do you have, and which skills should you develop next? What responsibilities do you already have, and which can you take on?
Once you’ve got a good understanding of where you’re at, you’ll have to look for opportunities to build your technical skills and grow your impact. Leadership isn’t just bestowed on someone who’s doing a good job. To move into leadership, whether technical or not, you’ll have to make an effort to find or make opportunities yourself.
So plan your approach. Look for opportunities. And best wishes on your technical leadership journey.
This post was written by Sylvia Fronczak. Sylvia is a software developer and SRE manager that has worked in various industries with various software methodologies. She’s currently focused on design practices that the whole team can own, understand, and evolve over time.