Writing Software

2 thoughts
last posted Sept. 15, 2012, 10:21 p.m.
get stream as: markdown or atom

Writing software has a lot of similarities as writing an essay.

Reference Paul Graham, March 2005


There are several principals that hold true in this essay about writing essays that hold true for writing great software, at least in the manner that I have learned and ascribe to.

They are:

  • Write a fast 1st draft that will be bad, no edits, just write, and get all the words out there.
  • Rewrite your 1st (maybe even a 2nd or 3rd draft)
  • Review by yourself and others for improvements and corrections
  • "Design" your essay for readers who will not read it as carefully as you have done during your editing and rewriting.

I think each one of these can be applied to software development where:

  • Fast 1st Draft == Just get something working
  • Rewrite == Refactor or Fresh-Starting
  • Review == Code Review and/or Pull Request
  • Design for Light Readers == Clean API and Good Docs