Software is 10% Code July 16, 2015
Building software is about programming, right? Day to day, we turn caffeine into code. We spend countless hours reading about new programming languages, techniques, and platforms. We engage in conferences, get into arguments about whose stack performs better, and scour Stack Overflow for the answers to our problems.
But none of that is programming. In fact, all of it—reading blogs, attending conferences, arguing, research—all of these activities are, at their core, interpersonal communication.
A good programmer knows the hottest programming language is English.
(Disclaimer: I speak English natively. Feel free to substitute your native tongue. I have no bias toward English and don't mind pressing '1'.)
Our stakeholders communicate their vision by telling us about it—in English. We capture their vision for development into well-crafted user stories—in English. We write our Stack Overflow questions in English, chat on Slack in English, and report bugs in English. So why do we look to techno-wizardry as solutions to problems whose root is likely poor team communication?
Bad Writing is a Meeting Factory
Being able to articulate a thought in writing means your team gets to take advantage of asynchronous communication. Whereas meetings are synchronous— requiring all parties to be present and engaged for the duration of the communication event—written communication is asynchronous, meaning the recipient can address your request or idea on their own time.
Understanding this distinction can save your team hours each day. If you're about to hold a meeting, ask whether it's because you don't feel confident writing an email to address the topic. Some topics are best discussed in person: "big picture" decisions and human resources concerns are a couple. But most technical decision-making is better left to the great text file in the sky.
Great Writing is Documentation
When ideas are birthed in writing, they're already documented. There's no need for a secretary in an email thread. No one need spend time writing meeting minutes or informing the team of decided action items. Your Slack channels are searchable.
This means that if we spend time to compose our thoughts concisely—if we re-read our message before sending and ensure we've articulated our thought as succinctly as we can muster—we have created a valuable artifact. We have contributed to our team's canon.
Resources for Better Writing
The Elements of Style
Strunk & White's classic prescriptive style guide The Elements of Style comprises "eight elementary rules of usage", ten "elementary principles of composition", "a few matters of form", a list of 49 "words and expressions commonly misused", and a list of 57 "words often misspelled." It's often cited as the standard for learning great writing style. I once kept a copy on my nightstand.
How to Win Friends and Influence People
Dale Carnegie's How to Win Friends and Influence People will help you adopt interpersonal skills to help win people to your way of thinking. Carnegie stresses that showing respect for other people's opinions and trying honestly to see things from the other person's point of view can dramatically change the way others perceive you. I think this is especially relevant to writing software, since there are often different but comparably adequate ways of approaching the same problem. Seeking to understand your team members' differing opinions can help you reach consensus. Adopting a sympathetic and concise writing style can help you do that.
Influence: The Psychology of Persuasion
This is the classic book on the science of persuasion. A word of warning: The tactics in this book can be (and are) used for some horribly manipulative things. But understanding the fundamentals of persuasion, how to coerce others, and how to defend against coercion, can be beneficial in your team diplomacy efforts.
One of the principles Cialdini covers, the contrast principle, can be used to dramatic effect when working with clients. The principle states that if we see two things in sequence that are different from one another, we will tend to see the second one as more different from the first than it actually is. This means that if we know Approach 1 is costly, but offer a more costly Approach 2 beside it, the client will likely accept Approach 1 by contrast. Consider the contrast principle when making proposals. It's likely you'll see an improvement in your team's buy-in to your ideas. Just don't take advantage of it.
When hiring technical talent, the first thing I look for is strong verbal communication skills. Being able to articulate ideas in writing is more valuable than technical skills because humans think in terms of and react to stories. Being able to tell stories that captivate your team and your customers creates consensus. When consensus is reached, the technicalities fall into place.
Writing is critical to your remote project because you don't get much face time. If you sign up for my free email course, I'll send you 12 patterns to make your remote team better. Sign up for free