A key factor in your ability to successfully grow an engineering team is your capacity for self-development. Over the course of scaling from zero to a team of double figures, your responsibilities and priorities will change dramatically. This may feel uncomfortable, as the skills that make you effective in your role as the sole engineer on the team will only be marginally helpful in managing a team of ten people. In fact, holding on too tightly to your original role and responsibilities will likely stifle the growth of your team and hold you back from being an effective leader.
With this in mind, perhaps the most enduring skills that will help you on the journey are humility and a desire to learn. You'll often find yourself facing new situations where you won't immediately know the right way to proceed, and being able to admit this to yourself - and others - is very important. However, as a leader, your team will be relying on you to provide a path forward, so you'll need to be able to educate yourself quickly in order to make (or facilitate) a decision. The good news is that if you're reading about engineering leadership, you've already demonstrated that you're keen to learn and able to recognise that you may not have all the answers.
I like to consider self-growth in the context of engineering leadership through two lenses. These can be summed up as "What do I need to gain?" and "What do I need to let go of?". Firstly, what are the areas I need to build on to lead my team and help the organisation succeed? This typically means developing new skills, gaining new knowledge and nurturing relationships. Secondly, and just as importantly, what are the things that I should let go of in order to maximise effectiveness and develop my team? I believe this question is often overlooked, but letting go of things is a powerful and necessary part of self-growth. This could be delegating responsibility to someone on your team in order to provide them with a learning opportunity, deprioritising an aspect of your role that isn't a valuable use of your time, or even letting go of a way of thinking or mental model that has become counterproductive. In this article, we’ll focus on the first of those two questions: “What do I need to gain to continue to be a good leader as my organisation grows?”
Develop relevant skills
A critical challenge for budding software leaders that feels so obvious that it shouldn’t need stating, but is frequently overlooked by organisations, is this: being a good software engineer does not automatically make you a good manager or leader. Management and leadership are their own disciplines with their own sets of skills, which are broadly orthogonal to engineering skills. For new organisations with little experience of running a technology team, it’s common for engineers to be hired or promoted largely on the basis of their technical skill. This can lead to situations where an effective engineer is turned into an ineffective manager, at a net loss to the individual and the organisation.
As the leader of a new or growing engineering team, you can set yourself up for success by approaching the running of a team as a new problem domain with new skills to be learnt. With leadership skills like effective communication and empathy, there’s often a (largely mistaken) view that they are innate, rather than learnable. Certainly, if you’re someone to whom skills like listening or reading others’ emotions comes easily, you’ll have a head start. But even if you find these areas challenging, practicing and soliciting feedback will allow you to improve, just like any other skill.
It may be helpful to identify a peer or mentor who can help you practice and give you honest feedback - for example, through conducting mock 1:1s, or roleplaying challenging situations. Look around at your organisation or network for someone who you identify with being a ‘good’ leader, and see if they’re willing to share some time to help you grow. Most likely, they’ll find this experience beneficial too, and so will be happy to help.
Another way to develop these skills is through reading, watching and listening to experts. As the technology industry continues to grow and mature, we’re being blessed with a variety of great books about engineering management. There’s also a conference organisation, LeadDev, which focusses exclusively on the skills and challenges of engineering leadership. There’s so much great content out there - it’s just a matter of going out and finding it.
The skills that make a good technology leader are many and varied, but some areas that I’d really recommend focussing on as your team grows are:
- Listening effectively
- Providing positive and critical feedback
- Managing conflict
- Speaking and writing engagingly
Depending on your previous experience, these may not be skills that you’ve approached as ‘things I can learn to be better at’. In your role as a leader, now is a great opportunity to start (or continue) cultivating these skills to make your team happier and more successful.
Broaden your knowledge
When you’re the sole engineer on a project - especially a greenfield project, as is common in start-ups - you’re responsible for every aspect of the technology. As a result, you probably know all of the ins and outs of your codebase, all of the implementation details behind key features, and so on. You’re coding day in, day out, so you’re constantly exposed to the evolution of languages, frameworks, and libraries that power your product. As you work, your understanding of these tools grows. You revisit and evolve your assumptions and mental models, improving your design patterns over time.
This deep technical knowledge and constant learning is part of the joy of being a subject matter expert. However, as your team grows and your responsibilities evolve, the importance of technical knowledge at this level of detail will decrease. In its place, knowledge about systems, organisations and best practices will become more valuable and relevant.
In practical terms, this may mean shifting your learning focus away from keeping up with every aspect of your stack, and instead exploring more abstract concepts. Systems thinking is a useful way of modelling both technical and organisational problems. Thinking about process development - how to intentionally design the way your team works to achieve the results you want - becomes increasingly important as your team scales beyond a few people.
One way to think of this shift in focus is as a zooming-out process, from the detail level to the outcome level. While you may still be the subject matter expert in some areas, in others, you’ll be thinking less about the implementation and more about the inputs and outputs. One pleasant benefit I’ve experienced from this process is being able to let go of feelings about the ‘right’ way to do things, rooted in your own biases. When you’re looking at a more outcome-focussed view of technical areas, you’ll likely be much more agnostic to how the result is achieved. This leads to increased trust in your team members, and empowers them to take ownership over the details of their work.
That said, even in areas where you’re no longer the technical authority, it’s wise to keep engaged with broad trends. This will allow you to have meaningful discussions with the people who have taken on the responsibility for this area. Even being able to ask the right questions will help the team to come to conclusions on big decisions, such as what technology to explore, or when to build vs buy. Showing humility and a willingness to learn from your team is one of the most effective ways to stay engaged with areas that you’re no longer working on directly. This approach has the added benefit of developing team members’ communication and teaching skills.
Looking beyond engineering
As you shift time away from technical detail, it’s important to broaden your knowledge outside your fledgling team. When you’re the sole coder and your entire organisation is a handful of people, it’s easy to stay current with other areas of work simply through osmosis. As growth occurs across the organisation, you’ll need to be more intentional about maintaining an awareness of the work and goals of other teams. Part of your responsibility as a leader is to act as an effective conduit between your team and the rest of the organisation, broadcasting information both internally and externally (while avoiding becoming a communication bottleneck!) If you don’t spend time learning about other aspects of the organisation’s work, you won’t be able to accurately represent needs and interests that impact on your team. This learning will also allow you to identify opportunities where your team can contribute more broadly to the success of the organisation.
Related to, but distinct from, understanding other teams’ work, is understanding the growth levers of your organisation. For revenue-driven organisations, this means understanding what aspects of the organisation can be changed to increase revenue. For example, an online sales business will have levers around conversion rate, customer re-purchase rate, customer volume, order value and so forth. Having clear knowledge of these levers will help to inform your decision-making as a leader, and also make it much easier to understand the motivations behind other decisions in the organisation. They can be helpful to identify areas for opportunity, and also to predict likely challenges that will arise as the organisation grows. Your conversion rate may be high when targeting highly-engaged early adopters, but will that conversion rate be sustainable as you address a larger market? It may seem obvious to know the basics of how your organisation fulfils its goals, but it can be surprisingly easy when you’ve been in the weeds of software development to lose sight of these levers. Staying in touch with them as the organisation grows is a key part of your own leadership growth.
Invest in your relationships
A critical aspect of self-growth in a growing organisation is making sure that you invest in your relationships. If you haven't built trust and good communication with your organisation's leadership, your peers and your team, then you won't be able to take advantage of your own skills and knowledge to effect change.
The first step in this process is simply to make sure that avenues of communication exist. Hopefully you work in an organisation where the concept of 1:1s is already established, but if not, start establishing it. Ask your manager (if you have one in your role - if not, it may be useful to find a mentor) for a regular catch-up, and schedule catch-ups with your direct reports. You may also find it valuable to schedule 1:1 time with other leaders in the organisation.
From my experience, 1:1s with your team are one of the most valuable ways you can spend your time as a manager and leader. There’s a plethora of great advice out there about how to run effective 1:1s, and there are many valid approaches. My philosophy around 1:1s has always been that they’re a time that belongs to your team, and as such each 1:1 should be driven by what works for that team member. Maybe they prefer to bring an agenda of topics they’d like to discuss, or maybe they prefer you to drive the conversation. Sometimes they might want to dive deep into an aspect of their work and get your advice, and other times they might just want to vent and get something off their chest. There’s definitely not enough space here to cover the details of a good 1:1, but some key outcomes that I look for from these conversations are:
- Team members feel listened to and valued - this is priority number one. The strength of your relationship with your team rests on mutual trust and respect, and listening and understanding their priorities will build this trust.
- Team members have a chance to give and receive feedback - whether this is feedback from them on the direction of a project, or feedback from you on their development, having space for feedback is very important.
- You and your team member have a shared understanding of goals - if there’s important information you need to communicate to your team, 1:1s are a great place to check understanding of that info. Likewise, if a team member has their own professional goals, they can use this space to keep you informed of them.
I’ll revisit the topic of 1:1s at another time, but remember - 1:1s shouldn’t be the only source of your relationship with your team members. Building authentic relationships with your team, through both formal and informal means, is a big part of effective leadership.
Alongside your relationship with your direct reports, cultivating your relationship with your manager will help you to grow alongside your organisation. As an engineering leader in a small organisation, it’s likely that you’ll be reporting directly to the CEO or founder. You may even be a founder, in which case you’ll have a slightly different dynamic to navigate.
In the first case, your manager is the person ultimately responsible for the success of the organisation. They’ll have a lot on their plate, and as a result will likely expect you to operate with a lot of autonomy. In the context of this dynamic, having a good understanding of their priorities and concerns will make your life much easier. You’ll be able to anticipate work that will come your way, and align your goals with theirs. Listening and asking the right questions will help you to get this information, as well as increasing your manager’s trust that you have a clear understanding of their needs.
Non-technical founders or CEOs will also want to be able to hand off technical problems and challenges to you, with the understanding that these will be dealt with. This means you also need to get comfortable with telling your manager what you need to succeed. While it might feel easier to just agree to a project, then go away and figure it out, being clear and up-front about the constraints and required resources will benefit your manager much more. They’ll be able to make an informed decision based on your expertise. This doesn’t mean being able to instantly estimate work, or accurately predict the exact cost of a project. Rather, it means taking the time to work out what the implications of a piece of work are, and bringing those clearly to the table. If a poorly-scoped project is going to take 6 months of your team’s time, then your manager would almost certainly know that information before starting, rather than waiting until you’re 3 months in to find out.
Don’t forget to ask for feedback from your manager. While some leaders my find it easy to give feedback, others will err on the side of politeness and conflict aversion, robbing you of an opportunity to learn and improve. You can help to avoid this process by articulating when and how you like to receive feedback. This will make it easier for your manager, and ensure you get the guidance you need to grow.
A final point on your relationship with your manager - as a founder of a small organisation, there’s no guarantee that they themselves have management training or experience. They could be learning as they go, and experiencing organisational growth for the first time. You can help to get the best out of your relationship by clearly articulating your needs, and providing them with advice and resources on how best to manage you. Chances are, they’ll really appreciate it.
As mentioned above, as organisations grow, your knowledge of the work and challenges of other teams becomes less readily available. One way to combat this is to invest in your relationships with other leaders in your organisation. Understanding what they’re trying to achieve, and making sure that they understand your goals, will allow you to work in alignment. A lack of relationships between different areas of an organisation is often the cause of wasted resources, working at cross purposes, or internal politicking.
While it may not be necessary or feasible for you to have 1:1s with all other leaders in the organisation, a regular catch-up with anyone whose team’s work frequently overlaps with yours can be valuable. This will allow you to find shared solutions to common challenges, identify areas where you can support each other’s work, and build a shared narrative to present to the rest of the organisation.
Not only do peer relationships offer important organisational benefits, they can also benefit you professionally. Having an opportunity to learn from people who are going through a similar growth trajectory to you is really helpful. If you’re able to put in place simple ways to share this learning, such as a leadership lunch-and-learn or a book club, you’ll be able to pool your shared knowledge to the benefit of all.
Treating your peers as your team may feel unnatural at first, especially if you are deeply invested in the growth and success of your own team. However, it’s definitely worth it in terms of helping you, and the organisation, to grow together.
We’ve covered a lot of ground here, so let’s recap. In order to grow as a leader alongside our fledgling organisation, you’ll need to:
- Develop relevant skills by treating management and leadership as distinct, learnable disciplines.
- Broaden your knowledge of systems, processes and trends, as well as your knowledge of the work of other teams and the key levers of your organisation.
- Invest in your relationships with your team, manager and peers.
However, growth isn’t all about gaining. Next time, we’ll cover some of the things you’ll need to let go of as you grow in your role as a leader.
This article is part of a series I’m writing on scaling an engineering team from zero - look out for further posts on the same topic.
Want support and advice on growing as an engineering leader? I’m currently available for consulting on the areas discussed above - see my consulting launch post for details. If you have thoughts or questions about the above, feel free to get in touch with me on Twitter, Mastadon, or by email.