With tools such as Node.js gaining in popularity, some developers believe the line between websites’ front- and back-ends is becoming meaningless. Others argue that the technology on each side remains specialized, and no one person can master both environments well enough to produce high-quality products. All of this points to a very real dilemma for Web developers: Should they pick a side to focus on, or plan to dive into areas that they used to leave alone?
The answer is complicated by the fact that the technology behind Web applications is evolving rapidly, with apps themselves becoming more complex. Though many employers like the idea of hiring developers whose knowledge encompasses both the client and server side, others are pushing the technology in ways that require deep expertise in order to create and maintain a product.
“Small companies need someone who can do everything,” said Michael Wales, Web development curriculum manager with the education company Udacity. “Bleeding-edge companies, like a Google or a Facebook, have the ability to hire someone who knows one thing and can do it excellently.”
No matter what kind of company you aspire to work for, the stack’s increasing complexity means you’ll need a solid understanding of how everything works. “As stacks themselves comprise more technology, employers are looking for breadth as well as depth,” said Jenni White, director of operations for the boot camp provider Codeup in San Antonio, Texas.
Or as Ryan Hauk, UI development manager in core site development for the watch and fashion company Fossil, put it: “It should go without saying that anyone with that broad level of skills is going to be looked on as more valuable.”
Wide vs. Deep
Indeed, employers value a breadth of knowledge, even if the jobs they offer are narrowly focused. “The size of the company has a lot of bearing in terms of the value it puts on specific skills,” said Will Harrell, UI developer in Fossil’s Digital Design department. “‘Full stack’ is a sliding scale, so the people I’d be looking for would have a variety of skills. You need to be familiar with the basics.”
Once you’re in a company, you might find that the actual scope of your work is limited. While larger organizations tend to offer more complex projects, their efforts are often broken down into discrete parts. It was the increasing complexity of Web apps that brought about the differentiation between the front end and back end in the first place, Wales said. He sees full stack developers as either occupying senior roles or working for organizations that aren’t building full-blown Web apps.
That means many of the opportunities for true full-stack developers lie within smaller companies. “Small teams value the flexibility that comes with someone who knows their way around both ends,” Wales added. Complex Web apps have forced developers to specialize in either front- or back-end. When that happens, “In practice, the full stack developer may be a more senior person who’s not doing a deep dive into a particular area.”
Employers like full-stack knowledge for another reason: It helps their teams work more efficiently. “Almost any Web developer is going to be working on some kind of team,” White noted. “Teams require excellent communication skills—speaking the language of your colleagues helps.”
For his part, Hauk sees value in getting exposed to the full stack early on: “If nothing else, a full stack course would give them an educated decision to see what suits their interest best.”