Building Key Engineering Management Skills
This is part 1 of a 3-part series based on the conversation HackerRank’s CEO and co-founder, Vivek Ravisankar had with Atlassian’s Head of Platform, Mike Tria, on engineering management.
This post discusses how to know if engineering management is for you and how to build key engineering management skills (through improv comedy and other methods).
HackerRank’s CEO and co-founder Vivek Ravisankar and Atlassian’s Head of Platform Mike Tria are both developers who transitioned into managerial roles and have gone on to hire many engineering managers. Drawing from their experiences, they break down why engineering management isn’t and shouldn’t be for all developers, and also share what skills an engineering manager needs in order to be successful.
How to know if engineering management is for you
It’s important to recognize that engineering management is not the only way developers can advance their careers. At Atlassian, there are two separate career ladders mapped out for developers: one leads to becoming an engineering manager and the other to becoming a principal developer.
“We really wanted to treat these as two separate career tracks, both equivalent to another,” says Mike. “We actually mapped our career ladders to have the same exact levels for managers and developers. It works that way from a compensation perspective, to the nature of how the actual promotion up those ladders works. And so, the move from a senior engineer to a manager is seen as a lateral move within Atlassian.”
Ways to Assess if Engineering Management is the Right Fit
If you're unsure whether you should become an engineering manager, use some of these methods to see whether engineering management is for you.
Approach your manager and see if they’re open to assigning you smaller managerial tasks so that you can experience what the role of a manager is like. You can also build relationships with engineering managers and see if you can find a great mentor who can help you gain a better understanding of the role. Last, if your employer provides manager apprenticeships or rotational programs, take advantage of those offerings.
If after these experiences you realize that management isn’t for you and you prefer being an individual contributor, Mike believes some management experience is still valuable.
“I've actually found some of the best developers we have are people that tried management and went back, so they now have an understanding and respect for the work that goes into it,” says Mike.
The 5 core engineering management skills
If you’ve had a taste of what engineering management is like and you realize it’s the right role for you, here are the top 5 engineering management skills that Mike and Vivek agree you need to learn:
1. Have a team-oriented mindset
When moving from being a developer to an engineering manager position, Mike and Vivek believe many developers (themselves included) may initially struggle with moving to a team-oriented mindset.
Instead of valuing the code you write, as an engineering manager you need to value what your team produces. While personal technical skills are still important, a successful leader is someone who should be invested in the work of the entire team.
2. Become an active listener
As a manager, it can be easy to dominate conversations or implement procedures and policies that have worked for you in the past. However, it’s vital for you as a leader to take the time to listen to your team so you can begin to understand what your team needs and how you can help. Enforcing plans without input from your team will cause you to quickly lose credibility as a leader and lose the trust of your team.
Mike has a few suggestions for how first-time engineering managers or leaders who are joining new teams can become better listeners.
“Actually jumping into the trenches a little bit and understanding their work helps. I also like to take on a project in my first 3 months. So, pick a meaty project and get in there and just shadow and ask questions,” says Mike. “At Atlassian, we have this expression where it's like you go from listening to speaking to deciding and I think for that first 60 days it really is a matter of looking and speaking.”
3. Hone your communication skills
Another key soft skill that engineering managers need is the ability to clearly communicate, both verbally and in writing.
“You need to be a really strong communicator which is not something that you usually give weight when you're trying to hire an engineer and suddenly when you're getting promoted to an engineering manager, you’re getting involved in cross-functional team meetings, you need to be able to communicate why we're doing what we're doing,” says Vivek.
Mike chose an unconventional way to hone his communication skills. He joined an improv comedy group.
“So, I was naturally not a great communicator but it was also very lucky because I did a lot of improv comedy throughout my career,” says Mike. “And so, it just so happened that a lot of the skills around listening and how to be able to stand in front of a whole bunch of people, in front of your team, and talk about something that maybe you just heard about one hour ago and didn't have time to prep a slide deck, that's a skill that I think some of the improv can teach you.”
4. Sharpen your business acumen
Along with being able to clearly articulate the work that you and your team are doing, it’s important to understand and build partnerships with other departments in your company.
An engineering manager role requires you to work cross-functionally. You need to be able to understand the business and how your work fits in with the work of the company’s other departments such as sales, marketing, and customer success teams. To do this, start by consuming content outside your field of expertise, and have 1:1s with peers outside of engineering.
5. Don’t let your technical skills get rusty
To ensure that you always have a clear understanding of the work being done by your team and to maintain credibility as an engineering leader, you need to keep your technical skills sharp. Technology is always moving at a rapid pace so the technical skills that were relevant 2 years ago, may not be as relevant to the business now.
“You have to be up on the tech that your team is using, not that you can get down in the trenches and write critical code but, you know, fix a bug every once in a while, load up Jira or look at a few issues and talk to the team about the backlog...Actually do those things that help maintain your credibility that you can then pass on to your team,” suggests Mike.
Tying it all together
Engineering management is not the only option that developers have when it comes to progressing their careers and companies need a mix of principal engineers, senior developers, and engineering managers to be successful. At the end of the day, engineering managers should be individuals who are interested in and able to represent a technical team. This requires an in-depth knowledge of the responsibilities an engineering manager has as well as building key soft and technical skills such as communication skills and business acumen.