Explain it to me like I’m 5:
what is a tech stack?

Nick Gracilla
3 min readFeb 9, 2022

--

Explain it to me like I’m 5 (ELI5) is an article series where I apply the Feynman Technique to explain technical topics in web and web application development from first principles: clear, simple, and hype-free.

Utah in 2012, by Nick Gracilla

I love Mirriam-Webster’s definition of a stack: an orderly pile or heap. Good humor there.

In technology, a stack is a metaphor: a way of visualizing a collection of software systems used together to get work done.

It’s a powerful and easy-to-visualize concept. We naturally understand stacks of things — like pancakes. That intuitive idea of layers of things from bottom to top applies in tech stacks, too. Technologists often talk about “low-level” software, meaning code that works to manage a device’s hardware. As you move “up” the stack, you move up in layers of abstraction: an operating system runs on hardware; software runs in an operating system; and finally, humans (yay) interact with software through a user interface.

The mixed metaphors: top/front, bottom/back.

In illustrated models of a tech stack, the top layers represent software systems that we humans use and interact with. Confusingly, somewhere along the line, a new metaphor snuck in. Technologists describe all the human interfacing systems as the “front” end. And all the other parts are called the “back” end. I guess the metaphor went from pancakes to train cars. I’m sorry I wasn’t there to get that sorted before it took off.

Frontend developers, then, are folks who develop software that interfaces with people. Backend developers are folks who develop software that doesn’t directly interface with people but does everything to make that happen: managing data, business rules, and how the software functions. “Full-stack developer” is a term that, frankly, came out of code boot camps, to describe web developers who can work on both the front and backends. Practically speaking, because there are so many technologies here, full-stack developers typically know a few frontend systems and one or two backend systems that support them.

What’s your tech stack?

Some tech stacks were built to work naturally together; so they are named based on their parts. In these cases — especially for web tech stacks — there are often three or four layers: an operating system, a web server, a database, and a programming language. Be warned: the names are memorable, but don’t represent the various layers in order! Popular stacks include:

  • LAMP: Linux, Apache, MySQL, and PHP or Python (or, decades ago, Perl)
  • MEAN: MongoDB, Express.js, Angular, and Node.js
  • WISA: Windows server, IIS, SQL Server, ASP.net
  • Jamstack: JavaScript, APIs, Markup

There are dozens more.

Then, stacking took over the world.

Although stack-as-metaphor originated in technology, it’s used everywhere else now, too. In Atomic Habits, James Clear talked about “habit stacking.” Folks in marketing talk about their “marketing stack.” The “India Stack” references the national project in India to enable cashless payments (and much, much more). Fitness fans have workout stacks and recovery stacks; consultants have solution stacks to describe their services; there’s even full-stack healthcare — meaning, everything from the patient-doctor relationship to data records and storage.

--

--

Nick Gracilla

Tech consultant thinking about everyday agile, ethical UX, and ongoing learning. Fitness • philosophy • language studies • travel