DEV Community

Discussion on: Question regarding "Junior Full Stack Developers"

Collapse
 
bytebodger profile image
Adam Nathaniel Davis • Edited

You've already seen a range of replies on this, but I might still be able to provide a bit of context. A web "stack", in programming terms, is a suite of complementary technologies that can be combined to create a full web-based application. One of the earliest web "stacks" was LAMP (Linux, Apache, MySQL, and PHP). If you were at least somewhat comfortable with all four of those platforms, you could reasonably call yourself a "full-stack developer" (although there was really no such term ~20 years ago).

Truth be told, even amongst seasoned LAMP pros, I've met very few who are truly comfortable working on Linux command line and doing in-depth configuration of Apache and managing a MySQL database and writing PHP code. Also notice that, with the LAMP stack at least, it's almost entirely a backend stack. In other words, your PHP code might ultimately be delivered to the browser (i.e., the frontend), but most-or-all of the real "logic" lives, is compiled, and is run on the server. By the time it gets to the browser, it's just static HTML/CSS. (And yeah... I know that it's at least possible to generate frontend code - i.e., JavaScript - on the server, in your PHP code, and then deliver it to the browser where it will run. But this is still a weak approximation of what we think of nowadays as "frontend development".)

With the advent of real frontend logic - basically, with the introduction of jQuery - you started to see more specialization amongst some devs. Even today, I know plenty of very senior, very skilled devs who really only want to write backend code. Think: C# or Java. I've also met some who really just prefer to write frontend code - almost always: in JavaScript.

In the last 5-8 years, there's been a new proliferation of "fullstack developers". Soooo many people now use JavaScript as their first language (and in many cases, their only language). And now, you can be "fullstack", even if you "only" do JavaScript, with tools like Node and Mongo and GraphQL and many others.

IMHO, "fullstack" doesn't mean that you're "better". And focusing more heavily on frontend-or-backend doesn't mean that you're any less talented (or any less valuable in the marketplace). I know guys who are "only" frontend or "only" backend - and they command very high salaries because they're extremely talented (and experienced).

Conversely, some "fullstack" devs are indeed junior. They completed a code camp where they wrote, for example, a React app, that sends calls to a web service they wrote in Node/Express, that saves data into a MongoDB database. Technically speaking, that is "fullstack". (Specifically, it's a "fullstack" application developed in the MERN stack.) But that doesn't mean that writing their one little proof-of-concept app graduates them beyond "junior".

In many respects, having fullstack devs vs frontend/backend devs speaks to the overall size of the organization where they're employed. If you're gonna work for a startup where there's only 2-3 devs or maybe even, 1 dev), you probably can't afford to have one guy who says, "Yeah... I can't really fix that problem, because it's in the React code, and I only work server-side code." Or another guy who says, "Yeah... you'll have to get a frontend guy to look at that, because I only write the web services in Node/Mongo, and that problem/feature is in the frontend Angular codebase."

But in larger companies/teams, it's not uncommon to have devs who "only" work on the server-side code and others who "only" work on the frontend code. That doesn't mean that they're "junior" or somehow "less than" the fullstack guys. It just means that they're comfortable enough in their own skin to say, "My interests really lie more in this part of the app - and that's where I'd prefer to continue specializing."

The first 10-15 years of my career were basically backend development. Cuz when I started in this career, there really were no "frontend developers". Now, I'm known as a "fullstack developer" because, when I need to, I'm perfectly comfortable writing code directly on the server. Or writing code that only lives in the database layer. But I greatly prefer to work on the frontend now (ideally, in React).

So when I'm interviewing with a company for a "fullstack" role, but it becomes apparent that the bulk of the work will need to be done in, say, Java - I politely withdraw myself from consideration. Because I'm just much happier (for now) dealing primarily with frontend code.