Building a Culture of Learning in Development Teams

Gareth Wilson
Glitch: Make Better Software
6 min readOct 15, 2015

Joe Mastey is a developer who previously led internal learning at Enova where he built out their internal learning program. In this interview, we hear what worked, what didn’t and how you too can kick-off an internal learning program for your development team.

Read more interviews with some of the world’s best developers on our blog or follow us on Twitter.

What’s Wrong with Learning On-The-Job?

“People pick up these terrible patterns and so they internalize the wrong thing instead of learning the right thing”

In a lot of companies, people just learn on the job. But Mastey says that “when people try to learn on the job, they really only learn a narrow subset of all the things that they need to about a technology. What that leaves is a big gap in their skills where maybe they know a lot about one particular section of the platform, but then they miss entire other sections. That ends up being a hindrance.” What’s more, people can pick up bad habits and practices from learning this way too. After all, not all of the code in our codebases is good, but people see that code and “pick up these terrible patterns and so they internalize the wrong thing instead of learning the right thing,” says Mastey.

Benefits of a Learning Culture

“We can attract really great engineers. And we can also retain really great engineers too”

The answer to this problem is to establish a learning culture. “The thing that interested me the most was that by creating a culture of learning, we actually increase retention, not only of the younger people but also of the more experienced engineers,” says Mastey. “There’s this thing where when you’re at a technology company for maybe a couple years, right at the beginning you’re learning new things. It’s very exciting, you get a new platform… but, a couple of years in, and you are basically done learning parts of it. You feel like you slow down in that learning. This is the part where a lot of people end up dropping off. By building a culture that continually moves forward and rewards that kind of learning, we can attract really great engineers. And we can also retain really great engineers too.”

Another benefit of a learning culture is that “it actually reduces waste,” says Mastey. “One of the things that we’ve seen a lot of is if you aren’t really great with your tools, you’re not leveraging them completely. Because of that, you’re spending more time than you need to. One of the things that’s maybe counter-intuitive is that by spending this extra time, we actually end up saving time in the long run.”

And anyone who is interested in establishing a learning program can do so. “I have no teaching background whatsoever,” confesses Mastey, but “one of the things that I always tell people is that when you’re trying to build this part of your culture, you don’t need to have a teaching degree. You don’t need that expertise. Really, if you’re interested, you can figure it out.”

Phases in Establishing a Learning Culture

“People just don’t even remember that it was ever something that they didn’t do”

So there are three key stages that Mastey outlines to create a learning culture. “The first phase is really building up credibility. In that phase, we are trying to just find these quick wins and things to help people prove to themselves that what we were doing is going to be valuable and going to provide value to the business”.

You can progress to the second stage once you’ve built credibility and people are starting to understand the positive value a focus on learning can have. Mastey says that “in the second phase we can start to expand outside of the couple of people and some of those quick wins. We can start to invest time and things that take a little bit longer and now we’re involving entire teams of people. We’re trying to build links between teams. We can actually invest a little bit more money because people have started to understand what we’re going to get back for that money.”

Then by the third stage, it’s “essentially making that a permanent part of the culture… you can make it a part of people’s job”. By this stage people “just don’t even remember that it was ever something that they didn’t do. At that part, you have the ability to make really big changes that are incredibly helpful to the company but really need to have everybody on board,” explains Mastey.

Activities to Try

“Have a brown bag lunch. Have a book club. Do code review”

To get started “you really want to focus opportunistically on places where you can have a lot of impact for only a little bit of effort,” says Mastey. “Don’t try upfront to change the world right out of the gate, because you don’t have enough buy-in for that yet.” You should also bear in mind that it’s an iterative process, cautions Mastey. “A lot of things don’t work. That’s okay. Like that’s part of the process… we don’t know upfront what’s going to work… so try a thousand things and monitor how they’re working, but don’t be afraid to throw them out.”

“Some of the really easy stuff” to start with, suggests Mastey, “is have a brown bag lunch. Have a book club. Do code review. Literally, you can have two people on different teams, just have those two people do code review between each other. Already, you’re starting to create the links within the organization that is going to support those changes later on”.

Another suggestion is to “post in your company’s chat program that you want to go to a meet-up and see if some other people will come with you,” says Mastey. You want to think of “things where you only need a couple of people to buy-in. It doesn’t really cost you anything, but you can come back and say, ‘Okay. I now know about this new JavaScript framework. I now know about this tweak that I didn’t understand before’”.

Then once it’s working, you can think of things that require a little more time investment. “Cross training is one of the big ones that I love,” says Mastey. For example, “your UI people should understand the database. Your database people should understand how testing works” and through cross-training you can encourage this learning and reduce your bus factor.

Something that worked well for Mastey were weekly tech talks. “In the first company that I did this at, we had an hour long tech talk program, where it was four slots every single week. Every week, we got four new ideas into the organization”. Of course, “that does take time, and it does take preparation, but when you can start to do that, the effect on the organization is really obvious and it’s really good”.

Next Steps? Just go do it!

There is a lot that you can read on the subject. Mastey recommends Dave Hoover’s Apprenticeship Patterns book in particular, but warns to “not get stuck on reading and learning everything beforehand, because everyone else’s organization is really different than yours. Whatever you learn you’re going to have to take with a grain of salt anyway. The best thing to do is really just get in and start getting feedback from your own organization and from your own stakeholders. Don’t think that you’re going to perfect it by reading.”

Read more interviews with some of the world’s best developers on our blog or follow us on Twitter.

--

--