You have 1 article left to read this month before you need to register a free LeadDev.com account.
Allowing developers to learn on the job can be difficult when the pressure is on, but research proves that a strong learning culture can help developers thrive.
When you ask developers to tell you stories about the best team they’ve ever been on, or their favorite software project, you’ll likely hear diverse experiences: novel technologies, high-impact products, and wonderful coworkers.
But one thing often stands out across the many different elements of positive developer experience: the impact of a strong learning culture on developers’ overall well-being and what they remember as defining a great team.
Learning culture is when teams have productive behavioral patterns that honor and protect developers’ needs as learners. These patterns might include valuing and retrospecting on mistakes, sharing insights, and coding patterns that match the best science around how people learn. It might also include making developers’ learning an open team goal, or even an organizational goal. Being on a team with a strong learning culture has a proven long-term impact on developers’ careers.
At Pluralsight Flow’s Developer Success Lab, we study how the most innovative software teams work, learn, and thrive. We recently asked more than 1,200 developers a series of questions about how teams were performing on four key sociocognitive factors to measure what we call Developer Thriving, and found that it significantly predicts productivity. We have already explored the importance of developer agency, and motivation and self-efficacy, now we’ll explore what it means to create a strong, lasting learning culture on your software team, and how these contribute to developer thriving.
It’s important to realize that even though it’s easy to say we support learning in the workplace, we don’t always put action behind that support. A poster on the wall that says “Everyone Can Learn!” won’t build a learning culture if a software engineer who encounters unexpected friction can’t tell their manager they need extra time for upskilling. Similarly, when developers get unnecessarily discouraging reactions to relatively minor mistakes and feel like there’s no time and space to share in-draft work, they might take away the feeling that mistakes aren’t allowed.
Many of us carry around an assumption that learning culture just happens naturally for motivated people. But our research has found that many developers struggle to find a good learning culture in their careers. That’s because we often take learning culture for granted, instead of seeing it as something we need to build.
Engineering managers, in turn, might be missing a critical step they could take to support their teams. In an era of increasing time pressure and economic uncertainty, investments in learning are often the first thing we cut from our team’s calendars.
Developer learning creates productivity
One common misconception that we have about learning is that it just happens in the classroom. It’s a nice to have, not a must-have. Once you’re out of school, you’re just applying what you already know. Learning programs can be seen as incidental bonuses, to be used only when developers need to learn a new language or take an outside course.
The science of developer productivity tells us differently. Developers need to learn constantly as they innovate in new codebases, upskill in new technologies, and create products that we’ve never built before.
Developers may be strong with a single technical skill, but those technologies are rapidly changing. Complex code work requires constant drafting and iteration, which draws on learning behaviors. Developers need to learn as they encounter new approaches in each other’s work. Developers also need a culture of learning to tackle the diverse tasks of modern software organizations, such as giving strong technical support during code review, thinking about architecture, and building new skills as they transition into management and leadership roles. Learning is a core activity for any engineering organization, not just something people squeeze out of spare time and weekends.
When we asked developers to define their own personal success, many developers included learning goals. “Your job is to do the job and to learn and grow, because you’re going to have to be able to take on more challenges, and in order to grow as a leader,” one senior engineer told us. “Having time to learn makes me much more efficient later,” another said.
Our research confirms that teams with strong learning cultures are significantly more productive. We think this is because learning culture creates a long-term positive cycle for developers across an organization, including better retention, long-term career paths for junior developers, better code quality, and more creative innovation.
If you don’t protect your learning culture, you may be setting up your teams for failure. When software engineers work inside of organizations that punish iteration, demand perfection, and routinely treat collaboration and coordination behaviors as less of a technical contribution than solo code work, engineers feel profoundly discouraged. This has both a personal and a productivity cost. Research in psychology has found that organizational choices can influence people’s growth mindsets.
Raise the learning culture by making it shared and visible
We are always scanning our environments to understand whether or not we are in a safe place to learn. This means that engineering managers can play a key role in developers’ learning culture.
Software engineers told us that they feel they’re in a learning culture when their effort is celebrated, not just their output. Setting goals for pair programming or mob programming is one clear way for managers to lift learning culture. Managers can also encourage learning by noticing when developers are encountering unexpected friction, and asking questions to diagnose why the friction is happening and what can be learned from it. Making learning an out-loud conversation on engineering teams gives people the message that overcoming mistakes is normal, expected, and even celebrated.
Another way to support learning culture is to take careful stock of the language and assumptions we use about technical skills and coding ability. Research on learning culture tells us that we should avoid language that implies that our abilities are fixed, like describing people as “born coders” or saying someone “just has a brain for engineering problems.” Instead, managers should praise their team’s effort and shine a light on good learning behaviors that drive problem-solving, which can have long-term effects on developers’ motivation.
One way to reinforce learning culture is to pay attention to how learning time pays off in unexpected, cross-functional, and cross-project outcomes. Learning culture is created when people see that trying new skills unlocks shared success. Internal learning events like hackathons have been shown to increase people’s plans to pursue new goals, particularly in developing their technology skills. Leadership investments in social opportunities for learning, like supporting hackathons and discovery time initiatives, conferences, and other learning-boosting opportunities, is an important way to underline organizational commitment to learning culture.
Developers in our research defined learning as a core skill in software engineering, and it predicts developer productivity in their day-to-day work. To maintain software velocity on our teams, we need to support learning cultures for everyone, not just new hires and junior developers, and not just when it’s easy.
Senior engineers in our research shared that they often wished they had more time to provide mentorship on their teams and share their experience, and many of them worried about whether their important mentoring and teaching was actually valued by their leadership.
One way to help is by providing space in town halls and other company-wide platforms to celebrate mentorship, and by ensuring that performance evaluations include credit for learning activities.
Learning culture doesn’t just happen by magic. With some careful planning, leaders can steer their engineering organizations toward these productive and important behaviors.