Full-stacks… what is the stack… that is full?
I started with desktop applications.
You know, back in the good old days when software wasn’t just a bunch of JavaScript spaghetti running in a browser that is consuming more RAM than it was available in a top tier PC fifteen years ago. It was built for machines with real power—512MB of RAM and an Intel Celeron—running on hardware that didn’t depend on an API call to render a button. And the best part? The app connected directly to a database sitting on a server somewhere, like a complete sociopath. No API layers, no REST, no GraphQL, just a raw, reckless connection.
But was I doing full-stack back then? I mean, I built the UI, I wrote the BE logic (inside the app itself), I handled data storage—sounds a lot like backend and frontend, doesn’t it? But, at that time, we just called it “Tamas, you need to create a software to solve this problem”. So now, do we separate desktop from full-stack? Isn’t it just then… desktop and web? And if full-stack is actually web development, then what is web development actually?
Why Fullstack doesn’t exist?
A "full-stack developer" is someone who does both frontend and backend for web applications, I guess. The web has its own taxonomy, and in this little digital kingdom, full-stack means you write React on one side and Node.js on the other (or insert your favorite stack here).
But hold on—what about DevOps? CI/CD pipelines, infrastructure-as-code, server maintenance, database scaling—these are things that almost always come with the job, but they’re rarely included in the full and stack definition. That’s ironic, isn’t it? The only thing in the world of software development that’s actually different from coding—managing the infrastructure—is excluded from the very term that implies covering everything.
If we draw lines between desktop, web, backend, frontend, DevOps, and mobile, are we actually defining something meaningful, or just creating job titles that sound good in a hiring post or rather just intimidating otherwise capable people?
Specialist vs. Generalist Debate
A specialist thrives where precision, optimization, and deep expertise are critical. Mission-critical systems—embedded software, aerospace, medical, and nuclear control systems—absolutely require specialists. A misplaced bit in these environments could mean actual disaster. If you’re writing firmware for medical devices, high-frequency trading algorithms, or security-critical encryption, you need deep, focused knowledge. Mistakes in these areas aren’t just bugs—they’re catastrophic failures.
A generalist, on the other hand, thrives on adaptability—knowing a wide range of tools and when to apply them. Web developers, mobile developers, DevOps engineers, and even backend engineers benefit from a broad knowledge base rather than extreme specialization. Their strength lies in versatility: being able to build, integrate, and iterate efficiently across an entire system.
For most web development, which is essentially CRUD operations—create, read, update, delete, repeat—a glorified form of data management, does this require a specialist? No. In fact, a specialist would be a waste of resources. For most web applications—whether it’s an internal tool for managing invoices or a full-fledged social media platform—your best bet is a generalist. Someone who can set up a database, write APIs, build a frontend, and—yes—deploy the thing, without needing an entire team for each step.
And what about mobile development? If a web developer builds an Ionic + Capacitor app, does that suddenly make them a mobile developer? Just because they can access a phone’s camera and storage, should they now add Mobile Engineer to their title? If so, then because I can switch an LED on and off with a Raspberry Pi—which I can actually do—I should call myself an Embedded Systems Engineer, right?
At the end of the day, it’s not about whether you’re "full stack," "backend," "frontend," or whatever buzzword is trending on job boards. It’s about solving problems. Some problems require deep specialization. Most problems, especially in web development, require generalists who can move across domains and get things done.
So, What Am I Even?
I started as a desktop developer, which means I was already full stack before the term even became cool.
But if we accept that full stack = web dev, then sure, I guess I’m full stack too. And if DevOps is the missing piece, well, I can spin up a server, configure Nginx, and deploy with a pipeline. And I’ve done PWA and Ionic mobile apps too… Does that make me a full-stack-plus-DevOps-mobile developer?
I think I’ve found the title we’ve been looking for so far, it’s called
Software Engineer.
Think of it this way;
Could an embedded dev write .NET code for your API? Absolutely.
Could a web dev learn how to deal with a Raspberry Pi? They absolutely should be able to.
At the end of the day, these titles mean nothing. A good developer is a problem solver first, a tool user second, and a job title last.
Now, if you’ll excuse me, I need to go write some desktop, web, backend, frontend, mobile, and infrastructure code. Because I just call it software development.
👍🏼