Introduction

What is full stack web development? It’s about the broadest range of capabilities a single developer can master. It means working with frontend technologies, backend systems, databases, and deployment tools. The promise is flexibility and independence. The challenge is depth. Can you truly excel across so many domains, or are you spreading yourself too thin?

My story

Full stack web development was relatively easy when I started building stuff on the internet back in 2007-2011.

The casual flow was like this:

  1. Open Photoshop. Cracked one. Yikes.
  2. Design the website. Or open a .psd file that you received from another designer.
  3. Slice it and export images.
  4. Write HTML, CSS, and jQuery. Yes, you read it right, I learned jQuery before JavaScript.
  5. Client side part is done and the template could be used in any way you want. The easiest way was to change index.html to index.php and you are on the server side already. Connect to database, fetch records, render it. Or you can make a theme for WordPress or OpenCart, or just build a web app using a framework like CodeIgniter.

It was the base of my routine with some improvements on the way until 2015. Then I changed the job where I focused more on building HTTP APIs with all the server side things behind and around that. So the routine described earlier became obsolete.

Anyway, I was still building something that could be called a full stack web application occasionally, especially after I learned Laravel framework. That’s how I got into more advanced client side using libraries like Vue.js and React. The other difference was that I didn’t need to design anything like before. For example, I could just pick Bootstrap, compose the layout using its elements and focus on business logic. Yeah, it looked deadly boring but it worked.

Itching to build web apps again

Late one evening in January 2025, I realized two things:

  1. I want to build web apps again. Not only HTTP APIs for mobile apps.

  2. I am familiar with React and had heard so much about Next.js but honestly had no idea how it works what’s the purpose of it.

So within a few hours, I went through this course: https://nextjs.org/learn

I liked the idea of using JavaScript for everything and avoiding the mental context-switching between JS and PHP I have used to in the past. It felt like a recipe for ultimate productivity.

But honestly… It is not that straighforward and you have to adapt to some new concepts and ways of doing things. With Laravel you just create a new project, all the batteries are included and you can start building your app. With Next.js, you have to choose how to do things. Do you want to use a database? How do you want to connect to it? Do you want to use an ORM? Do you want to use serverless functions or set up a custom backend? Do you want to use TypeScript or stick with JavaScript? And so on. Yes, it provides a lot of flexibility, but it also means you have to make a lot of decisions and learn a lot of new things before you can even start building your app. It’s not as simple as it seems at first glance.

So maybe the price of switching between different languages in a full stack development environment is not that bad after all. That’s the end of the first part about full stack web development for now.