Naeem ul Haq is the Cofounder & CTO of Educative. A former software engineer at Microsoft, Naeem has 15+ of engineering experience.
Unaddressed skill gaps
Having a team of smart engineers who learn the basics to get a job done works for a little bit. But eventually, problems start to rise. With unaddressed skill gaps, blindspots start to appear, mistakes inevitably occur when designing code, and all of these issues make it difficult to tackle complex problems or execute successful plans.
It becomes a "chicken and egg" cycle where limitations in skills prevent building impactful features or products. Technology is changing, while code is expanding. A shallow understanding of the product widens the gap and creates more difficulties down the line.
Tackling the inevitable
Skill gaps inevitably occur because your product is changing, code is changing, and technology is changing. When tasks or building takes more time than it should, or we keep noticing bugs in code, it may indicate underlying skill gaps.
Here’s the good news — getting comfortable with the idea of continual learning is good for an engineer’s career. One thing all managers can do is keep an eye on and make sure that engineers on their team are spending time on learning new skills, identifying skill gaps every 6 months, then helping fill those skill gaps. Otherwise, you’re just busy between sprints and tasks.
Sometimes, spending dedicated days on training and setting skill gap goals for the team will improve your team and company. Learning should be an inseparable part of an engineer’s routine – the same can be true for your entire org.
Want to level up your talent to meet business goals?
Accelerate productivity with precise developer learning.
6 Steps to Addressing Skill Gaps
Address skill gaps early
When people join Educative, we come up with a plan based on their experience level in different technologies and based on how experienced they are as a developer. It’s never a one-size-fits-all plan. Some other variables to keep in mind include a person’s background and also how fast they can learn. Some of it is guesswork to build the plan, so having someone mentor, write feedback, and help with blockers will bring them to the finish line.
One of the most important things is creating a system of accountability. It can be simple as a whiteboard in a team’s space where people can talk about their personal learning goals. When internal accountability intersects with team accountability, the likeliness to finish those learning goals increases.
Every team is different, so whether the system of accountability takes place on a Trello board or is monitored on a Jira board, every team should come up with a plan to meet learning goals. It’s not enough to merely come up with ways to identify skills gaps — it's even more important to have a plan to follow through.
Building a continuous learning culture
Building a learning culture starts with your mentors, senior engineers, and managers on the team. People need to feel comfortable not knowing everything. Building that culture starts from the top. You need to reassure yourself that it’s totally fine if you don’t have the answer right now, as long as you’re willing to learn.
It’s important to note that performance reviews are not the best time to assess skill gaps, because by then it’s too late. Instead, skills gaps can be discussed every 1-3 months or come out of sprint retrospectives.
During those retros, spend some time on a simple item that may expand your team’s skill sets or highlight a skill gap that caused slower production. In engineering, you’re always looking for ways to improve in the present, rather than wait for performance reviews in the future.
Partner “shallow” & “deep” learning
Recently I had a conversation with someone who had just started graduate school after taking a 3-year break following undergrad. They shared with me an important lesson: the biggest struggle in returning to school was “learning how to learn”.
There are different ways of learning, and each method offers different benefits and drawbacks.
“Shallow” learning comes in handy when it's important to learn a little something about everything. Newspaper reading on tech blogs, or following an email subscription keeps developers up to date with a broad set of new technologies.
“Deep” learning (not to be mistaken with Deep Learning technology) must also accompany shallow learning. Recommend to your developers that they dive deep into a technology that is interesting to them, or into something they would enjoy building.
Find ways to reward people and appreciate them for learning new things. If someone learned new technology, invite them to give a TED Talk or presentation. As they prepare themselves and deepen their understanding of that concept, it also provides a confidence boost. Find ways to elevate their learning and provide visibility for their investments in learning.
Communicating incentives for learning helps team members learn for the company, but also upgrades their portfolio to open doors for promotions internally or prepare them for opportunities externally.
Find quality learning resources
Any venture to address skill gaps requires good content. The ideal situation is if you can have structured content and progress tracking, without any need to set up or configure anything.
One such way can be to provide online learning resources like Educative (which we do internally), but there are new technologies like the latest versions of React, where their documentation accompanied with some interactivity creates the best solution.
The first hurdle
The early challenge with addressing skill gaps is “getting started.” Sometimes the technology can be simple, but many times there’s a lack of supporting resources to help you get started. Part of that large hurdle involves installing and configuring the environment to start practicing the technology or product.
Setup can take time, and while mentors can help in those situations, oftentimes it’s hard to have great documentation available to start the learning journey.
Help every developer thrive with personalized learning plans.
One of the first signs of successfully filling skill gaps is that your team will feel more comfortable with more challenging tasks.
In a well-rounded developer team, people are able to work on multiple ideas because they know technologies better. Filled skill gap removes boundaries or barriers on ideas due to a lack of knowledge of technology. By going across the stack, your team could build new features and more experiments with confidence. There’s less hesitation with jumping on tasks that require working with technology or skills where individuals were once weak or not comfortable.
Whenever a new engineer joins, there’s always a huge backlog of things to do. Understandably, managers want their engineers to start contributing as soon as possible. On the other hand, they also want their engineers to be properly trained. There’s a balance to strike between how much time they should spend training vs. when they should start contributing.
No matter the situation, every team should strive for structured learning processes and quality learning material. They are always more efficient ways to learn and jump through the hurdles of learning along the way.
There’s no silver bullet to creating a culture of continuous learning. Instead, it’s a constant nudging to help people see and appreciate the value of learning.