Culture Eats Strategy for Breakfast: Why Psychological Safety Matters in Open Source

Culture Eats Strategy for Breakfast: Why Psychological Safety Matters in Open Source

Presented at PyCon Greece 2025 by Priya Pahwa

Date: August 29, 2025

Location: Technopolis City of Athens

Presentation Mode: Virtual

Schedule: Website Link

Watch the talk: YouTube Link

Slides: Drive Link

Blog Content: Read Here


06:33:05 Hello. Hello. Hi everyone. I am really glad to be here at PyCon Greece today and

06:33:11 present my talk. Unfortunately, I couldn’t be there in person, but really really thankful to the organizers for

06:33:18 giving me this opportunity to connect with you all virtually and share my

06:33:23 insights. A little introduction about myself. I am Priya Pahwa from India

06:33:29 who’s trying to navigate the vibrant intersection of all things code, community and collaboration.

06:33:37 Currently I work as a software engineer at a wealth tech startup. I am the

06:33:43 volunteer at the session organizing of Djangonaut Space. I’m also a co-chair of the

06:33:51 fundraising working group at the DSF. I’m also a GitHub Campus Expert and a

06:33:58 GitHub Octern. So most of the time you’d find me wearing a red hoodie organizing hackathons, workshops, field

06:34:05 days or technical talks. So this was a little something about

06:34:12 myself. Before we begin the talk, I just want you to take a moment of

06:34:19 reflection. I want you to think about a few things - about few questions to get

06:34:25 the best gist out of it. Have you ever been in a meeting,

06:34:31 in a chat and you had a question, a really simple, a really honest question,

06:34:38 but you held back from asking it. Maybe you were afraid you’d look inexperienced. Maybe you thought that

06:34:45 you’d feel out of place. Or have you ever seen someone treated unfairly? A really small comment that

06:34:53 made them feel uncomfortable even if it wasn’t intended that way?

06:34:59 Or have you seen a talented person just quietly disappear from a community? No

06:35:07 dramatic exit, just gone. despite you knew that the person actually wanted to

06:35:13 volunteer, actually wanted to help. These moments of microaggressions, these

06:35:20 moments of unconscious bias, we all are familiar with these in one way or the

06:35:27 other. And in the world of open source where our interactions are often public and permanent, the fear of these moments

06:35:34 is amplified even more. Why I’m talking about this? This is because the success

06:35:40 of an open-source project doesn’t solely rely on technical brilliance. It doesn’t solely rely on how amazing optimized the

06:35:48 code solution is. It’s built on the foundation of culture. Yes, that’s what

06:35:56 we will talk about today. Culture eats strategy for breakfast. Why

06:36:02 psychological safety matters in open source. In this we’ll explore about

06:36:10 why culture is crucial than open source. What is psychological safety? Why it

06:36:16 matters? What are the practical ways to build a psychologically safe space? how programs like Djangonaut Space or Django

06:36:24 working groups are working towards onboarding new contributors as well as

06:36:29 maintaining the old guard for sustainability and later we’ll figure out how reinforcing this can help us in

06:36:38 our daily community practices. Okay, back to the original phrase,

06:36:45 culture eats strategy for breakfast. I’m sure by now you might have your

06:36:51 breakfast, lunch or dinner. So, let’s not just restrict it towards breakfast.

06:36:57 I’d say it holds true for everything. Okay, jokes aside, it is a phrase that

06:37:05 holds a really powerful truth. Just imagine you have the most brilliant road

06:37:10 map. You have the coolest features and the best plan set for a project. All you

06:37:18 have to do is get started. But if people in our community are afraid to speak up, what happens?

06:37:25 They hold back their ideas. They don’t point out potential flaws. The best part

06:37:32 of the plan can never come to life. Strategy is just a set of actions.

06:37:40 Culture is what determines if those instructions can be executed or not. All

06:37:46 in all, if you focus only on culture, there is no direction. If you focus only

06:37:51 on strategy, there is no engagement. These two things must work together hand

06:37:57 in hand in order to make an open-source project thrive.

06:38:02 supporting this there is a phrase; there is a whole paragraph in the Django’s

06:38:10 documentation which I personally feel is a very beautiful metaphor. It states

06:38:18 open-source is a garden. It is a community tended garden and we all are

06:38:24 gardeners over here. Sometimes we are pulling the weeds,

06:38:30 sometimes we are planting the flowers, sometimes we’re nurturing growth, but every time the health of this garden

06:38:36 depends entirely on how safe we feel as gardeners. In order to ask for

06:38:45 a new tool, are we afraid? Are we afraid to admit we made a mistake?

06:38:51 In all these things, the garden suffers

06:38:56 every time. And the reason I love this metaphor is because it reminds us that

06:39:04 it’s the job of the community as a whole to manage. The software is never

06:39:10 finished. It is always growing and in order to keep the problems to a minimum,

06:39:18 we must choose to nurture what matters.

06:39:24 Now, any gardener will tell you that it’s not always easy. There are unseen challenges. There are seen challenges.

06:39:31 If no one pulls the weeds, they take over. If snails start eating the plants, progress slows down. And if soil isn’t

06:39:37 rich, plants struggle to grow. But what it means in open source,

06:39:43 if issues pile up without clear guidance, new contributors don’t even

06:39:48 know where to start. If communication slows down, people lose motivation. And

06:39:55 if environment isn’t welcoming, people just leave quietly even if they wanted

06:40:03 to help. Now, how do we prevent this? According

06:40:08 to my belief, the biggest factor in keeping a garden thriving is how safe

06:40:15 the gardener themselves feel. This is where the psychological safety and the

06:40:21 science behind it comes into practice. Amy Edmondson, who pioneered this

06:40:27 concept, notes, psychological safety isn’t about just being nice. It’s about

06:40:34 being openly admitting mistakes. It’s about

06:40:39 giving candid feedback and learning from each other. It is basically a necessity

06:40:46 at this point. It is a shared belief that we can take a personal risk, share

06:40:52 a new idea, admit an error, ask a naive question without fear of humiliation or

06:40:59 retaliation and realize at the same time that a question was never naive. It is

06:41:06 always a curiosity. Google’s massive project Aristotle studied 115 of their engineering teams

06:41:13 to figure out what made them effective. They looked at everything. Talent,

06:41:19 experience, team size, one of the most important factors. Yes, psychological

06:41:25 safety. At this point, this concept is not even just a soft concept. It is

06:41:32 measurable. For example, in open source projects, we can analyze some observable cues and keep a track of, let’s say, the

06:41:40 number of comments on a pull request. More discussion often indicates that people feel comfortable giving as well

06:41:47 as receiving feedback. But that also doesn’t mean that you just entirely spam the whole GitHub discussion or the

06:41:55 comments. Next point, whether a contributor

06:42:00 continues to participate even after a pull request is rejected shows that a

06:42:06 mistake isn’t held against them. They are comfortable in contributing back

06:42:12 again with an open mind; with a welcoming environment. The presence of

06:42:19 constructive conflict suggests that the team views disagreement as an opportunity for growth rather than just

06:42:26 a barrier in order to make the garden thrive. As we discussed,

06:42:33 this is a feeling where it is safe to say, I don’t know how to do this. Can

06:42:40 someone help me out? I think there is a better way to do this. Let’s figure it

06:42:45 out all together. It is a group level phenomena. It is the learning behavior

06:42:54 of the group that in turn affects team performance. Here two important terms

06:43:01 come into picture. Risk taking and vulnerability.

06:43:07 These two terms are at odds with what social psychologists call impression

06:43:13 management. Especially in the tech space we all are in, there is mostly that instinct that

06:43:19 my first PR should create an everlasting impact. It has to be perfect or what

06:43:25 impression would be there if I fail to debug properly in a code pairing session. What would folks think of me if

06:43:32 my PR gets closed even without being merged? What if I review a code in an

06:43:38 open-source project but my review is not fine etc etc.

06:43:45 In one of the works by Professor Brown she shares, we all use this impression

06:43:52 armour to protect ourselves but that armour is heavy and it prevents us from

06:43:58 growing. So having that interdependence within the community is important to

06:44:05 cultivate a safe space and break that barrier.

06:44:10 A most important question is here. Now how do we actually build a safe space?

06:44:17 This is where the actionable part comes. There are three key principle which

06:44:24 might sound obvious or might sound oddly specific but they they are

06:44:31 encouraging curiosity, constructive feedback and leading by example. Talking

06:44:37 about encouraging curiosity, we often state that every expert we know

06:44:45 was once a beginner. What we often do not state is a beginner is often

06:44:53 terrified to ask question. They don’t know if this question is stupid or naive

06:45:00 as said earlier or whether this is an intelligent question. Actually the

06:45:08 question is just a question. Our job is to make that feeling a superpower

06:45:15 instead of a terrific experience. Instead of saying

06:45:21 you should know this, we can say that’s a great question and

06:45:26 rewire the conversation. We must allow experimentation and failure if you want

06:45:32 to build up a speak up culture. Next comes constructive feedback.

06:45:39 Over criticism, feedback is a gift, but it’s often

06:45:45 delivered in a way that sometimes feels like an attack. A comment like, again,

06:45:52 the example we used, this is wrong. It just completely shuts people down. A

06:45:58 better way, I see what you were going for. Here’s another approach that might

06:46:03 help. It’s not about being corrective. It’s about being collaborative.

06:46:09 We must be mindful of perception versus intent when we are dealing with public

06:46:16 online discussions. The feedback might have landed wrong or

06:46:22 have perceived as a critique, but the intent wasn’t always to hurt if it is

06:46:29 given by a well-wisher. It just is perceived wrong sometimes

06:46:35 because of the cultural differences, because of the psychology that folks

06:46:40 have inbuilt. It is

06:46:46 not an attack in most of the cases. It is just a constructive feedback.

06:46:54 So how do we make ensure that it is actually a constructive feedback?

06:46:59 We can use the sandwich feedback algorithm. Start with something positive, then give an actionable

06:47:06 guidance that you actually want to give to that person and then end with the

06:47:11 positive. It’s really simple, but it works. It reinforces progress. It

06:47:19 motivates the other person as well as it gives a clear communication of what you

06:47:25 were trying to say. Next up is leading by example. This is

06:47:31 on all of us. Culture isn’t dictated from top to down. It’s demonstrated by

06:47:39 every single one of us every single day. When a maintainer or an experienced

06:47:45 contributor openly admits they don’t know something, it gives everyone else

06:47:51 permission to be vulnerable. When we highlight a small contribution,

06:47:56 maybe just a type of fix, a little documentation update, we are showing

06:48:02 everyone that all work matters. This is about building a culture where we

06:48:09 highlight competencies and dismantle perceptions of hierarchy. All in all,

06:48:17 no one is expected to have all the answers in this whole universe, right?

06:48:23 In fact, mentors themselves learn alongside mentees. This destigmatizes

06:48:29 not knowing something. It normalizes admitting gaps in knowledge and it encourages a culture where asking

06:48:36 questions is seen as a strength, not a weakness.

06:48:42 If maintainers openly say, “I haven’t figured this part out yet. Let’s

06:48:47 experiment it together.” That together is really beneficial for a beginner in

06:48:55 order to make them feel comfortable and psychologically safe in the environment.

06:49:02 Another factor is creating Slack threads or GitHub discussions titled things we

06:49:08 are still figuring out. This encourages a collective learning process.

06:49:14 At this point you might be wondering does this really make a difference? Does the culture of psychological safety

06:49:22 really matters at this point? Yes. The answer is

06:49:27 resounding yes. Communities that prioritizes psychological safety retain

06:49:33 contributors longer. It attracts diverse talent and creates a welcoming

06:49:38 atmosphere. In the world of Django, I have seen this work in action most

06:49:45 notably through Djangonaut Space. If you’re wondering what this program is all

06:49:51 about, let me brief you about it. It is an 8 week group mentorship program where

06:49:58 the folks passionate about Django or the third party packages start out with the

06:50:05 technology, continue working on the technology, looking to deepen their knowledge within the framework and

06:50:11 empowers the contributors with an accessible inclusive and structured

06:50:16 path. Being a Djangonaut myself in session one and now having had the

06:50:22 opportunity to be an organizer for session three and four and also the

06:50:28 upcoming session five. I can say this by my heart that beyond just onboarding

06:50:35 contributors it creates a psychological safe space in

06:50:41 action. It fuels long-term sustainability in community. It creates the leadership

06:50:48 positions that might potentially come up. The program structure of how this

06:50:55 culture is built. There are three major roles. Djangonauts, navigators and

06:51:02 captains. Djangonauts are the again surprise surprise

06:51:09 Django passionate contributors who want to contribute to the ecosystem and

06:51:14 improve the framework through code or community involvement. Navigators are

06:51:20 the technical folks who help the mentees or the Djangonauts with their technical

06:51:27 expertise within the framework while captains focus on community well-being

06:51:33 ensuring a positive experience and there is the balance between both the aspects.

06:51:40 The program goals are to increase sustainability and regular contributions as discussed, provide an actively

06:51:49 accessible and inclusive space. What is this? We’ll talk about it. And improve

06:51:55 the development and empower everybody in the progress. How do we achieve our goals? We have

06:52:03 weekly check-ins where people share their progress and their blockers. This isn’t about just being judged. It’s

06:52:10 about being supported together. Connection is cultivated by recognizing

06:52:16 that behind every line of code is a real person learning, evolving and striving.

06:52:23 This understanding brings a sense of humanity to our work and builds a community on empathy. Yes, connection

06:52:32 and accountability. Now the sponsorship aspect; we organize

06:52:39 talks, encourage folks to get involved with Django newsletter. There are grants, there are blog post, or simply sometimes,

06:52:47 there is an encouragement with a little nudge that hey this topic you are discussing is really insightful. You

06:52:53 should submit this as a talk for the upcoming conference. And trust me this

06:52:58 has helped me to learn and grow when I was a Djangonaut. In fact, today as well,

06:53:04 I’m learning every day something new in that community.

06:53:10 Sometimes there’s like I’m hanging around in the discord for some open-source work, hop in for a co-working session. Such little

06:53:18 initiatives help to share the right resources and right leadership within the community.

06:53:25 Another value we hold really dear is inclusivity.

06:53:31 We don’t just make the space and wait. We make the space and invite people in.

06:53:39 This active invitation is far more powerful than passive inclusion. And why

06:53:46 I am highlighting this? Because when we reach out directly with opportunities

06:53:51 that align with their skills and passions, the motivation to contribution

06:53:56 follows naturally. Naturally. Now where this active and passive

06:54:02 inclusion must be put into practice that depends on the community and who we are

06:54:08 targeting. There are some notes from the session organizers’ orbit that I have

06:54:15 listed down in my blog post. I got to learn a lot honestly

06:54:21 within this program. Why consent matter? When consent matter because when we are

06:54:27 talking about the open-source world where discussions are you know visible to

06:54:33 everybody and dealing in the digitally forced space

06:54:38 we must take consent everywhere follow the code of conduct.

06:54:45 So to create that safety because it starts with us, it isn’t always dictated

06:54:53 from top to bottom. It’s the people who make up the community. It’s built

06:54:59 through shared responsibilities and shared beliefs. And this is where the balance between

06:55:07 autonomy for individuals and teams come into picture with ensuring collective

06:55:13 goals remain clear at the same time. That’s how I would like to jump into the

06:55:22 role of Django working group because again empowering

06:55:29 folks as well as focusing on the clear goals. The Django Software Foundation delegates

06:55:36 certain powers to working groups which can then act as a behalf of the DSF

06:55:42 without board approvals on very specific items. Some of the working groups

06:55:47 include social media. They take care of Django’s official profiles and amplify important announcements from the

06:55:53 community. There is fundraising working group focusing on the corporate and major donations to keep Django

06:55:59 financially sustainable. There is website working group. There is code of conduct working group. All in all, they

06:56:06 ensure that it remains a welcoming space to maintain the old guard as well as

06:56:14 onboard the new contributors within the ecosystem. If you’re interested in helping out,

06:56:21 that’s great. Each working group has a charter available on the GitHub’s

06:56:26 Django repository, DSF working group, where you’ll find details on how to join. If you have a new idea for a

06:56:33 working group that is even better. The process for proposing is also outlined over there. There are plenty of

06:56:39 opportunities in the community. Now let’s

06:56:45 talk about how the importance of psychological safety and practical

06:56:52 examples can be reinforced in every community beyond just good intentions.

06:56:59 There there is a concept called recurring cohesion where groups of

06:57:05 developers who have collaborated previously work together again as per deeper trust. The initial step is to

06:57:12 break that golden rule you know of treat others how you want to be treated.

06:57:17 Instead practice treating others how they want to be treated because the

06:57:23 open-source community is huge. People are belonging to different cultures,

06:57:31 different backgrounds. So what frequency of check-ins work for them? What

06:57:38 communication style makes them feel included? This intentional shift has a great

06:57:45 impact on the community culture. No contribution is too small. Yes, the

06:57:52 conferences, the sprints, the communities, the celebrations are so

06:57:58 vital because these global gatherings reinforce our shared passion and a sense of community. I’m really grateful to the

06:58:07 PyCon Greece and the organizers for holding such an amazing confidence. The

06:58:14 Django 20th birthday celebrations happening all across the globe are an excellent example of this as well. Tools

06:58:21 like Django newsletter intentionally reinforcing our culture is a shout out.

06:58:26 A public celebration of wins, a thank you every time we see a first time PR or a documentation fix. We are reinforcing

06:58:34 the culture with all these things. We are saying effort of every individual

06:58:40 matters. We are celebrating it together. Yet at the same time, we should realize

06:58:46 that psychological safety isn’t a switch you flip or a policy you enforce. It is

06:58:53 the result of a community that actively chooses to support, include, and uplift

06:58:59 each other every single day. And it should follow organically. It should

06:59:05 take the course naturally rather than forcing it. Sometimes we have to

06:59:12 reinforce stuff but make sure how and

06:59:17 where to apply the same. So what’s our job now?

06:59:23 The real measure isn’t the quality of the code base, right? It’s the quality

06:59:29 of the culture we cultivate together. The choice that the community as a whole

06:59:36 makes every day. The next time we contribute to Django or Python or any

06:59:43 open-source project, let’s ask ourselves this. Am I making this space safe for

06:59:50 someone else? Am I lifting others up the way I wished I was lifted up? Am I

06:59:57 creating a psychologically safe space? Am I focusing on culture or just the

07:00:03 strategy? Am I focusing on just the strategy or the culture? This just

07:00:08 doesn’t happen. It’s the choice we make. And when we get it right, we don’t just

07:00:14 build better software, we build a better, more inclusive future and the

07:00:20 sustainability of that software. Thank you so much for listening to me about

07:00:27 this talk. I’ll be there on Discord. If you have any questions,

07:00:32 reach out to me. We’ll see you next time. Hope you have an amazing

07:00:38 conference. Bye-bye.


Watch the talk: YouTube Live

Blog Content: Read Here