Building From First Principles
It's funny, sometimes I feel like I'm living in two different programming worlds. There is the online world on Bluesky threads, GitHub, blog posts or other platforms where discussions are often dominated by the latest frameworks, the hottest libraries or discussion that feel very abstract. Then there is the other world I live in, the one I share with my local developer friends. And honestly? They're miles apart.
Online !== Offline
In the online realm, the idea of building anything substantial without any of the major frameworks is typically met with bewilderment, if not scorn. "Vanilla JS for an entire UI? Are you mad?" Building something with vanillajs and stringing a few libraries together as needed is immediately labelled as unmaintainable.
But when I meet up with my developer friends the tech stack they use is the most boring one imagineable. Heck, when you ask them about that, they typically just shrug their shoulders. They couldn't care less. We're not talking about some simple demo app either. The apps they are working on are pretty involved from what they do. They are mission critical apps that have real users and solve a concrete business impact. And boy do they work! These are some of the most robust apps I've ever seen.
Intentionally choosing boring tech
The funny bit: Despite not using any frameworks they are one of the most maintainable apps I've had the pleasure to see the code of. They've been able to bang out features much quicker than anyone else I know. We often ping pong some ideas around and the prototype typically follows a few hours later. In my career so far I had the luck to be able to work among such folks. This wasn't an isolated incident project either. What makes them different?
The one thing they have all in common is that they approach anything they do from first principles. Their first thought isn't "Which framework should I use?" It's: "What is the actual problem we're trying to solve?" They think deeply about outcomes, about user experience and the simplest most direct path towards that goal. Technology is merely a means to an end, not the end in itself.
Clarity is key
Their code pretty much reflects this philosophy: Plain, boring and concise with no fluff. You can easily read it top to bottom without needing to jump around to get the bigger picture. There is very little noise there. There is this pragmatic minimalism to it. You won't find layers of abstractions for abstraction's sake. The biggest "debate" - if you could even call it that - usually revolves around how to structure data or where to put side effects.
Does this mean frameworks are bad? No, far from it! The online tech discourse just tends to create a sense of inevitability around particular tools or methodologies. It's my offline peers that remind me that a lot of effective software development exists outside of online framework debates.
