Building

Jeff Smith
Data Engineering
Published in
6 min readMay 17, 2015

--

Learning Communities

Becoming better engineers together

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

Better engineers.

In a previous post, 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. At Intent Media, we use all of those tools and more to help us learn and grow as engineers. Different groups of people within the tech team have organized study groups around MOOCs, books, or just broad topics.

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 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?

  • Engineers get better at what they do. This may seem pretty obvious, and for some sorts of studying activities, it’s just that simple. If you have a team of Java developers, then obviously it makes sense to spend time helping people get better at writing Java. But how about functional programming or reactive programming? What if people want to study in a language you don’t use in production on a new tool that you may or may not want to invest in? Studying these topics will still help them improve as engineers, often in ways that you might not predict ahead of time.
  • 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. I just don’t buy this objection. 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 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 support. The resources required are trivial, and the amount of time required is pretty modest.
  • 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. I’d love to hear about your experiences, so ping me on Twitter if you give this a try.

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

--

--

Jeff Smith
Data Engineering

Author of Machine Learning Systems @ManningBooks. Building AIs for fun and profit. Friend of animals.