How do you start something?
When I was in Richmond, I stopped by my mom’s CS class to answer some questions about being a ‘real’ programmer (a title and designation I wear with no small amount of disbelief.) The answer I gave was one that I think is correct:
Start with the smallest possible version of a thing you want in the world. Don’t worry about scaling or configuration or deployments or infrastructure. Get the baby version of your dream up and running so you can iterate on it and leverage the best part of programming, which is the positive feedback loop.
A question with a less obvious answer, though, is how do you resume something?
I am working up the courage and energy to jump back into the waters of iOS development — mostly because now I have an iPhone XS and Barback, my cocktail app, is terrible on modern iPhones. It is unoptimized, it is out-of-style, it is ugly and painful.
The really big thing I want to do is just optimize it for the iPhone X/XS/whatever form factor, which I think takes all of like fifteen minutes. I will naturally end up rewriting the entire app and changing the design. (This is not a joke; this will end up happening, and in February I am going to re-read this letter and sigh.)
I know there’s nothing really to be done but to re-download Xcode, grab the repository, and start building/hoping. But the cosmic weight of tech debt is so much more imposing than a fresh slate — opening this old project is dusting off years worth of poor decisions, open GitHub issues, feature requests and bugs, customer support emails left mostly unanswered. It is a weighty first step.
But there’s nothing to be done. I will find myself in early December with a free afternoon and a surplus of foolhardy confidence; it’ll happen. I miss Swift; I miss rationalizing making Manhattans as part of the product development lifecycle; I miss the wonder of hitting “compile” and having a thing appear on my phone, as if by magic. (I don’t miss, well, anything else.)
(I am writing this across the room from an absolute unit of a black lab, whose name I imagine to be Bear or perhaps Winchester, whom I am summoning the energy and wherewithal to go up and pet.)