Building Through Understanding

We are living in an amazing time to build out ideas and share them with the world. “Vibe Coding” is a term Andrej Karpathy coined to describe the process of chatting with a large language model to build software. The barriers to entry for building software these days are minimal. Anyone can vibe code a personal website, game, or app and share it with friends and family, faster and more cheaply than ever before. But here is the real question: I’ve been building out some of my ideas over the past two years, and it’s been both rewarding and exhausting. As exciting as this has been for me, it has also caused a tremendous amount of anxiety and stress as I try to keep up with the ideal workflow, the optimal large language model, and the best techniques to make sure I’m using the latest and greatest technology available. In doing so, I forgot about one of the most rewarding elements of building: understanding. Could that be why I feel so exhausted and anxious? Am I chasing the dopamine hit of building things quickly, instead of leaning and understanding them? Gaining knowledge is a practice that takes time. Agentic workflows are tricking us into thinking that, because we can prompt an idea, we actually understand it. Lately, I have been feeling the complete opposite. The quicker I build a project and test it, the faster I realise how much more foundational work I need to do, because the solution doesn’t feel right. One example is Voco, a dictation project I started with the goal of bringing a free, open-source voice dictation app that runs locally into the Linux ecosystem. The app works well, but my expectations are higher, and no matter how much I prompt my agents to make changes, I know deep down that there is a big gap in my technical understanding that I have to address in order to take it to the level I want. Craftsmanship is my new North Star. I’m done with collecting project badges as if they were accomplishments. In all honesty, that’s what having a new github repo felt like before. But if I cannot understand what is happening at every layer of abstraction within my projects, I cannot enjoy them as before. There is something magical about going through cycles of iteration and improvement that are grounded in knowledge development, not prompt refinement. I guess what I’m looking for is meaning…meaning in the work I do and the actions I take in my everyday life. Inspired by people like Mario Zechner (@badlogicgames), particularly his blog post “Thoughts on Slowing the Fuck Down”, and Armin Ronacher (@mitsuhiko), with his post “Some Things Just Take Time”, I’m pivoting to a new approach to building and refining projects. The new approach is simple: build through understanding. Leverage the incredible technology currently available to help build knowledge, not just projects at a healthy and sustainable way. I find it fascinating that these two voices in the industry are fathers and Europeans. It seems like the SF Kool-Aid is not as effective on veterans of the software development European community who also enjoy being more than programmers: fathers, husbands, friends, community enablers… humans. There is an evident dopamine-reward game at play with the current wave of agentic AI, which can be both fascinating and unhealthy. Let’s make sure we promote ideas, practices, and standards that aim to elevate our understanding of ourselves, our creations and environment in the most positive way.