What Is a Full-Stack Developer?
You may have heard the term full-stack developer over the past several years and wondered what it means, what it entails, and how it’s different from other types of development.
Depending on who you ask, you might get a few different answers, ranging from “there’s no such thing as full-stack development” to “full-stack developers died out years ago.”
While there’s plenty of discussion about whether someone can truly be a full-stack developer, we’ll cover the basics of what the term means, real or not.
A full-stack developer is someone with programming skills in every layer of the technology stack, from back-end servers and databases to the front-end interface and user experience. Full-stack developers don’t necessarily have complete mastery in each layer, but enough to build and deploy a web application from scratch.
The Back-End Stack
A full technology stack consists of a back and front end.
The back-end stack, also called server-side stack, consists of programming languages, databases, and servers that people never see or interact with. It’s the guts of the machine that processes the data eventually transformed into the user interface on a website.
The server-side setup can vary, but a classic, well-known stack is called LAMP:
- Linux: operating system
- Apache: web server
- MySQL: database
- PHP: scripting language; often replaced with Perl or Python
Nowadays, developers have many more platform options than they did in the early days of web development.
The Front-End Stack
The front-end stack, also known as client-side stack, consists of languages and frameworks that produce the visual elements people see on a website. Front-end developers are concerned with the user interface, content layout, presentation, and overall user experience.
The Full Stack
As you may have guessed by now, a full-stack developer has expertise in both front- and back-end web development—a Jack or Jill of all Trades, if you will.
Some think a developer skilled in all layers—from the operating system, servers, and databases all the way to the user interface, layout, design, and business requirements—isn’t really possible because no one is capable of possessing enough mastery in each layer to be truly effective.
What do you think? Are full-stack developers a myth or reality?