How to become a software engineering manager
Pluralsight's Senior Manager, Software Engineering Keerthi Nidadavolu shares how to get a management role in programming, and the skills you'll need to do it.
Aug 8, 2024 • 7 Minute Read
Keerthi Nidadavolu is a Senior Engineering Manager at Pluralsight with over a decade of experience, including working for Thoughtworks and Target. Starting as a software developer, Keerthi made the shift to management and now specializes in mentoring and leading agile development teams.
There comes a time in your software career when you might find yourself enjoying helping junior developers grow or setting the direction of the next project just a little bit more than being hands-on with the code. If this is you, and you want to pursue this feeling, then it can be a good time to consider shifting into a leadership role in software development.
In this article, I’ll share how this moment arrived for me, and what being a software engineering manager actually involves. I’ll also dive into a bit about the skills you need to get a leadership role and succeed once you’re in it.
A bit about my story: How I got into software engineering management
I got my start in software engineering seventeen years ago, working on Java-based web application development. Like most software engineers, I entered the field because I was following my passion for making things. I love creating efficient and scalable systems, and to this day that hasn’t changed—I’m just making it happen in a different role.
For most of my career, I’ve worked as a technical consultant. Being a consultant is a great experience, because you’re exposed to a lot of different industries and diverse environments, and then asked to solve their problems. I found this helped me not only learn a lot, but learn to be adaptable and deal with pressure: both key skills for being a software engineering manager.
I made the leap to leadership when I realized my passions were leading me in a different direction. Specifically, I wanted to help others grow, and contribute at a higher level to the strategic goals of an organization.
What responsibilities does a software engineering manager typically have?
As a software engineering manager, you lead development teams in a way that ensures successful product delivery, high productivity, and alignment with business goals. Your role involves guiding and supporting team members to promote their professional growth and performance. Another key responsibility is defining and refining processes to ensure efficient software development life cycles.
Your duties involve collaborating with product managers, designers, and other stakeholders to make sure your projects meet both company and customer needs. You provide technical oversight, champion engineering best practices, and like any manager, oversee recruitment, onboarding, and continuous training for your highly-skilled team.
A large part of your role is shielding the team from external pressures so they can do what they do best, fostering a collaborative and inclusive team culture, and resolving any conflicts or blockers they have. Depending on the organization you’re in, your role might include budget management, resource allocation, cost control, and engaging with senior management.
Can you be a software engineering manager with no formal leadership experience?
Yes, but you’ll need to seek that leadership experience informally within your current role. Many senior engineers take on leadership-like responsibilities by mentoring junior developers, leading small projects, or coordinating team efforts. These experiences help build the necessary skills to prepare an engineer for management.
My advice is to find a mentor, seek regular feedback, and engage in proactive learning. Your current manager can offer a wealth of insight into how to make yourself ready for leadership. I also suggest reading books on leadership and continuously seeking new opportunities to stretch your skills.
In the end, transitioning to management without having role-based leadership experience is completely achievable with the right mindset and approach.
What technical and soft skills should a software engineering manager have?
A software engineering manager needs a mix of technical and people skills to lead their team effectively. On the technical side, it's important to understand software development principles, system architecture, and have experience with at least one programming language. This helps you provide technical oversight when needed. You don’t need to be an expert— providing guidance while trusting your team to make the best decisions is key.
Interpersonal skills are just as important. Clear communication, good decision-making, conflict resolution, and empathy help maintain strong relationships with your team, stakeholders, and other departments. These traits ensure everyone stays aligned and collaborates effectively.
Don’t be worried if you’re not perfect. Not every software engineering manager is going to be amazing in all of these areas. What’s most important is being open to continuous learning, and working to improve yourself by seeking feedback, taking courses, or seeking new challenges to strengthen these skills.
How many years of experience should I have, if any?
There is no magic number, such as “anyone who has five years of software development experience is ready for management.” It all comes down to your personal growth, exposure to different projects, and the opportunities you have available.
That said, if you’ve worked as a software engineer in the right environment for five to ten years, this tends to give you access to several experiences that will help you succeed as a software engineering manager. Specifically, a strong technical foundation and knowledge of how software development operates. These all help you make informed decisions to guide development teams.
Ultimately, demonstrating leadership potential and a willingness to learn can sometimes outweigh the number of years you’ve been in the industry.
How can you succeed at being a software engineering manager?
Your success is going to rely heavily on how well you can create a collaborative and supportive environment for your teams to do their best work. It’s crucial to protect your team from external distractions and pressures, while still ensuring clear and open communication. Balancing these aspects can be challenging, but achieving the perfect mix will help your teams perform at their best.
Is it better to be an individual contributor or a manager?
Neither role is better than the other—they both have unique advantages and challenges. It comes down to what you find most satisfying in your day to day work, your career goals, and your personal strengths. Also, there can be an overlap between these roles depending on the organization you work for.
As an individual contributor, you can usually focus deeply on technical work, problem-solving, and innovation. ICs often enjoy the satisfaction of being more hands-on and having a direct impact on the technical direction with their contributions. This role is ideal for those who love technical challenges and prefer working independently with a collaboration aspect across teams.
On the other hand, a manager's role involves overseeing teams, guiding projects, and aligning technical efforts with business objectives. Engineering Manager roles tend to focus on leadership, communication, and strategic planning. Influencing technical and strategic direction is an important part of the role. This path is suited for those who enjoy helping people in their career growth, coordinating cross-functional efforts, and having a broader impact on the organization.
My advice would be to read the job descriptions above, and listen to your instincts about which sounds more appealing to you. This doesn’t need to be static, either—you might find you’re happy being an individual contributor at one point in your career, and change your mind several years later.
Conclusion
If you’ve read this article and being a software engineering manager sounds like something you’d enjoy, don’t be afraid to start working towards it, and let your immediate manager know that this is something you’d like to pursue. This shows initiative and a desire for growth, and signals to your manager that they need to be providing you with opportunities to move towards this goal.
I wish you the best of luck in pursuing your future role, and again, don’t be daunted if you don’t meet 100% of the job description right away. Keep seeking new opportunities and putting yourself out there, and I’m sure you’ll get that manager role in no time.
Further learning
Looking for some resources to help you shift from being an individual contributor to a management role? Check out these courses by Pluralsight:
- "Being a Technology Manager" leaning pathway
- "Moving from Technical Professional to Management" video course
If you’re considering other leadership roles in the tech industry, here are some other articles in this series:
Interested in contributing to the Pluralsight community?
If you’ve got an article you want to write, we want to hear from you! Visit our community contribution page and register your interest.