— 3 min read

Why is coding so difficult?


Honestly my head as been spinning recently from all the development work I’ve been doing. There’s a million different frameworks, a million different component libraries, a million different xyz for this, and at the end of the day I don’t see any projects that are that crazy difficult that require anything more complicated than a few pages of re-invent the wheel and a few other pages of this-has-been-done-a-million times before.

It’s mind boggling that in 2024 I’m spending most of my time doing the exact same thing just written in a different language or done in a different framework to build a website.

I’ve built web apps in python, in javascript, in go, in ruby, svelte, react, vue, htmx, next.js, astro, angular, wordpress, etc. etc. etc.

There’s tons of programming languages, each programming language has its own frameworks, each framework has its plugins, plugins rely on component libraries and other packages, and that’s the mess of coding, but at the end of the day we’re just trying to make a website.

Then comes the realization that a lot of developers have… “what if I just build it once”? Every app needs user accounts, email sending, database schemas, admin panels, etc…

once-cave

Thanks ChatGPT.

Lots of people have tried making the process of website building simplier by being opinionated in their frameworks, by developing boilerplate solutions, and creating templates that are plug and play, and while these definitely help time to market and can alleviate some of the pains of development, this sort of marketplace has created a whole new problem where “business men” AND developers have to spend time researching if the plugin is extensible, usable in the current systems of the project, and flexible enough to avoid future pitfalls and inflexibility because of vendor lock-in.

Taking a look at no-code solutions and website builders like Wix, Squarespace, and Webflow —they seem to be able to service 90% of websites and yet, in my tunnel of dev work, there’s always a high resistance to using those tools and a preference for “custom code” a la next.js/react.

And it’s understandable —everyone wants to have full control over their website, and as an expense we pay more in developer time or we use a pre-built solution and pay for that. Either way, while everyone understands that we want to accelerate web development times, it seems like all the solutions cumulatively have created a new problem where it’s very unclear which solution to pick since not all the solutions are applicable to your exact use case.

This is a classic case where the proposed solution to a problem has become the new problem itself. And so we look for a new solution to the solution to a problem that is now a problem…