front-end-discourse icon indicating copy to clipboard operation
front-end-discourse copied to clipboard

What does "full-stack" developer really mean?

Open laras126 opened this issue 7 years ago • 7 comments

The complexity of the web is such that, today, being a true full-stack developer would mean someone be able to both shard a database and architect a [insert-JS-framework-here] app and implement complex layouts in CSS .

What does full-stack really mean these days? I'm a developer that's great at HTML/CSS, okay at JS, and great at WordPress. Am I full-stack?

Is full-stack a way of evading specialization, a jack of all trades, master of none?

laras126 avatar Oct 11 '17 16:10 laras126

IMO it’s usually a generalist with a concentration in back end work. Most often I see people that know a backend well (a language sometimes, or just a framework) and are either pretty decent at frontend basics, or are very familiar with their chosen backend framework’s solution to front end issues (e.g., unobtrusive JavaScript from 5, 10 years ago).

Conversely, I call myself full stack sometimes, because I’m proficient in and enjoy some backend work, but am never going to be able to evaluate and prescribe new backend tools/techniques like someone who sits in it all day.

IMO this title is asked for a lot at smaller companies or ones not yet comfortable with front end specialization. I get the feeling they want to be able to pass any task to any person, which may seem to increase options, stability, velocity for a while while keeping the number of enplyees limited.

robwierzbowski avatar Oct 11 '17 22:10 robwierzbowski

In my experience, a full-stack developer is actually a back-end (Node.js / PHP / .NET) developer who has basic knowledge in HTML+CSS and mediocre knowledge in JavaScript. Alternatively, a full-stack developer is a JavaScript master who has basic knowledge in back-end and HTML+CSS. I mean, this is what's going on in practice, those are the "full-stack developers" I see all around the industry. I never met a so-called full-stack developer who actually can build (by himself, without help) a good responsive UI, including a neat, scalable, modular stylesheet.

DoronBrayer avatar Oct 15 '17 13:10 DoronBrayer

In my mind, full-stack is someone who can work in, understand and communicate all tiers of development. HTML/CSS, JS, CMS or middleware, DBs, servers, even documentation, planning and testing - and be able to communicate these to other areas of a business (PMs, designers, other developers, etc).

My proficiencies certainly lie as front-end visualiser but span all areas to at least a competent degree. You certainly need to specialise in a particular field (whether that be traditional front-end, back-end or other) to avoid becoming JOATMON.

davshoward avatar Oct 16 '17 10:10 davshoward

@DoronBrayer Do you consider "without help" a CSS framework? I'd consider one a building block in the same way I'd consider a JS library. It's simple enough to modify/extend existing CSS, but I'd hate to have to create one from scratch.

nortonprojects avatar Oct 17 '17 06:10 nortonprojects

@nortonprojects Using a CSS framework is perfectly fine. "Without help" is dealing with the CSS framework by yourself, and also extending/adjusting it according to the product, while using modern techniques.

DoronBrayer avatar Oct 17 '17 08:10 DoronBrayer

It feels like a full stack developer should mean somebody who is totally proficient and experienced on both the front and back end (which is very rare). I often come across job descriptions looking for a full-stack MEAN stack developer, which seems kind of reasonable because it's JavaScript end-to-end. But it's still rare that you'll find someone who can write all your client-side JavaScript and CSS at scale (while doing a good job of it) and also architect your database, API and deal with authentication among a host of other back-end related things. I'm going to refer to the previous title of this discussion/issue "We should stop using the term "full-stack" developer" and say yes, I agree, we should stop using that term, unless you are the one in a million who can truly do all of these things (which you probably are not).

ghost avatar Oct 17 '17 13:10 ghost

You should read this: https://github.com/laras126/front-end-discourse/issues/10 https://github.com/laras126/front-end-discourse/issues/9

DoronBrayer avatar Oct 17 '17 14:10 DoronBrayer