In the beginning, there were only full-stack developers. We implemented everything in the backend with some PHP or Ruby On Rails and then, with a bit of jQuery running in the frontend, we were done.

But times have changed. Modern web apps require rich user interfaces that can no longer be rendered in the backend.

So we switched to a “single-page application” model with a frontend that entirely manages the user interface.

As for the backend, it is simplified because it only has to manage the domain model and the business logic.

The problem is that we now have to connect the frontend and the backend, and this is where things get complicated.

We build a web API (RESTGraphQL, etc.) that significantly increases the size of our code and results in duplicating our domain model.

In practice, it’s like building two applications instead of one.

So we multiply the number of developers, and the overall complexity is such that we divide them into frontend and backend developers.

If you are a half-stack developer, you can only do half the work, and you spend a lot of time communicating with the person in charge of the other half.

Dividing frontend and backend developers kills productivity and happiness.

If you’re a full-stack developer, you’re a real hero. You can implement a feature from start to finish in a much more efficient and satisfying way.

But let’s be honest, being a full-stack developer today is way too difficult.

Ideally, we should all be full-stack like we were in the beginning. But for that to be possible, we need to dramatically simplify the stack.

#javascript #web-apps #full-stack #architecture #nodejs #api #react #hackernoon-top-story

Full Stack for All
1.10 GEEK