It’s just software

Chuck Martin
Aug 23, 2017 · 3 min read

Dropbox’s John Saito recently posted a short essay listing the “10 things UX writers hate to hear.” It’s not just UX writers, but technical writers who hear these things. One of the things was “Technical reasons,” as in “can’t” do this or “can’t” do that.”

My response was “Nope.”

As a technical writer who has focused as much on the “technical” as on the “writing,” I came up with a phrase that describes my reaction when a programmer tells me something “can’t” be done: “Its just software.”

Computers are dumb

Way, way back, when I was a freshman in high school, I took a programming class. The language taught was BASIC. (Hey, this was before 1980.) And I still remember how the instructor started the first day of class.

He made it very clear that computers are dumb. You might think that’s a pretty dumb thing to say in 2017, where even our phones are smart, but it’s still true. Computers are dumb. Always have been, always will be.

You see, as he explained, computers do only what they are told to do and exactly what they are told to do. Nothing more, nothing less. And it’s the code, written by programmers, that tells the computers what to do.

Programmers aren’t dumb, but…

I’m a bit jealous of programmers sometimes. The good ones can do things I just can’t. As Joel Spolsky explained in his most excellent essay The Perils of JavaSchools, the really, really good programmers are able to think in multiple layers of abstraction. One way that Spolsky quantifies this is in the statement “…it has been my humble experience that there are two things traditionally taught in universities as a part of a computer science curriculum which many people just never really fully comprehend: pointers and recursion.”

When I was getting my own degree, I took a number of programming classes. And when I hit the parts in the ones above 101 where they taught pointers and recursion, I hit a wall. Try as I might, I didn’t “get” these ideas.

Programmers do. Good programmers “think” in these concepts the same way I “think” in content patterns. And given enough time, good programmers can do just about anything with computers.

And there’s the rub. It’s not that a programmer “can’t” do some requested thing, as Saito experiences. Heck, I’ve experienced that more times that I care to count myself because I’ve had the audacity to push for changes that would make some software feature better or easier to use (and as a result easier to document).

“Can’t” is shorthand. What it’s shorthand for depends. It could mean there’s no time to do the work. It could mean there are no resources to do the work. It could mean that the work does not provide enough value. (A reason that’s especially tough to hear when you’re trying to make a product better.) Heck, it could mean that the underlying system was designed so badly that there’s no way anyone wants to touch any of it because one light breath will make it all fall over like a Jenga tower.

What “can’t” almost never means is its literal meaning. A programmer almost always can, so when one says “can’t,” it becomes incumbent on us to translate.

In a way, that’s what we as technical writers do: translate enginerring-ese into plain English. “Can’t” is an engineering shorthand that we have to figure out how to translate. Once we translate it successfully, we have successfully removed the “can’t” barrier and have useful information on how to reach our goals.

)

Chuck Martin

Written by

Rational. Emotional. Thoughtful. Opinionated. Politics. Sports. Politics in sports. Tech. Writing. Tech writing. Calling out the B.S. everywhere.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade