Yes, you read that right. It’s about people. Not the technology stack, not the code. People. Let me explain.
I was primarily a .Net developer for the first 6 years of my career. Javascript was just a thing I would use to add small bits of interactivity to a static web page. I knew way more about the ASP.NET Page Life Cycle than I did the DOM and browser events.
In 2013, I took a job with a startup where Javascript became a much bigger part of my development process. We settled on using the Ember.js Javascript framework for the app we were building. Ember was on v1.4 and was changing at such a rapid pace that a blog post or Stack Overflow answer from 3 months earlier had a good chance of being out-of-date.
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 was determined to get some help. As I started the meetup back up again, I remember feeling that having a technology focused meetup seemed kind of weird. Turns out it was far from weird. As I became more involved, I discovered there was a vibrant community that centered around a Javascript framework. So I scheduled an event and promoted it in the local community and on Twitter. We ended up with 14 people at that first meeting, all of whom were using Ember to varying degrees.
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.
It was an amazing conference in every way. There were a ton of great technical talks including automagically feeding your cat using Node, modifying the game world of NES games in real-time via the web, and fighting Ebola with Javascript. But ultimately I’d say the theme of the conference wasn’t Javascript. Again, it was people.
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.