Reflecting on Conscientiousness and Ambition
The below is from a journal entry I wrote today. I regularly journal as a way to reflect on my work processes and today's felt uniquely shareable
I've felt a quiet focus the last few days. I'm seeing the code get written that needs to get written and I feel more confidence in the system overall.
However, I'm feeling the tension between conscientiousness and ambition. There are a number of small details that aren't perfect and need fixing, but perhaps shouldn't delay shipping pieces into production. This is perhaps the consistent challenge of building production software. I need the software to be doing things but I also want to be continuously patching up the holes so that the system remains relatively coherent/legible over time.
A failure state I often find myself in is greedily pursuing one or the other. I.e. being 'max-conscientious' and focusing on making the system perfect or being 'max-ambition' and focused on shipping software, no matter the bugs/tech debt introduced.
I suppose it's not the worst thing in the world to flip between these modes as long as I retain the ability to manifest both of them. Although perhaps there's some 'hysteresis' damage that occurs if I continuously oscillate between the extremes. I.e. spending too much time in conscientious mode creates bikeshedded complexity holes and spending too much time in ambitious mode creates tech debt/bugs.
I've known for a long time that mastering 'engineering' involves mastering one's ability to have incredible judgment moment to moment on this tradeoff. Maybe it's valuable for me to to simulate what it'd feel like to be in the 'middle ground' and make decisions further out on the spectrum in either direction as the situation requires.
I've noticed that testing/CI/type safety is a 'meta-tool' that allows me to retain some level of conscientiousness without much 'effort' while being very ambitious. If I can trust my system of CI on every new PR to run smoothly and quickly, the 'cost' of being a bit more conscientious while on a sprint to get something out is quite low and feels easier to bear.
And bearing it teaches my mind to live a little closer to the middle of the spectrum.
I wonder if there are any meta-tools that exist in the 'other direction'. Things that 'force' ambition while I'm being conscientious (i.e. doing a refactor, introducing tests, fixing bugs). I suppose the general deadlines or public accountability fit the bill here coarsely, but I'm looking for something finer, like the CI example in the other direction.
What does it 'feel like' when I'm taking on a more conscientious mode for a project/unit of work? I find beauty/satisfaction in the harmony/coherence of things rather than their external outcomes.
What does it 'feel like' when I'm taking on a more ambitious mode for a project/unit of work? I feel excitement/titillation at 'getting something out there' and affecting the world.
There's definitely an 'inward vs. outward' dichotomy here. Conscientious work is inward-looking and almost buddhist, eastern and ambitious work is outward-looking and perhaps embodies a protestant, western ethic.
After writing the above, I went on a bit of a rabbithole feeding John Carmack's .plan file archive to LLMs to figure out how he approached this dichotomy and it turns out that if anything, he switched between extreme modes more often than not. So maybe some hysteresis is necessary if one retains agility.