As we’ve established in the previous article, to do the best work of your life you want to be part of a great team. But what do you do if the team you’re currently on is not that great?
My own story
This question had become very relevant to me a few years ago when one of the best teams I had been part of slowly stopped being great. I attribute the majority of my progression as a software craftsman to the environment fostered by that team: an environment full of trust, growth and accomplishment. An environment safe enough to make mistakes and learn from them without blame. An environment of friendship and humbleness. By now you can probably imagine what it felt like to see that sort of environment deteriorate.
Since then I have often wondered about what might have caused it. Over time I considered different explanations, but these days I have pretty much settled on one. I believe that our team formed around a great leader, whose kindness, honesty and perseverance over time created that wonderful environment for us. The team benefitted a great deal from it. But after our leader left we failed to keep the environment alive.
As the environment deteriorated, the team began to shrink. Seing so many of my peers heading out on their own adventures made me consider my options. I knew I wanted to work on a great team again, but how could I get back into such an environment?
Considering the options
My first idea was that maybe I should just be working all by myself, but I knew that there were too many things I could not and would never be able to do. No, I decided, working all by myself I could never do the best work of my life, so I gave up on that idea.
My second idea was to start my own company and only hire the best people I knew. It didn’t take long for me to see that this wasn’t a solution either: building a company is a lot of work and it would pretty much prevent me from doing any programming at all for a long time. That wasn’t what I wanted to do, so this idea got canned too.
My third idea was to find another great team and join it. This idea appeared promising enough for me to actually try it. For a while the new team was great, but that stopped being the case when management decided to restructure the team. Since this could happen again in any team, this wasn’t a solution either.
Only then did I understand that I needed to stop running away from the team’s problems and learn to solve them instead.
Contemplating the problems that the team faced, it became evident that I couldn’t solve any of them on my own. Those problems were complex, had no obvious solution and therefore required lots of experimentation. However, I soon realized that I didn’t have to solve any of the problems on my own— I had allies!
The entire team shared the desire to work in a wonderful environment! So why shouldn’t we learn to solve our own problems and create that environment together?
Together we brought a diverse set of skills to the project and the company provided the stability we needed to keep experimenting.
What’s more, realizing that even tiny steps into the right direction would help us, I felt that we could build the necessary skills as we went and then refine them over time.
Furthermore, acknowledging that we already had everything we needed, we could get started right ahead. We didn’t need to waste any time waiting for things outside of our control.
And most importantly, really the best part of it all, is that once we created that wonderful environment together, each of us would be able to bring our new knowledge to other teams, to pass it on and thereby enable even more people to do the best work of their lifes!
Why didn’t I have that insight earlier? Perhaps because I used to think that creating a great team was the manager’s responsibility for too long. Nevertheless, from then on I knew that a great team is everyone’s responsibility.
Armed with that insight, I set out to help my team and together we started our journey of creating the environment we desired. Looking back on that journey now, I’d like to claim that we were quite successful.