The same thought crossed my screen from two independent sources last week.
They spoke about the same thing but from different perspectives. Writing and communication.
The first source was a newsletter from Dan at Real Python which I get every week. The newsletter has lots of good bits related to Python and general programming. In his latest, he wrote about scrolling through Quora and coming across someone who asked if beginner programmers should write out code by hand.
Many readers said no, but as Dan remarked, perhaps they misinterpreted what the asker meant or the question was poorly worded. First, to answer the question, no, programmers don’t need to write out code by hand. Secondly, and more importantly, Dan used the question as a launching pad to talk about the need for programmers to write out what the program is going to do before actually coding it.
This doesn’t mean writing it out exactly as in a text editor. It means writing out the logic of your code in plain English as either a list of steps or full sentences. If you can’t write out the program in simple English, then you probably don’t understand what is going on. If you are unable to describe the problem, then how will you find the solution.
As one Quora commentator stated,
Too many undisciplined programmers today code by the seat of their pants experimentation and end up with undebuggable, unmaintainable messes.
The second source came from Tim Ferris’s podcast with Jason Fried of Basecamp. This two hour plus interview had some great bytes of wisdom, but the most memorable was Fried’s comments on writing. Part of Basecamp’s interview process is for potential hires to do a one week paid project. For example, let’s say there are several designers gunning for the same position. Each would receive the same design project to work on for one week. After the week, they would provide a written report of what they did, their process and why they made certain decisions.
Part of Fried’s rationale is that if you are a programmer, designer or other creative, you will eventually need to express a thought, defend an opinion or communicate with a client using written communication. If you can’t write clearly, then how will you do this?
Writing is rarely highlighted as a core skill for designers or programmers. Neither is it part of all the programming boot camps sprouting out there. A quick look at HackerYou’s course list (one of Toronto premier coding colleges), finds some amazing program material, but no writing or communication course.
Whether writing out programming logic for yourself or another programmer, writing an email to a client or Slacking, we do a lot of it on a daily basis. It’s one of those skills we take for granted. But in the digital creative industry, everything we do is in part communication and being able to write clearly and effectively should be at the heart of it.