What a great team feels like

A good friend and valued colleague N left our team last week. He started soon after me and completely changed the dynamic within the team; we’re reaching the end of the project and all soon to be going our separate ways anyway, but the impact he made will stay with me for a long time.
 
One of the best things about our team was the differences in outlook, personality and approach we each brought to the table. We had developers working from Slovenia, Portugal, Spain, and remotely in the UK as well as co-located in the office, and forged strong working relationships in this distributed group; everyone with different strengths and backgrounds, but all sharing a passionate belief in doing things well and making the team better.
 
I’ve been a web developer for 20 years this year. I’ve worked on my own for a lot of that time, and similarly since moving to Ruby and Rails in 2013. One of the things that attracted me to Ruby in the first place was the community and the sense of diversity and acceptance that runs through it. “Keep Ruby Weird” is still alive, I think. And there’s something different and special about developers that choose to work with Ruby and Rails; every language and framework exists for a reason and those reasons resonate with us on a deep personal level. That’s why I think distinctive communities form around them.
 
Previously, even though I’ve been working in agile teams for the last 13 years, I’ve really been working alone in my own silo most of the time. This project was my first time working fully as part of a modern Rails team, to collaborate with other developers using Github, to learn to test all the time, to be pushed out of my comfort zone and learn how to do things better. 
 
I hoped this would be the case before I started, and it has. But what I didn’t expect – and what has been by far the most important part of the experience here – was this supportive culture that unfolded from N’s first day; that of helping each other, of every problem being a problem shared. The atmosphere before I joined was pretty toxic. Nobody spoke, nobody shared anything. There was just the sound of one of the senior developers sniggering as he reviewed PRs with acid little comments. 
 
And then N came along… “Share your screen with me”
 
How often we heard those words from him when one of us was stuck, and it always meant things were about to get better. Whether or not the problem got fixed in the end, we’d explore it and learn more about the codebase and the problem together. People who weren’t so good at testing would learn how tests can help us explore what’s going on, illuminating the problem and leading us to the answer. 
 
Everything changed the day N joined, and I think we’ve built a better team largely because of him. This isn’t a great team yet. But it could be and thanks to him and the other excellent developers who have since joined, we had a real glimpse of what one looks like.