Perspectives in Leadership: Designing software development culture with Dr. Cat Hicks
January 11, 2023
Dr. Cat Hicks, VP of Research Insights for Pluralsight Flow, knows the importance of building a sustainable developer culture. On the most recent episode of Perspectives in Leadership, she joins us to discuss her presentation on creating a healthy software development culture, “It’s like coding in the dark.”
We share some of her biggest takeaways from studying the human learning experience. Be sure to give the full episode a listen:
Why software development culture matters
In a climate where new talent feels impossible to find, it’s important that your developer team is set up to grow as a unit, and as individuals, while being honest with each other.
Cat has spent her career working to understand the human element of productivity, and that shines through in this recent podcast episode. As she’s discovered, building a healthy software development culture hinges on factors like proper documentation, psychological safety, and creating communication channels where ideas are welcome.
Why ongoing software developer learning is important
We’re always scanning our learning environment, and that environment conveys messages—both positive and negative. Cat explains that it’s important to understand what negative messages cause people to hide their learning, and where we can add positive messages to create good loops of software developer behaviors.
Software developer learning paths through the POV of a junior software engineer
Start by imagining you’re a junior software engineer who has just joined a new team. You’re super excited. You’re about to start working in an unfamiliar code base. You have a bit of support, and you meet with the senior engineers who wrote the code. You show up to the meeting excited, and maybe you even bring a few ideas with you. But as the meeting goes on, you notice strong negative facial expressions from one of the senior engineers. When you mention pair programming, somebody even says, “Hey, we think that’s a waste of time. Just get into it.”
As a junior engineer, you go back into the code, and as you work, things get more complicated. Your plan for addressing it falls apart. You start thinking things like “Am I moving fast enough? Is this right?”
As a junior engineer, your behavior will be impacted by this experience. You may think sharing ideas isn’t what real engineers do, so you keep all of your documentation and suggestions to yourself. It’s experiences like these that prevent organizations from establishing a strong software development culture and building team morale.
Building strong software developer learning paths to prevent learning debt
Learning debt is an analogy to tech debt, and it’s something we’ve all experienced in one way or another. Cat explains, “Learning debt is a cumulative cycle of damage in which developers know they need to do this learning in order to effectively do their jobs, but they feel like that learning is discouraged. They're not supposed to share it; they're supposed to get through it fast. There's not enough time for it.” Over time, this lack of emphasis on learning adds up just like tech debt does.
Cat performed a learning debt study by interviewing and shadowing 25 different developers as they performed debugging tasks. There were two major takeaways from the study. “There’s a key activity that developers go through, which I call active learning," Cat says. "Active learning is something we know about from learning science. It is that problem-based, getting-in-there type of experience. Then, there’s the element of ‘you can’t know what you don’t know.’”
It’s tempting to think you have to know everything before you get started. However, Cat notes that many effective programmers and developers enjoy the detective work of active learning. This active learning stage matters to developers and whether or not they feel happy at work.
What causes learning debt?
One of the biggest environmental factors that can lead to learning debt is an emphasis on output and performance. Cat explains, “It’s tempting to think measurement is all the same. However, measuring very different parts of this experience can really create a different culture.”
For example, if you ask teams how much time they’ve had to reflect and share, you might find that people only have a small amount of time to perform developmental work that you think is really important. Cat recommends measuring what matters, celebrating when people are learning, and making it visible. Provide a safe space for developmental learning and reward that learning behavior.
Using social science to shape software development culture
Perhaps more than any other aspect of tech, learning is essential for developers. The people who become team leads, directors, and executives were all developers in their past lives. They also had to do a lot of learning. And based on research such as Pluralsight’s 2022 State of Upskilling report, we know that 94% of people are more likely to stay if you give them opportunities to learn while on the job.
But establishing a learning culture isn’t easy for organizations. “As a developer, you might think 'I don’t have time for this. This is too hard. You’re asking me to care about culture. I don’t know how to do that,'” expands Cat. “I want to share with you how I think about this as a social scientist: Human beings are creating culture all the time. It’s not your job to create culture from scratch.”
Instead, Cat recommends noticing what kind of software development culture is being created by your teams. Realize that sometimes people draw on strategies that aren't good for long-term outcomes—they’re only protecting short-term success.
Include developers in conversations about success
Cat’s research has shown that developers need to feel involved in the definitions of success for their team. “It almost doesn't matter what the success definitions are. What does matter is that people feel agency. They have been brought into the conversation,” she explains.
This factor is incredibly predictive. If developers feel like they’re part of the conversation about success, they’ll show up and make things work. For leaders of organizations, the takeaway here is that learning goals should be represented in OKRs and output expectations. Otherwise, people feel like their efforts aren’t seen.
From there, give people opportunities to do what they’re good at. Create software development learning paths and find ways to connect those efforts to greater value within the organization. People want to understand how their work is connected to the bigger picture.
Quick-start tips for growing your software development culture
For engineering managers (or anyone looking to implement a learning culture), there are two steps you can take to get started. First, Cat recommends asking your team what parts of the learning process you should measure. Then, put learning time on the department calendar, so learning feels safe and protected.
5 keys to successful organizational design
How do you create an organization that is nimble, flexible and takes a fresh view of team structure? These are the keys to creating and maintaining a successful business that will last the test of time.Read more
8 ways to stand out in your stand-up meetings
Whether you call them stand-ups, scrums, or morning circles, here's some secrets to standing out and helping everyone get the most out of them.Read more
Technology in 2025: Prepare your workforce
The key to surviving this new industrial revolution is leading it. That requires two key elements of agile businesses: awareness of disruptive technology and a plan to develop talent that can make the most of it.Read more