5. The Soft Side of Software
How to Create a Great Team Culture (and
Why It Matters)
Kate Matsudaira
6. Strategies
1. See the Role You Play in Team Culture
2. Creating Connections
3. How to Create Cultural Touchpoints Around Your Values
4. The Basics
7. See the Role You Play in Team Culture
Leaders lead by example.
Because when people aren’t sure what’s acceptable, they look to their leaders for guidance.
11. How to Create Cultural Touchpoints Around
Your Values
Institute processes that make values a simple part of daily life.
If your value is “We learn from each other”, set up brown bags to share lessons learned. Encourage
questions in team chat. Find what makes sense for your team.
12. How to Create Cultural Touchpoints Around
Your Values
13. How to Create Cultural Touchpoints Around
Your Values
14. How to Create Cultural Touchpoints Around
Your Values
15. The Basics
● Pay more.
● Support professional development.
● Allow flexible work from home schedules.
● Be good to each other.
16. Recap
● See the Role You Play in Team Culture
● Creating Connections
● How to Create Cultural Touchpoints Around Your Values
● The Basics
Notas del editor
Hi everyone,
My name is Roger and I’ll be talking about building (in my opinion) a great team culture.
A little about myself, that me and my partner Christine and her two dogs, Momo and Daisy. I wasn’t used to dog kisses so there’s my face…
You can find me on twitter @lamroger. Feel free to message me through LinkedIn or the meetup Slack channel. I’ll post the slides in Slack too.
I started my career doing Infrastructure / DevOps-y work at startups in the California Bay Area. When Christine started her PhD in Cellular and Molecular Medicine at Johns Hopkins, I quit my job and moved out here and I’ve been working at a company called Nava for about a year and a half.
A quick note - at Nava, we work towards improving government digital services. I’m on a team that’s building a Node API with the Center for Medicare and Medicaid services to help reimburse healthcare providers more for providing better care, moving from fee-for-service to more value-based care.
I also want to give a bit more background on myself to give some perspective on my level of experience. I’ve been working as a software engineer for about 5 years. I haven’t led a team or been a manager. I’ve seen some good and probably more bad but hope this serves as a baseline of where my opinions are coming from.
I’ve been thinking a lot about our team’s culture recently. By culture, I don’t mean nerf guns and pool tables. Although, I do enjoy both. I mean the way we treat each other, the way we communicate with one another, how we work together day in and day out - how we come together to be something greater than the sum of our parts.
I’ve been thinking about this a lot because while our team works well together, our renewed contract is downsizing our number of engineers from 8 to 6 and a new delivery manager is swapping with our current member. What will this mean for our team? What makes our team well-performing? People? Process? Both?
Coincidentally, one of my favorite columns, “The Soft Side of Software”, by Kate Matsudaira published an article on this. Kate has worked at large orgs with >1000 people and small startups with 2 people. Now she's a Director of Engineering at Google. I'll be referencing that article along with examples from my experience largely at Nava.
I’ll be focusing on three of her strategies and cover some basic ideas of my own.
Leaders lead by example because when people aren’t sure what’s acceptable, they look to their leaders for guidance.
If you leave for work before your child is awake and come home after they’re asleep, what expectation do you set for your team?
Be human. Take your PTO. Work from home every so often. Don’t send emails or update JIRA tickets outside core hours. Life happens; take care of yourself and your loved ones so your team can too.
Create opportunities where people can connect, build trust, and collaborate.
One example for us is we run an one hour retrospective at the end of every sprint. We use this opportunity to come together and share our thoughts and feelings. I really enjoy our format and want to share it.
Our team is distributed so we all join a Google Meet and collaborate on a Google Doc. We keep a running doc with a rotation on who runs the retros. The person leading facilitates and is the scribe.
We spend 5-10 mins writing down what went well and what could be better. Once it slows down, we each bold one what went well and one what could be better to talk about. Then, we rotate reading each of the bolded, alternating between what went well and what could be better. The person reading gives their take on the statement and then the person who wrote it talks a little more about it. Anyone else can talk about it too and once it slows down we move on to the next bolded statement.
This give us a chance to praise good work, share frustrations, and generally talk about some of the things on all our minds.
Another example of building community is an activity we do every Monday called Rose, Thorn, Bud. We each go around saying something that went well (rose), something challenging or annoying (thorn), and something that we’re looking forward to (bud). Generally, we keep this more about life than work. It gives us a chance to share how we’re doing and learn a little about each other outside of work.
Build elements that support the values of the team.
Kate recommends instituting processes that make values a simple part of daily life. For example, if your value is “We learn from each other”, set up brown bags to share lessons learned. Encourage questions in team chat. Find what makes sense for your team.
That’s cool. We do something a little different.
That’s a :mips_hug:, an emoji that we dubbed our mascot.
Although we don’t explicitly say it, I’d say one of our team values is “We support each other”. If you’re feeling sick and take a sick day, we hope you rest and give you a :mips_hug:.
If you are thankful for someone helping you reset your AWS password, give a :mips_hug:.
We also organically started having variations.
If another team broke an integration that you had to fix, :mips_fire_hug:.
We’ve had a couple babies arrive on our team, :mips_baby_hug:.
We’ve done a bake off, :chef_mips_hug:.
My favorite, :mips_avocado_hug:.
My favorite, the :mips_avocado_hug:.
The fact that it was organic and driven by the team made it more real. It allowed us to celebrate and remember milestones, share frustration, and just have fun. If you see culture emerging on your team, encourage it - pay for stickers. Make one of your own mips_hug.
Although most of the original team members have moved on to other parts of the company, the team’s ethos lives strong.
Last thing I want to cover are some basics (imo) that will help build a stronger team.
Pay more. You want your team to scale up and become better. You should also pay them accordingly. Show that you value them - by valuing them.
Support professional development. Some places have budgets which is nice. A better way to support professional development is to listen to your team individually and hear what their goals are and help carve that path for them. Find opportunities. Make opportunities.
Allow flexible work from home schedules. Again, people have many responsibilities in life and we should support each other. Trust that your team will get their work done.
Be good to each other.
A recap.
Lead by example because the team looks to you.
Create connections to build a stronger, more cohesive team. Try rose, thorn, bud.
Find your cultural rituals or :mips_hug: to reinforce your values.
Don’t forget the basics. Pay more, be good.
Thanks for listening and hope this helps you build a stronger team culture.