The tech industry in Nigeria is churning out a lot of software engineers but very few engineering leaders. Engineers are staying on longer as Independent Contributors and the industry really isn’t evolving fast enough to produce lots of engineering leaders.
Engineering leadership is rarely taught. Usually a software engineer evolves from being an Independent contributor to a tech lead and possibly an engineering manager. Engineers rarely find the opportunity of learning what it takes to be in leadership roles, until it’s actually tossed at them, some accidentally much later in their engineering careers or when they experience burn out and are looking for the next big challenge. As such, engineers are never really able to answer the question early on, of whether they’d like to be managers some day or continue in their technical path till retirement.
A couple of months ago, while mulling over what kind of structure we’d want for our engineering organisation, we started experimenting with giving our engineers the opportunity to lead projects. Leading projects involve being responsible for a given feature in development, coordinating other engineers on the feature, communicating with the product managers and managing delivery timelines along with product managers.
The idea is that, rather than wait for 3-5 years before an engineer is ever allowed to be responsible for a feature or a team, we give them the opportunity to experience what that being accountable means. Leading a project is an opportunity to experience a bit of what managers do.
At Cowrywise today, a junior designer or backend engineer could become a lead of a feature involving other senior developers. During this period (usually quarterly), in addition to being responsible for the feature, the engineer will learn how to write technical specification documents, and work with product managers to understand product requirement documents. This doesn’t in any way affect the engineer’s own independent contribution; a backend engineer that is a project lead is still expected to open pull requests.
This approach is heavy on exposing engineers to the projects and processes part of engineering management, it is light on actual people management, a skill the engineer will hone over time.
We believe this is a solid way to build the much needed leadership skills the industry needs, easing independent contributors into leadership bit by bit. Over time, in addition to learning how to take responsibilities, the engineer learns early on to decide whether managing is for them or not.
How does your organisation evolve engineering leaders? Would love to learn more about other approaches out there.