DEV Community

Cover image for A mythical full stack developer

A mythical full stack developer

Evgeny on March 03, 2017

How full is your stack? It really depends. I have friends deploying real-time systems to chips, and know developers writing artificial intelligenc...
Collapse
 
xenthered profile image
Rory O'Connor

On the fly Developer. Not the developer you want, but the developer you need.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Short, to the point, and all too true!

Collapse
 
0x4445565a profile image
Brandon Martinez

As someone who has written automation tools, applications in JS frameworks, worked in ASM, C, and Go but on the other end has also written a lot of PHP, Perl, and Python. Thank you...

Languages are just tools.

Some jobs require certain concepts (Like front end design vs systems design) but that's about it the tool doesn't matter and as a developer you should be able to learn everything you need to complete the task.

If the task is best completed in BrainFuck and you have the budget to do it in that, then you better start learning BF!

Collapse
 
programazing profile image
Christopher C. Johnson

I'm on the fence, to be honest. A mechanic is a mechanic and most likely knows a lot about completely fixing a vehicle. Yet there are a lot of mechanics who decide to specialize in repairing transmissions or even just everyday repairs like brakes and oil changes.

To be fair I think the term "Full Stack" is just a way for developers to advertise to non-developers (i.e. recruiters and employers) what it is we "specialize" in.

Collapse
 
kinnat profile image
Kinna

"Full stack" is everything though and by nature, one cannot specialize in everything. It's more like the medical/psychology term Not Otherwise Specified, used as a qualifier for X condition or disorder that doesn't fit into any one existing category. At that point, it would be better to simply say Developer.

Collapse
 
programazing profile image
Christopher C. Johnson

Well no Full Stack is not "everything" by nature. Full Stack implies you know a Front-End Web Language, a Back-End Server Language, and a Data Store.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Then, by definition, it isn't "full".

Thread Thread
 
programazing profile image
Christopher C. Johnson

That's the thing though, there really is no "official definition" for any of this. That's why developers are so conflicted on this issue.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

And that's the danger of using such terms, I believe. "Full stack developer" isn't meaningful, any more than "rock star developer" or "ninja developer". It's just terms cooked up, probably by some HR person somewhere, to make the job sound more glamorous than it is.

We need to be using terms with meaningful definitions, such as "web application developer" (the whole gamut, further defined in the job requirements), "web application UX developer" (a.k.a. what some people mean by "frontend"), "web application database developer" (a.k.a. what some people mean by "backend"), and so forth. These mean something.

Even so, it's odd that we fragment our trade so much. A developer who knows how to use CSS, JS, and SQL is a developer who knows how to use CSS, JS, and SQL, there's no need to call that anything else. I know C++, Python, and XML, but I don't have a fancy term for myself. Such odd naming might be marginally useful in titling job listings on Indeed, but let's face it - developer by any title can wind up needing to work on anything.

Anyway, "full stack" does rather seem to carry the odd implication that nothing exists outside of web application development. It's the current fad, but it's only the top six inches of a very deep iceberg, so saying "full" is pretty dismissive of the rest of the industry. I guess if you had to use the term, call it "full stack web developer" and leave it at that.

Thread Thread
 
programazing profile image
Christopher C. Johnson

You're right, when you boil it down it's just marketing/HR slang.

Collapse
 
c0d3_pt profile image
Bruno Gonçalves

Fullstack nowadays is just another way of saying "we want to pay less for more".

Collapse
 
adulfan profile image
adulfan

Well, not everyone is good at everything all at once. Some are great at figuring out algorithms and math functions, others at seeing that one pesky pixel that is out line. Another observation is Java Developers and Javascript Developers are two different animals.

Collapse
 
connor4312 profile image
Connor Peet

I don't agree that frontend/backend/full-stack developers 'don't exist'. A frontend developer is someone who is an expert in building web frontend. A frontend developer can learn new languages or tools and become a backend developer in a short period of time. Labels aren't permanent, but they are a useful and succinct way to communicate what you do.

Collapse
 
kinnat profile image
Kinna

I think it's more a way to communicate what you enjoy doing, rather than a rigid skillset.

Collapse
 
maxx0r profile image
Max

Can you get really good at something you don't enjoy?

Collapse
 
edwin_r_c profile image
Edwin Ramirez

I agree half way. Front and back ends are two different animals and both have to be taken down differently. Some prefer one over the other, therefore the distinction of front/back end developers.

But I do agree that we all need to be able to perform efficiently on any end to get things done.

That being said, I find it funny when "full stack" developers show their pride as if they are masters, senseis at writing code. We are ALL full stack developers to some measure.

Collapse
 
programazing profile image
Christopher C. Johnson

I'm proud enough to call myself a Full Stack developer but humble enough to know that means I'm not a true master of any one thing or even any one stack.

Collapse
 
yhippa profile image
Richard Yhip

It's almost like they should have "problem solving schools" instead of code schools.

Collapse
 
ekdikeo profile image
Eric B

Some developers have a large depth of knowledge on a few topics, some developers have a large width of knowledge across many topics. Some developers have a large depth of knowledge on a few topics and a large width of knowledge across many topics. But it's very difficult to have good depth the higher number of topics that you add. A developer only has so much time to devote to increasing their width or depth of knowledge.

If you ask me to work in a topic that I'm completely unaware of right now, it's going to take me a hell of a lot longer than someone who's familiar with the topic, versus someone who's an expert in the topic. Sure, I can probably figure it out, but it's not going to be the best solution, or it'll take me a lot longer to come up with the best solution.

I'm more of a "wide-width, expert at few topics" sort of guy.

Collapse
 
gregorgonzalez profile image
Gregor Gonzalez

Yes. A programmer is here to solve things. The frontend/backend is more to divide work or give you the choice to do what you like. Also do you wannabe good at many things or expert on a few? I love to learn new stuff but companies only want an expert on one thing.

Collapse
 
ghost profile image
Ghost

I tend to approach development similarly to the OSI layer model. I think it is helpful to know the layer below you and the layer above you, but you really don't need to know every detail of every layer in-between

Collapse
 
tobias_salzmann profile image
Tobias Salzmann

The divide between frontend and backend developers is correlated with the notion of horizontal slicing. We find that we can be much more effective by slicing vertically if not under time constraints, because what we produce in a unit of work is also testable and, most importantly, provides business value by itself. This can only work out if everyone is at least willing to work in styling code, frontend code, backend code, infrastructure code.

Collapse
 
hiprafoo profile image
Prabhu

Google it, understand it, get the job done

Collapse
 
freddyncastrop profile image
Friedrich Nowak

I would not recommend to give a task for numerical high performance and vectoization on a backend to a Web Front-End developer - or other direction.

Collapse
 
jasonkretzer profile image
Jason R. Kretzer

I wrote a similar post on LinkedIn with some of the same thoughts and wanted to share.

linkedin.com/hp/update/62637520705...

Collapse
 
rogertheriault profile image
Roger Theriault

We used to call this "Software Engineer". Maybe not something the folks with the iron rings supported but the spirit is there... you Engineer code, you should be able to engineer any code.

Collapse
 
nikitaworks profile image
Nikita Agafonov

Agreed.

Collapse
 
christoga profile image
Andre Christoga

Yeah, I mean I don't want to be only a front-end developer guy who can't play in the backend and vice versa.