What is a Full Stack Developer?

A full-stack developer can build a feature from the screen people tap, through the code on the server, down to the data it keeps, and this bootcamp teaches you to do exactly that with C#.

Novice · Web Development · Software Development · Updated

After this lesson you can

  • Explain what a full-stack developer does, and what the title doesn't mean
  • Name the three layers of a web app and what each one does

Key takeaways

  • A web app has three layers that work together. The front end is what people see. The back end runs the rules. The database keeps the data.
  • A full-stack developer can build a feature through every layer, from the button on the screen to the row in the database.
  • Full stack doesn't mean an expert in everything. It means you can work in every layer, and most full-stack developers go deeper in one of them.
  • This bootcamp teaches one complete stack, layer by layer, so by the end you can build and put online an app of your own.

Open almost any job board and search for developer jobs: "full-stack developer" is one of the titles you'll see most. It's also one of the most misunderstood. Some people think it means a person who knows every programming language ever made. Others think it's a fancy name for a web designer. Neither is true, and by the end of this lesson you'll know what it really means, because it's what this bootcamp turns you into.

One pizza order, three layers

Picture an app you might use on a Friday night: Build-It Pizzeria, where you build your own pizza. You'll meet this pizzeria again later in the course, when you design its database.

You open the app on your phone. You pick a large, a thin crust, mushrooms and green peppers. As you tap each topping, the price at the bottom goes up: $13.00, $14.00, $15.00. You press Order, and a few seconds later the screen says Your pizza will be ready at 7:40.

That felt like one thing. Behind it, three different parts of the app did three different jobs:

  1. The screens you used to build your order. The buttons, the picture of your pizza, the price that changed as you chose. It runs on your phone, inside the browser or the app.
  2. The logic that calculated your order total. Somewhere on a computer you never see, code checked that every choice is on the menu, worked out the real price (the phone could be wrong, or someone could cheat), charged your card and sent the order to the kitchen.
  3. The part that saved your order. Your order was saved, with the sizes, the toppings and the time. It's still there tomorrow, when you open the app and tap Order again.

A phone showing the Build-It Pizzeria order screen on the left, a server in the middle checking the order and working out the price, and a database on the right storing it, with arrows between the three

The front end, the back end and the database

Those three parts have names, and you'll use them every day as a developer:

  • The front end is everything the user sees and touches: the screens, the buttons, the forms, the animations. It runs on the user's device.
  • The back end is the code that runs on a computer called a server. It holds the rules of the business (what a pizza costs, who can see whose order) and it does the work the user's device shouldn't be trusted to do.
  • The database is where the app keeps its data, organized so it can be found again in a fraction of a second: every customer, every order, every topping.

Think of a restaurant. The front end is the dining room: the menu, the table, the waiter who takes your order. The back end is the kitchen, where the cooks follow the recipes and decide what goes out. The database is the pantry and the order book, where everything is stored and written down. A diner only ever sees the dining room, but the restaurant needs all three.

These layers sit on top of each other, the front end on top and the database at the bottom, which is why developers call them a stack. The next lesson, What is a Development Stack?, shows several stacks and the one you'll learn.

So what is a full-stack developer?

A full-stack developer is a developer who can build a feature through every layer of the stack. When the pizzeria's owner says "customers want to save a favorite pizza", a full-stack developer can do the whole job:

  • add a Save as favorite button to the order screen (front end);
  • write the code on the server that saves it, and makes sure you can only see your own favorites (back end);
  • add a place in the database to keep favorites (database).

Other developers specialize in one layer: a front-end developer builds what people see, a back-end developer builds the server code, and a database developer designs and looks after the data. After the next lesson, What is a Development Stack?, there's a lesson about each of them: The Front End, The Back End and The Database. A full-stack developer knows enough of all three to build something complete, and to talk to each specialist in their own words.

What full stack doesn't mean

Here is the misunderstanding cleared up:

  • It doesn't mean knowing everything. Nobody is an expert in every layer. Most full-stack developers are strong in one layer and good enough in the others to build a feature end to end.
  • It doesn't mean every language. It means one stack, learned well. Once you know how one stack works, learning another is much faster, because the layers do the same jobs everywhere.
  • It doesn't mean doing it all alone. On a team, full-stack developers are valued because they understand the whole picture: they can see where a bug really lives, and they can pick up whatever work the team needs.

Why it's worth it

When you can work in every layer, you can build a real thing from nothing: an app for a club you're in, a site for a friend's business, a tool that solves a problem at your job. You aren't waiting for someone else to build the other half. That's also why employers like full-stack developers for a first job: you can be useful on almost any task the team has.

Try it. Pick an app you used this week: a food delivery app, a bank, a game, a streaming service. Name one thing in it that's front end (something you saw), one that must be back end (a decision or a rule) and one that must be in a database (something it remembered about you).

Check yourself

2 questions to try on the lesson page.

So what

Every app you'll build in this bootcamp has these three layers, and you'll learn to build each of them, one at a time, until you can build all three together.

Key terms

  • Full-Stack Developer
  • Front End
  • Back End
  • Database

Cheat sheets