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