So, @wholemilk said something I liked:
Note to self re complicated programming: EMBELLISH LATER.
— the no woman (@wholemilk) January 29, 2016
Yeah. But sometimes that’s hard. Why?
I am a big believer in the value of considering the emotional landscape of any labor, but in my day to day, that means mostly programming.
When you have something that’s working but still incomplete, it can be a big emotional effort to break it so you can start to move it towards the next stable point, the next point at which it’s working(-but-incomplete).
It’s like editing a document: partway through applying edits, you have broken sentences lying around, half-formed ideas not fully explicated, and the thing’s a mess. Sometimes that even shows through, if you fail to clean up after a change to the first half of a sentence leaves the last half incoherent.
It is similar with code.
Fundamentally, this is why source control matters. It is a tool to help with the emotional labor of breaking your work. If you know you can always go back to a stable point, swinging out into the void for a bit becomes exploratory, not all-or-nothing.