I often say that as a computer programmer, the most beneficial class I took at Indidna University was Intro to the School of Public and Environmental Affairs (V170). We read great books like P.J. O’Rourke’s Parliment of Whores and David Osborne’s Reinventing Government and had great writing assignments. On a weekly basis, we were required to write a policy proposal that included background, a proposal and a description of how the proposal would be funded. This information was to be presented within the confines of one double spaced page. I’m thankful for that class because I believe that learning to be concise is impertive to becoming an effective communicator.

Joel of Software says as much in today’s post.

Would Linux have succeeded if Linus Torvalds hadn’t evangelized it? As brilliant a hacker as he is, it was Linus’s ability to convey his ideas in written English via email and mailing lists that made Linux attract a worldwide brigade of volunteers.

Even on the small scale, when you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly, and comfortably. Also it helps to be tall, but you can’t do anything about that.

The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it’s not whether they prefer Python or Java. It’s whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless.

There are so many practical and obvious business applications for this advice I hardly need to enumerate them. But like any discipline, doing it is the hard part.