an obession with first principles

Similarities between writing and programming

Posted: Thursday Sep 13th | Author: JohnO | Filed under: Philosophising, Programming | View Comments

I’m Toby. My fiancee and I have been re-watching the West Wing to imagine a world where capable humans sit in those offices, and we’ve decided that I am Toby Ziegler. I try to be two steps ahead. I can be a curmudgeon in a group of working people, but I’ve always been a teddy bear at heart.

“Listen, when you get home tonight you’re going to be confronted by the instinct to drink alone. Trust that instinct. Manage the pain. Don’t try to be a hero.”

Can I assume from your total silence and blank faces that you’re all with me?

There is literally no one in the world I don’t hate right now

These are all sentiments I share. And they are phrases which, were I eloquent enough, I might utter in real life. Clearly, I am not.

We were watching the episode where Will Bailey (aside: I wrote “Josh Molina” originally because I feel he is always just playing himself I feel) joins him in writing the second inauguration speech. Toby is failing to write well and burning his pages. It caught me off-guard because I know that feeling. But I don’t work on paper so there is nothing for me to burn for catharsis. (Aside: Hey programmers! Can we solve that?, catharsis is a strong and worthwhile emotion.)

That feeling is the mental load of trying to grapple with complex, large, and sometimes dissonant ideas in your mind all once to come up with something elegant, simple, and coherent. In that way writing and programming are very, very similar. Undoubtedly there are times where you are working incrementally in small steps to achieve a quick goal or change. But there are many times you’ve got a large structure you’re turning over and over in your brain. And its not only when you’re creating something new.

Of course the hardest part can just be getting started. Which reminds me of the old Joel Spolsky article “Fire and Motion” where one of the hardest things to do can simply be to “launch the damn editor”. Your brain is realizing that “Hey, I’m not ready for all of that yet, let me warm up first.” Getting through that period of warming up can be hard. Especially when you’re tired. No one does their best writing, or programming, when exhausted. They are both creative acts.