While working on my year in review article for 2021 I once again realized that my writing process is very similar to my programming process.1 Simply put - it involves many iterations and refinements and the final version is often quite different from the initial version.
Usually I’d write the first draft of an article in an hour or so (depending on its length, of course) and I’ll quickly publish it. Afterwards I’d make numerous changes over the course of the day/week until I’m truly happy with the contents and the structure of the article. Some of the changes are driven by external feedback (just like a code review), some are driven by my internal desire to polish and refine the wording of my thoughts. I also make a ton of typos and I have to fix them at some point.
Sometimes I revisit articles I wrote months or even years ago and I do small changes and improvements to them as well.2 I’m definitely not the type of person who gets articles right from the first try. I’m also not the type of programmer who comes up with great solutions from the first try. I am a big believer, however, that we have to start with something that gets the job done and improve it from there.
I suspect that whatever cannot be said clearly is probably not being thought clearly either.
– Peter Singer
I think that my iterative writing process is partially a reflection of my messy thoughts. One of the reasons why I love to write is that through writing I manage to apply some structure to my chaotic thoughts and eventually crystallize them. In many ways writing is like teaching - if you can’t explain something in simple terms then you don’t really understand it.
Time for a short summary. Writing helps me reduce raw thoughts and ideas to something clear and useful. My writing process is somewhat messy and incremental and my articles are never truly done. I wonder if my writing process would have been different if I weren’t a programmer. I guess I can never know that.