A full-stack developer understands the entire software stack, from the GUI front end to the database back end. However, not everyone agrees on the level of mastery needed to earn the title
A full-stack developer is a jack of all trades and a highly sought-after job candidate. The title implies a breadth of knowledge that can be invaluable to short-staffed startups and big companies managing complex apps alike.
However, the term โfull-stack developerโ is controversial among developers. Some disparage the idea that anyone could be equally competent across an entire software stack, while others believe that the term has been so overused by employees and employers that it has become somewhat meaningless.
Defined: What is a full-stack developer?
A full-stack developer is someone who is competent to deal with the technologies behind the entire application stackโthat is, the different layers of technologies that make up a modern application. The term is meant to contrast with developers who focus exclusively on an applicationโs front end (the UI, usually a website or mobile app) or exclusively on the back end (the business logic that drives the application and the database where the information the application needs is stored).
In theory, a full-stack developer would be as comfortable with the JavaScript code running in the userโs browser as they would be with the MySQL queries that get the information the user wants from a database.
Of course, this calls for mastery of a lot of technologies, a skill so rare that people use the phrase โunicornโ to describe practitioners. In a long and influential diatribe, developer Andy Shora made the claim that these true full-stack developers are a mythโthat everyone has more mastery of some aspects of the stack than others, but that the existence of term โfull-stack developerโ encourages people to overstate some of their skills.
โThe basics of the languages/frameworks we learn today can often be picked up in a matter of hours,โ he says. โThe problem is, I feel the difference between knowing something in web development and truly mastering it is now becoming an increasingly blurred line.โย (Shora identifies himself specifically as a front-end developer.)
Even if you canโt achieve total mastery across the stack, there is value in being comfortable with all the parts of an application. Codeup, which bills itself as a full stack coding bootcamp, offers what it calls a โrealisticโ definition:
โA full-stack developer is simply someone who is familiar with all layers in computer software development. These developers arenโt experts at everything; they simply have a functional knowledge and ability to take a concept and turn it into a finished product. Such gurus make building software much easier as they understand how everything works from top to bottom and can anticipate problems accordingly.โ
In other words, even if you spend most of your time working on an applicationโs back-end, you know enough about front-end development to be able to work well with those teams and see the big picture for the whole project. Web Designer Depot offers a take that similarly emphasizes a holistic vision rather than total mastery: โA full-stack developer โฆ understands and has at least the basic skills to develop a product from start to finish.โ Shora points out that short-staffed startups in particular are keen to get these kinds of generalists on staff.
The term โfull stack developmentโ first arose in the early Web 2.0 era, as static web pages gave way to AJAX-powered dynamic ones. As Shora points out, the idea of full stack development was much simpler back when the typical software stacks were less complex, as in the 2000s when the four-layer LAMP (Linux, Apache, MySQL, Perl/PHP) was king.
Today, full stack development involves more complex coding throughout the stack, with multiple choices for technologies and frameworks at each layer. Some shops will try to use a single technology throughout the stack as much as possible to make full stack development easier.
For instance, thanks to Node.js bringing JavaScript to the server side, you can now be called a full stack JavaScript developer, and a quick walk through the job boards shows instances where other tech is used, like Microsoftโs .Net. Nevertheless, in most cases full stack development involves juggling multiple platforms and technologies.ย ย ย ย ย ย ย ย ย ย
How to become a full-stack developerย
The simplest answer, then, of how to become a full-stack developer is to gain familiarity with a wide range of technologies. There are a variety of sources that will give you advice on the subject, from Web Designer Depot to, well, InfoWorld, but this guide from Coderbyte is fairly exhaustive, and covers:
- HTML/CSS
- JavaScript
- Back-end languages/frameworks (such asย Node.js, Python, Ruby, andย Java)
- Databases and web storage (such asย MySQL/MariaDB, andย MongoDB)
- Web application architecture
Beyond these specific technologies, you should familiarize yourself with Git, the omnipresent version-control system, and basic algorithms and data structures of the sort taught in computer science classes. And if you want some info on some specific cutting edge tech that should be on your radar today, check out this list of libraries from software developer Andrei Neagoie.
Full-stack developer courses
This is, of course, a lot to chew on! And there are plenty of online courses that purport to give you at least the basics, including:
There are also a number of boot camps that provide more in-depth, in-person (and expensive) education. Fullstack Academy has the golden name (though keep in mind it focuses on full stack JavaScript development); thereโs a good comparison of various options at Course Report.
Full-stack developer interview questionsย
You can find several templates of typical interview questions for full-stack developers online, from job boards like Betterteam and training firms like Digital Vidya. Most are tailored to help HR make hiring decisions, rather than to help candidates study up, but some interesting patterns emerge, and some of the questions give you a sense of what your day-to-day life as a full-stack developer would be like.
You need to have good answers about how you learn, for instance, because you canโt possibly know everything youโll need to know for the job now, and employers want to know if youโre a quick study. You also want to talk about your teamwork and soft skills, because part of a full-stack developerโs tasks involves coordinating across teams, just as the developer contributes to different parts of the application.
Itโs not all touchy-feely stuff, though. You also have to jump through the usual computer-science hoops that technical interviews entail.
Full-stack developer jobs
This is a lot of hue and cry over a single job title, but thereโs a reason for that: According to an analysis by compensation specialist PayScale, full-stack developer was literally the fastest growing job category in the United States in 2018. There is a hunger out there for job candidates, so plan accordingly.
One thing that you may wonder about in your job hunt is the difference between a full-stack developer vs. a software engineer. Thereโs a particularly evocative comment on a Reddit career advice thread that considers a โdeveloperโ to be more like a general contractorโpractical, more involved in the nitty grittyโwhile an โengineerโ is like a civil engineerโmore involved in theory and high-level concerns. But the truth is that โsoftware engineerโ is often used to mean โa developer who seems smart who weโve promoted,โ and there are plenty of jobs that have the โfull stack software engineerโ title that arenโt qualitatively different from full-stack developer jobs.
Full-stack developer salary
Estimating salaries isnโt an exact science, but the consensus is that full-stack developers pull down a decent wage. Engine Yard pegs the starting salary for full-stack developers at $97,000, and that can go up in expensive markets like the San Francisco Bay Area. Tech Republic estimates the average base salary of a full-stack developer at $111,640, and notes that the number of job ads looking for full-stack developers has tripled since 2014.
So if the description in this article has intrigued you about this job, thereโs good news: You can make a pretty good living at it.


