In partnership with
As engineering managers, it is our responsibility to foster growth for the individuals on our teams.
By identifying and addressing skills gaps, we can both enable our teams to be more effective and support individual career goals.
It's usually much easier to identify gaps in knowledge with early-career engineers, and there’s no lack of beginner-friendly courses and books to learn from. Newer folks also often tend to be more motivated to spend extra time and energy on learning, as the delta between what they know and need to know is large, and doing nothing is uncomfortable.
But as our engineers grow in seniority, their skill gaps become harder to spot and can’t be so easily filled with online courses or books. Their learning needs are more complex, often domain-specific, and application to real-world use cases becomes harder and harder to distill into short exercises.
Also, many people at this stage of their careers just don’t have the capacity to be working on skill development outside of work hours, not because of a lack of passion but because they have very real responsibilities outside the workplace (this is often especially true for folks from underrepresented groups).
Solving this problem for the senior engineers on your teams isn’t easy, and there’s no quick fix. Real learning will take real investment and buy-in from the most senior leaders at your organization. That does mean your teams will move more slowly, which can be a tough sell if your primary measure of success is team output. But this is finite thinking, and successful orgs will understand that investing in the talent you have is key to long-term success.
Investing in growth opportunities for your team will have compounding returns when it comes to employee satisfaction and retention, and will likely lead to better software in the long run as new skills are added to the broader company context your engineers already possess.
So how can you start addressing the skills gaps in your team? It all starts by providing your senior engineers with three things: opportunities, support, and time.
1. Opportunities to learn by doing
Information is only useful when you have the right context to apply it, so keep theory lessons brief and send engineers off with projects where they can simply try things out. This hands-on approach to learning will lead to a lot more 'aha' moments in a shorter amount of time.
Often engineers feel their growth is stunted because they aren't getting the right kind of projects on their team. Maybe a temporary secondment to a different team can provide the opportunity they need for hands-on experience (you'll need to backfill their role to allow them to do this).
If there isn’t a relevant project for them to join, try to come up with a small project that has real value and some sort of deliverable. There are a few special people out there that can be self-motivated to expand their knowledge, but the vast majority of us need some sort of structure, accountability, and purpose in order to dig up that motivation.
2. Support through continuous feedback
As engineers progress in their careers, they'll naturally require less guidance. But the need for support doesn't completely go away, especially when a subject matter is new. No matter how independent your engineers are, providing them with a regular feedback loop will facilitate faster growth. This feedback will often come in the form of a code review, but you could also set up regular check-ins – either with yourself or another subject matter expert within the company – so that your engineers can simply talk through their problems with someone with enough context to provide value.
If another engineer on your team has experience with the topic at hand, allow them to dedicate a significant part of their time to the project. Knowledge sharing and mentorship are crucial skills to build as well, so this could be a win-win in terms of providing growth opportunities for everyone.
It could be that a particular skills gap is teamwide and you don't have someone to support in-house. If this is the case, it might be worth bringing in an external subject matter expert to play the role of consultant and mentor for your team.
3. Time and space to process
Like all good things, learning takes time. This is perhaps the most important factor of all, but one that is often overlooked. Rushing through learning might seem like you’re saving valuable time, but giving engineers space to hone their new skills will make your team more efficient in the long run.
If part of the goal of putting someone on a project is to build skills, make sure there is time for thought, reflection, feedback, and integration. When scoping technical initiatives, take into account whether upskilling the team is one of the project goals; if it is, add a reasonable amount of buffer to the timelines. This investment will pay off!
Many of us are drawn to this profession because of our love of learning. Making sure that we are creating the space for our teams to continue to learn on the job can have a phenomenal impact, allowing us to build inclusive engineering teams full of engaged and effective developers.