Yes, you read that right. It’s about people. Not the technology stack, not the code. People. Let me explain.
So I began researching if other people in Atlanta were using Ember for projects. It turned out there was an Atlanta Ember meetup that had met a couple of times and then stalled out. I contacted the listed organizer to ask if there were any future meetups planned, and his response was to make me the group organizer!
I then talked with other organizers who gave me some great tips on how to run a meetup. I talked with more Ember developers who helped me work through some of the growing pains. Everyone offered support in any way they could, giving no reason why we shouldn’t continue growing the meetup and learning Ember. A little over a year later, we’ve held 14 meetups and several special events.
This was an absolute revelation for me. I learned the value of having a supportive, positive community around me. I learned the value of community-derived, shared solutions to common problems. I learned that development is the most satisfying when it is a group activity.
I experienced a similar sentiment when I was the only full-time developer at my previous job. Both of the founders developed when they had time, but most of the dev work was left to me. When I started the job, I naively thought that this would be awesome—I would have complete control over the code and could write the app the way I thought it should be written. I quickly figured out that a majority of one is not a majority at all.
I craved feedback and input. I looked forward to our weekly feature design sessions but not to the actual implementation of the feature. My development feedback loop was null — there were no peer reviews and no pair programming. Just me and Google. I was so intrigued by the idea of having full control of the code, I didn’t fully grasp all the implications of being the sole developer in a practical sense.
This ultimately led to a pretty dark period professionally that I attribute to not having a larger development team or community to be in the trenches with together. A friend pointed me to this post by August Mueller about what he called The Wilderness, which I found super helpful.
I grew up a lot as a developer during this time, mostly because I realized that development was at its best when it was a group activity. Emerging from that dark period made me more aware of the importance of community and how important it is to our success.
OK, one final example from when I attended JSConf Last Call with my current team, Pardot.
My favorite talks were the ones that focused on how JSConf had affected the speaker’s life in positive ways. Charlie Robbins gave a great talk on how JSConf changed his life. Jed Schmidt gave a fantastic talk on the building of the BoroJS community in New York. Remy Sharp gave a very personal talk on the dark side of OSS.
Through it all there was one central theme:
Software is about people. When it stops being about people, it’s over.
As humans we all go through the ups and downs of life. When we’re in the valleys, it is vital we have help and support from our friends and family, and when we’re on the mountain tops, it’s just as vital for us to support our friends and family who aren’t doing as well.
The same applies to us as developers.
Fortunately, I’m in a situation now where feedback and teamwork is central to the culture, and it really illustrates how much they care about us as people. Throughout my journey, I’ve learned that building amazing software is as much about those you’re building it with as the product itself. And, that’s just as it ought to be.