DEV Community

loading...
Cover image for DISCUSS: The blurred line between front-end and fullstack

DISCUSS: The blurred line between front-end and fullstack

naseki profile image Naseki ・Updated on ・1 min read

The meaning of a "front-end webdeveloper" has really shifted over the years as more technologies started becoming the norm. Here are two of my favourite articles that talk about this:

Front-ends without frontiers

I've started off as a front-end webdeveloper myself. As I started learning more back-end technologies it was hard for me to tell when I could start considering myself a fullstack. Even today, I'm not actually sure where the front-end ends and where the back-end begins.

The front-end has become such a blurred subject that it made job hunting exceedingly slower. Now you have to carefully read every job description just to determine what kind of "front-end webdeveloper" they're talking about.

I've even seen job descriptions that use front-end and fullstack interchangeably. Yes. Not even sure if that's intentional or they're a little confused themselves. 😢

✍ Comment below answering the following questions

  1. Do you consider yourself a fullstack webdeveloper? Why?
  2. If you could make a clear definition of "front-end" and "fullstack", what would it be?

Naseki logo

Twitter | Website | Newsletter

Discussion (16)

Collapse
technoglot profile image
Amelia Vieira Rosado

Not sure I can add much to the conversation but here's my take:

  • When they say full stack, I'm inclined to ask: WHAT stack. I think it is more meaningful to speak in terms of stacks (MERN, HERN, MEAN, PETAL.....) than to say something as vague as full stack. This counts for both job seekers and recruiters. Be specific. Period.
  • In my opinion (don't kill me for having one), full stack sometimes sounds like you are expected to do the work of a whole team. I don't find that entirely sustainable. Nothing wrong with being proficient in front AND backend technologies. But it doesn't hurt to have a "focal point".

That's all I can add to this discussion. πŸ€·πŸ»β€β™€οΈ

Collapse
naseki profile image
Naseki Author

I think it is more meaningful to speak in terms of stacks (MERN, HERN, MEAN, PETAL.....) than to say something as vague as full stack

It'd definitely save some time if they could just drop the stack they're looking for instead of forcing us to read the whole thing to connect the dots ourselves.

full stack sometimes sounds like you are expected to do the work of a whole team. I don't find that entirely sustainable.

I think it usually depends on the size of the projects the company tends to make. Having a fullstack webdev is usually a lot more convenient for both sides when it comes to smaller projects. Whereas for larger projects I find that companies typically don't (or at least shouldn't) look for fullstack webdevs since the team will be larger and there's more specialisation for both sides required.

Nothing wrong with being proficient in front AND backend technologies. But it doesn't hurt to have a "focal point".

I think that's the state almost all fullstack webdevelopers are in already. Most of the time, they're mainly geared towards one end and the other end is more of a means to... an end. :p

Collapse
theowlsden profile image
Shaquil Maria

Do you consider yourself a fullstack webdeveloper? Why?

No, I can work on both front end and backend, but I'm not a fullstack. Why? Because there are different stacks out there and most of these stacks have multiple technologies, to be a fullstack you must dominate all aspects for the development of an application and all the techs in a stack (be it LAMP, MERN or MEAN) and I don't dominate all the aspects of application development.

If you could make a clear definition of "front-end" and "fullstack", what would it be?

  • frontend - the presentation layer of an software/ application. It displays the result of the backend to the user and serves and an input for the user to interact with the application logic. As a frontend developer you take care of creating an interesting and interactive presentation layer for the application.

  • full-stack - you work with a specific set of technologies to create a fully working application. Both the application logic and data storage (backend) and the presentation layer. Most times this is a job of a team.

Collapse
naseki profile image
Naseki Author • Edited

To be a fullstack you must dominate all aspects for the development of an application and all the techs in a stack (be it LAMP, MERN or MEAN) and I don't dominate all the aspects of application development.

+

Frontend - the presentation layer of an software/ application. It displays the result of the backend to the user and serves and an input for the user to interact with the application logic. As a frontend developer you take care of creating an interesting and interactive presentation layer for the application.

Those two things combined together... Wouldn't that be a little conflicting? You say that the frontend is the presentation layer, but what if the developer is proficient in MERN and MEAN, but not LAMP at all, for example? Are they neither a frontend webdev nor a fullstack one, then? πŸ€”

Collapse
theowlsden profile image
Shaquil Maria

Those two things combined together... Wouldn't that be a little conflicting? You say that the frontend is the presentation layer, but what if the developer is proficient in MERN and MEAN

MEAN, MERN, LAMP, are all stacks, so when you say you are a full-stack you must dominate each aspect of one stack (or multiple, if that's your thing). As a full-stack, you must always specify which stack you are working with.

If you are a web developer, you are working on the front end of a website or web app by default. If you are a front-end web developer, you are specifically working on the UI of a web app or website. If you are a back-end web developer, you are working on a web application's logic and data storage. If you are a full-stack, you are working on both sides of the application with a specific stack.

In the case of the MERN stack. As a front-end dev, you are working with React, nothing more. As a back-end dev, you are working with Mongo for data storage, Express for API development, and Node for backend logic.

I hope that clarifies it for you.

Thread Thread
naseki profile image
Naseki Author

Ah! I've simply misread your initial comment!

I thought you meant you need to master all stacks possible and that the reason you don't consider yourself one is because you don't know all of them. 🀣 Carry on then! Your definitions make sense!

Collapse
technoglot profile image
Amelia Vieira Rosado

I can surely live with this πŸ‘ŒπŸ»

Collapse
jaredcwhite profile image
Jared White

Frontend is code that executes in the browser. Backend is code that executes on the server and (optionally) pushed to the browser. It doesn't have to be blurred.

What makes it feel complicated is there are people using traditionally-backend technologies to generate the markup that the server sends to the browser, and there are people using traditionally-frontend technologies to generate the markup that the server sends to the browser. A problem arises when the people who are using traditionally-frontend tech on the backend are misleading (or dishonest) about what they're doing and the cons to that approach (no, it's not all pros, not at all). So much needless confusion has arisen in our industry for arguably poor reasons.

Collapse
naseki profile image
Naseki Author

I 100% agree with you. The distinction between front-end and back-end is very clear. It's much less a technical problem than it is an industrial problem.

I also believe that it's that companies are setting higher expections on front-end webdevs in being capable of doing true back-end technologies when that shouldn't be expected at all. This common behaviour causes the meaning to shift unnecessarily.

Collapse
robvirtuoso profile image
robvirtuoso • Edited

"Full stack" is the philosophy hyped by poor startups that can't afford to hire proper frontend and backend specialists. Quite frankly, the concept is overrated.

There are many excellent backend devs who are half-baked at frontend, and vice versa. You can't be an expert of everything, but being an expert at one thing is the most gratifying gift you can give to yourself.

Knowing everything makes you a handyman. Excelling in one field makes you an engineer.

Collapse
naseki profile image
Naseki Author

πŸ’―πŸ’― And most of them aren't even embarassed to admit that. Except that they act as if it's a good thing! 🀣 (e.g. "We want someone to be able to do both to minimise communication within a project")

This wouldn't be so much of a problem if they'd also give you a higher pay in exchange of doing the work of two people at once.

Collapse
robvirtuoso profile image
robvirtuoso • Edited

haha yeah. Two specialists who both have good communication and collaboration skills, even with the constant back and forth meetings/discussions/debates etc. would still be more productive and efficient than a single "full stack" dev who occasionally struggle with a problem that they lack in-depth knowledge on.

Collapse
alanmynah profile image
alanmynah

Yes, SSR is that blurred line. It's on the server, but it's frontend. So i guess that could be the front of the backend, but then it's... I don't know any more. :D

On a serious note, full-stack to me always means that it's a dev who knows all the key aspects and main motives across the stack. It's the connecting developer on the team who precisely because they are not a matter expert in any one thing, can connect the dots across the product and are on the lookout for way to improve life of experts.

Collapse
theowlsden profile image
Shaquil Maria • Edited

Well SSR IS frontend, that you serve from client or server it doesn't matter. (Or so I thinkπŸ˜…)

On a serious note, full-stack to me always means that it's a dev who knows all the key aspects and main motives across the stack.

True enough, basically a dev that "can" act as a developer of each part of the application.

Collapse
bholmesdev profile image
Ben Holmes

Fair question! I've been wondering this myself since Chris Coyier's take on the "great divide" of web development, where even just frontend has taken on some backend-y expectations.

Let me say that full stack has taken on a new meaning as it's gotten thrown around over the years. In my opinion, it means you'll be touching some pieces of the stack from the database layer to the UI. This could exclude:

  • Dev Ops tasks like e2e tests and security
  • Database work
  • Creating and maintaining a "design system" (i.e. you build the UI with building blocks from someone else)
  • etc etc etc

In my opinion, any team member who pitched in on both a) querying for data and b) displaying that data to the end user (no matter who helped them get there!) should be considered full stack. It's up to companies to explain the aspects of fullstack + frameworks they expect new employees to use. Even this answer feels shaky to me but I hope it helps!

Collapse
naseki profile image
Naseki Author

Haha! I wanted to list that article as well, but decided to keep it at one article from Chris Coyier, and I like his saltier one. :p

A pretty unique meaning of fullstack compared to the other comments, but it does make sense! A lot of fullstack roles don't seem to have as many requirements for the back-end than the front-end. You'd think that *full*stack means that you need to be able to use the stack from top to bottom, but in reality that isn't necessarily the case.

Forem Open with the Forem app