Being a code ninja is not enough
I’m glad that my recent post Github is not enough was well received. I felt it was important to explain. Another important thing I want to share is about the importance of communication in software development. One person working in isolation doesn’t usually have communication issues. How often does this really happen though? Anything reasonably complex and actually being used will have a group of people involved.
Once a group of people get involved it’s all over… you need to communicate. The better you are at it, the less the outcome is limited by communication. The worse you are at it, you’ll likely need to communicate more to fix problems resulting from poor communication. If you suck at it, you’re going to be miserable and less effective than you might otherwise be.
You don’t have to take my word for the fact development is based heavily on communication. Let’s look at some interesting examples.
PostgreSQL, a mighty fine DBMS, is a large and complex software project. I see just over a dozen active core committers at the moment based on the last month. Most prolific of these is Tom Lane. It’s clear Tom is a very talented & busy guy. A really interesting recent blog post highlighted he’s equally if not more prolific in email sending over 82 thousand emails!
No one will argue against the fact that Linux and Git have been massively successful. One of my favourite interviews with Linus Torvalds was by Glyn Moody and also touched on this: “That’s all I do, day in and day out, is I read email. And that’s fine, I enjoy doing it, but it’s very different from what I did.”
Developing open source software, or any complex software, is a team sport and heavily based on communication. That’s really interesting and good to know.