Taking that step into an engineering leader role is not easy. But cultivating a mix of technical, people, and business skills can help put you on your progression path.
Adapting and expanding your skills as a software developer to align with those required for effective engineering management can be daunting. As a developer, you act as the key contributor in implementing the technical solutions for the defined tech strategy. But an engineering leader’s role encompasses a wider scope of responsibility, requiring a more expansive understanding of the company’s business and tech requirements.
It’s easy to look at the engineering leader role, and all the duties attached to it, as intimidating. But there are ways in which you can sharpen your existing abilities as a developer to help in your transition. Learning why a business exists, how technologies enable the business execution, and what direction is required to deliver successful technical solutions may be an important part of an engineering leader’s day-to-day, but just what can you do to reach this level?
If you’re ready to explore moving from a developer role into leadership, welcome to the journey. It will not be easy, but learning how to cultivate a perfect blend of technical, people, and business skills is a great starting point on your path to engineering leadership.
Technical ability is essential for engineering leaders. This is the first key skill you need to be proficient in if you are thinking of making this career move.
Below are three steps to mold your technical skills into leadership ones:
- Broaden your technical skill set: invest time into yourself, cultivate your knowledge. For example, if you’re a backend developer, learn everything you can about backend solutions. Find ways to assess your proficiency on the subject and continuously find ways to sharpen your existing knowledge. In the same breath, seek out and isolate areas you know you’re not as experienced in. If you are to build effective technical solutions as an engineering leader, it’s important to use the right technology for the right business problem – this means a vast basis of technical knowledge. If you’re a Java developer with an exceptional understanding of everything your role entails, look elsewhere and find out what different capabilities a Python stack, for example, can offer.
- Help your team in their technical abilities: you explored your own technical capabilities to the highest level. Now, it’s time to propagate your leadership skills and help others achieve a higher technical understanding. Using your previously acquired knowledge, streamline processes and motivate members; perhaps you may wish to share your code with others to save them from duplicating solutions. Alternatively, if given an opportunity, you can show your willingness to mentor a new developer. Bolstering your team in these ways will help to build credibility with others.
- Expand your horizon: learn how other technical solutions interact with each other. Find out how different technologies have evolved over time. Leaders are visionaries, so using your understanding of what has come before will help you to predict what will come in the future. If possible, plan a five- and ten-year roadmap of the tech in your field. For example, if you’re a front-end developer, what do you think the future holds for front-end technology? What do you envision as the greatest opportunity in your area of expertise?
Honing your technical expertise is the first step, but learning to be a good leader requires strong interpersonal skills. If you’re looking to sharpen your abilities, managing a project is a great way to gauge and build how accomplished you are in an interpersonal capacity.
There are many ways you could set about applying for a project manager (PM) role; find out if your company would support a temporary move into this position. You may additionally want to look into some sort of formal education on project management, as this could also help you gain the required skill set.
Project management, or a similar leadership role, will bring with it certain situations that strengthen your people skills:
- End-to-end oversight: as a leader, you will oversee projects end-to-end, without personally knowing all the details of the codebase. Having a helicopter overview will force you to sharpen skills like delegation, decision-making (without knowledge of project specifics), taking responsibility for failures, and giving credit to your team for the success of technical solutions.
- Involvement with stakeholders: as a leader, it’s one of your prime responsibilities to influence your stakeholders. It is for this reason that you must learn how to communicate effectively with them. This may prove challenging, especially if your history as a developer has been code-centric. However, with exposure, you will your new ability to align various stakeholders to a decision for a project.
- Build relationships: a successful project is underpinned by strong relationships; understanding how to work and collaborate for a project’s success is paramount. Building relationships helps to gain a deeper understanding of the people you’re working with, and by proxy, their perspectives on problems. The key here is to genuinely be engaged in other people. Find out more about their interests, learn what inspires them, and how you can better work with them to reach a common goal.
As a leader, it’s critical to learn how your technical roadmap supports and aligns with business requirements. Knowing about the business helps create effective solutions to meet the organization's needs. Here are some basic steps to begin learning the third, and final, skill:
- Get training on the business domain: learn about your business domain via your company's internal resources. For example, if your company provides training, enroll in it. If your company maintains documentation about how your business operates, gain access to it. Alternatively, enroll in external training courses specific to your business.
- Get curious about the business you support: when you get a chance to meet company stakeholders, ask questions with the intention to learn about the business you support. While doing so, avoid thinking about designing a technical solution. Staying away from the implementation mindset could help you gain insight into the business without any technical biasing. Here are some example questions you can pose to begin learning about the business you support:
- What problems does your business solve for its customers?
- What are the critical functions of this business? How fast do they need to respond to their customers?
- What catalyzes change in the organization? What is the typical turnaround time to fix a broken business function or feature?
- How has the business changed in the last decade?
- What’s the future of the business you support?
- Learn why and how your technical solution is funded: it’s important to understand why and how the funding is allocated. Factors influencing this could be technical innovations or a solution’s ability to solve critical business problems. Asking questions to get to the bottom of “why” can provide insight beyond the current business problem, which could lead to discovering future technical solutions for a broader business vision. Beyond this, take time to understand how the budget is decided for a project. This is another important aspect that will help in your planning of future projects.
We reviewed a few basic steps of learning technical, people, and business skills. Here are some other routes to take to improve these skills:
- Join forums and communities to gain knowledge from other engineering leaders and, in turn, share with them what you have learned.
- Review your progress. Decide the milestones for your journey. Evaluate what you learned in the last quarter (or in another reasonable timeframe). Reflect on what you have learned and ask yourself if your journey toward an engineering leader position is one you are truly enjoying. It’s a transition that needs effort and courage. Review your current efforts and ask yourself what you could have done better. Adjust the learning goals for the next milestone as required.
- Inspire others to lead. There are other fellow developers who also want to progress in their careers toward leadership. Open your experiences to the wider community, your journey may help inspire others to learn. Share what you have discovered and help others to succeed in their career path.
And last of all, good luck in making this important transition in your career!