My approach to what I do in my job — and it might even be the approach to my life — is that everything I do is the most important thing I do. Whether it’s a play or the next film. It is the most important thing. I know it’s not going to be the most important thing, and it might not be close to being the best, but I have to make it the most important thing. That means I will be ambitious with my job and not with my career. That’s a very big difference, because if I’m ambitious with my career, everything I do now is just stepping-stones leading to something — a goal I might never reach, and so everything will be disappointing. But if I make everything important, then eventually it will become a career. Big or small, we don’t know. But at least everything was important.
A theory of change is the opposite of a theory of action — it works backwards from the goal, in concrete steps, to figure out what you can do to achieve it. To develop a theory of change, you need to start at the end and repeatedly ask yourself, “Concretely, how does one achieve that?”
American cities seem like a product of industrial processes where older European cities seem like a product of human processes. This is because most American cities were built after and alongside the car and the industrial revolution – the design of cities took into account what was easily possible, and that guided the shape and scale of everything.
Software has similar analogues. There are software codebases that feel much more industrially generated than hand written, and they’re usually written in automation-rich environments fitting into frameworks and other orchestrating code.
…But despite the availability of cars, I still much prefer the scale and ambiance of European, human-scale cities, because ultimately cities are places humans must inhabit and understand. In the same way, I still much prefer the scale and ambiance of hand-written codebases even in the presence of heavy programming tooling, because ultimately codebases are places humans must inhabit.