What is the coolest thing a team of engineers can build together?
Better engineers.

In two previousposts, I talked about all of the ways that you as an engineer can take personal responsibility for your growth and development. I went through a range of suggestions, things like textbooks, MOOCs, study groups, and pair programming. In this post, I’ll expand a bit on those suggestions, focusing on how we use these techniques as a technology organization.

Software engineering is a team sport, and these strategies are a part of any great team’s playbook.

Why communities?

You can read a textbook or do a massively open online course (MOOC) on your own. Why are these activities different when you do them as a team?

You hold each other accountable. You don’t let your teammates down when it comes to work, so you’re not likely to let them down when it comes to a study group. This can make a huge difference in your odds of finishing a MOOC. Without this sort of social reinforcement, your chances of finishing a MOOC can be quite low.

You learn from each other. This is why pair programming is so useful. MOOC try to replicate this experience with forums, but they’re nowhere near as useful as being able to ask your teammate, “Why can’t I write the code this way?” A MOOC or a book challenging enough to be worth your time is going to have pinch points that are hard to get past. When you hit one of those points in the course, having other people to get you over the hump is often the difference between mastery and defeat.

You become a better team. Study groups can often bring together team members who don’t work together all day. Even when study group members and team members are the exact same group of people, the dynamic can change. People who might not be vocal about how to address a production issue might have meaningful insights about how to implement asynchronous processing. A change of context can give people a different perspective on each other and their abilities.

Why study on the clock?

Clearly there are benefits to you as an individual engineer from spending more time on skill development, but why should your employer get on board? Study groups benefit companies too, whether those companies are giants in the Fortune 500 or hip startups in the Crain’s Best Places to Work. What does the company get out of a study group?

A learning culture attracts and keeps the right people. Awesome engineers want to work at a place where they can learn and grow. If they didn’t value those things, they wouldn’t have gotten awesome in the first place. This can be way more of a hiring advantage than you might imagine. I’ve met all sorts of smart engineers in New York, Hong Kong, and San Francisco who were stuck at jobs that paid well but didn’t allow them to grow. Offer them an opportunity to become the engineer they want to be, and they’ll often jump at the chance. Conversely, if you don’t consider your team members’ desire to attain mastery of their profession, then you’re likely to lose them to a company that will.

Study groups demonstrate your values. Lots of companies put up bold statements about their culture and values. We do at Intent Media. But it’s not enough to simply state that you care about your people and their growth. By explicitly carving out time and resources for studying, a company can put their money where their mouth is. If you’re going to say, as my team does, that we are all teachers and students, then you must invest in time for team learning if people are going to believe that you value that principle. Beyond the points about hiring and retention above, this can have a big impact on effectiveness. Presumably you value open, honest feedback because you think it will make your more effective as a business. Study groups can offer a safe place to practice having those conversations and learn how to respectfully discuss mistakes and differences in opinion.

Should I really do this?

If the idea of work-based study groups is new to you, then you may still have a few questions. Here are some other possible concerns:

We’re too busy. We’re all busy, but are you really too busy? Some of the best learning communities I’ve ever encountered have been desperately struggling startups who really needed nothing more than an another customer, product, etc. There’s always a way to carve out time for learning.

Learning is like breathing: sometimes you do it intentionally, sometimes without thinking, but you always do it, or else you’ll die.

This sounds expensive. MOOCs are generally free (although you can usually pay a modest amount for verification or support). Textbooks are expensive if you’re 19 and living on ramen, but they cost next to nothing in comparison to an engineer’s salary. But perhaps it sounds expensive in time? Having study groups definitely doesn’t have to consume a large chunk of the work week. Once a week over lunch time to discuss the material studied outside of work hours is usually a sufficient time block.

I don’t have management permission to do this. Really? Does anyone care what you talk about in an unused conference room during lunch hours on Monday? Even if you work at a more rigidly structured company than your average tech startup, starting a study group requires almost no official management support. The resources required are trivial, and the amount of time required is pretty modest. An effective study group is usually organized by the people who want to study and shouldn’t require a lot of coordination with management.

We don’t want to study the same topic. This can happen with small teams, where the couple of people on the team just aren’t interested in the same topic. A good resource for this issue is to look outside of your team to put together a study group. Coursera runs a nice meetup directory for this purpose. Big teams can also have difficulties when many people are interested in the same topic but have too many competing study goals to allow a study group to be useful for everyone. When this happens, the easiest solution would seem to be split into multiple study groups based around those different goals. This is similar to how we view the lifecycle of agile squads in IM engineering.

There are no appropriate courses. That is what they call an opportunity. Roll your own course. Sure, it’s more work, but it’s 2015: the resources are out there. Take a chapter from this book, a week from that MOOC, a few papers from Google Scholar, and soon enough, you’ll have the perfect, purpose built course. As a bonus, if you produce your own home brewed course, that makes for a great resource to share with the rest of the world. World-class technical organizations are always giving back to their communities in the form of open source, talks, etc. This is just another chance to show that you care about the broader technical community.

Study groups, assemble!

It’s really just that easy. You can go get started tomorrow. Find a topic that your teammates care about and want to get better at and then start! If you find that it’s harder to get people on board than I predicted, you can point doubters to resources like the experiences of the Guardian, McAffe, Gilt Groupe, MasterCard, or us at Intent Media.

Now, I have to get back to studying actor systems before our discussion on Monday. Happy studying!