There is an idea I've heard from a guy named DHH, which i find really fascinating :
as an individual, I could know just enough about enough things to be able competitive with the biggest companies...
At first, this sounds almost contradictory.
Shouldn't a good programmer specialize? Shouldn't I pick one language, one framework, one area of computer science, and become exceptionally good at it?
There is certainly value in specialization. But I think there is another kind of expertise that is particularly powerful for an individual developer: knowing enough about many different layers of technology to put the whole thing together yourself.
At a large company, the work might be divided among many people:
- a frontend engineer
- a backend engineer
- a database engineer
- a DevOps engineer
- a platform engineer
- a security engineer
- a network engineer
- a solution architect(what's that even about?)
And suddenly, You need to know about a absurd amount of technologies be considered a developer in 2026. The Web is no longer feasible to work on, at least for an individual developer.
I believe this fragmentation of roles is, to a large extent, a consequence of the popularization of microservices.
But we need to remember that microservices emerged as a solution to problems faced by companies with hundreds or thousands of engineers. For most of us, adopting this architecture simply doesn't make much sense.
The main incentive and hype around microservices are mostly about creating a software that scales. Modern software is a software that scales in response to the demanded situation. But thing is, scaling is also definitively doable in a monolith system. It's not just as elegant and flexible as a micro-service architecture.
In fact, Micro-service architecture is mostly about organizing different teams in a big company, rather about the software. In a monolith architecture, different teams might be blocked by each other in order to deliver a value to the user.
My own journey
Now, as my own journey, the tools that i familiar with, doesn't provide an end-to-end solution for an actual web app. I was going straight for learning every possible things that exists in a modern application stack that fits in micro-service architecture.
Golang's stdlib, Nuxt.js/Vue.js (or, really, the entire JavaScript ecosystem), and Python's FastAPI for application development. Then there's a tooling around the cloud-native ecosystem: Docker, Kubernetes, Prometheus, Grafana, Ansible, and all the other tools that come with building, deploying, and maintaining modern applications.
Note that none of these actually provides an end-to-end solution for a web app. They're famous for being minimal and incrementally composable. I spent a lot of time exploring these technologies, trying to understand how all the pieces fit together. Much of it was driven by my gut feelign about what the job market expected from a developer in 2026.
It's definitely a plus to be familiar with all these modern tools and technologies, but after all, as an individual, I want to build and ship some products myself.
I need to find a web framework that compresses the complexities of the modern web. I can't really afford building a hell of a stack consists of all these shiny tools.
Here is when i feel i miss something that helps me as an end-to-end solution. A web framework that let's me to stand on shoulder of giants. As an individual, i want something that has already made about 70% of the architectural decisions.
Here are the options:
Golang. Amazing for its concurrency capabilities and Network progrmaming in general. Coming from my previous life in C#, It made me grow.
But for a full-stack app? hell no. Standard library is too minimal. Libreries are lacking. Frameworks are somehow comparable to Flask. They help you build up the HTTP layer of your app. But i want an end-to-end solution.
As of my experience, you will get a serious decision fatigue when building a monolithic back-end in Go. And this is Specially true when you don't have an enough expertise and experience in the language:
What router you're gonna be using? what library do you wanna use for handling the migrations? What about the database connection? Do you wanna use ORM or what? Which template system you wanna use? What about Logging library? ...
I might sound like lazy, but don't get me wrong, i know that all these individual decision teaches you something. But it has a huge cost. Your time and your motivation. For example, because of the decision fatigue thing, it will turns out that you've made some bad choices about your app; And good luck in the refactoring process. This is something known as choice overload bias or The Paradox of Choice.
As a small team, we usually don't want to start building a product with nothing but a blank sheet of paper, right? I'd rather stand on the shoulders of giants by using a framework like Laravel or Django.
Go is a fantastic language for building infrastructure and services. it isn't necessarily the best tool for minimizing the number of decisions involved in building a product.
Golang came partly as a solution for a micro-service architecture requirements, so let it go for this purpose. I'm happy to let Go to be Go.
Python: Rapid. It fits my brain. Rich eco-system for veriety of things, except for mobile and front-end development. I really enjoyed being introduced with Python through FastAPI , from a guy that i would call a artist, Tiangolo. it really shines in again, the micro-service architecture.
Django is obviously an option. I've came across Django during my childhood, when playing the legendary video game Mafia. I've liked his music a lot. The framework though, Is mature, batteries-included and extremely capable.
Django remains a very serious option for me.
JavaScript: I've an experience with Nuxt, a full-stack web framework that has an amazing community and developer-experience, but again, its too minimal and it must be composed with other third-party libraries to be considered a full-blown solution for a modern app.
Ruby: Ruby is a language that I'm currently not familiar with. And it means I'm more ambitious about it.
Having read some articles around it, i got so much hype around it. It's philosophy of its design is cool and it implements a purer object-oriented system, in contrast to Python.
And then it comes its killer thing: Rails. I've introduced to Rails, mainly by reading the books from its author David Heinemeier Hansson. I just got really carious about it, specially after i watched a demo of it.
And here it is. The current blog is a result of quick experiment with Rails in about 3 days.
Rails is a game-changer, for any website that basically does CRUD, and also wants some minimal reactivity. But for a rich interactive experience, doing a combo with the traditional JavaScript frameworks e.g. Vue/React is inevitable. Rails is going to be a valuable tool in my toolchain.
Long story short, i want to believe that, we can actually build something surprisingly serious with knowing only these. This is just an example:
Linux: You should be able to administer a linux server at LPIC 2 level.
Docker: Be able to package you app in a way that it is portable and easy to carry
Caddy: As your web-server, which can also act as load-balancer in future.
Rails: Your actual product! A near end-to-end solution for a modern web.
PostgreSQL: As your persistant data store. Get the most of it.
Redis: Only When needed
What do you think?