Ask Slashdot: Are 'Full Stack' Developers a Thing? 371
"It seems that nearly every job posting for a software developer these days requires someone who can do it all," complains a Slashdot reader, noting a main focus on finding someone to do "front end work and back end work and database work and message queue work...."
I have been in a relatively small shop that for years that has always had a few guys focused on the UI. The rest of us might have to do something on the front-end but are mostly engaged in more complex "back-end" development or MQ and database architecture. I have been keeping my eye on the market, and the laser focus on full stack developers is a real turn-off.
When was the last time you had an outage because the UI didn't work right? I can't count the number of outages resulting from inexperienced developers introducing a bug in the business logic or middle tier. Am I correct in assuming that the shops that are always looking for full stack developers just aren't grown up yet?
sjames (Slashdot reader #1,099) responded that "They are a thing, but in order to have comprehensive experience in everything involved, the developer will almost certainly be older than HR departments in 'the valley' like to hire."
And Dave Ostrander argues that "In the last 10 years front end software development has gotten really complex. Gulp, Grunt, Sass, 35+ different mobile device screen sizes and 15 major browsers to code for, has made the front end skillset very valuable." The original submitter argues that front-end development "is a much simpler domain," leading to its own discussion.
Share your own thoughts in the comments. Are "full-stack" developers a thing?
When was the last time you had an outage because the UI didn't work right? I can't count the number of outages resulting from inexperienced developers introducing a bug in the business logic or middle tier. Am I correct in assuming that the shops that are always looking for full stack developers just aren't grown up yet?
sjames (Slashdot reader #1,099) responded that "They are a thing, but in order to have comprehensive experience in everything involved, the developer will almost certainly be older than HR departments in 'the valley' like to hire."
And Dave Ostrander argues that "In the last 10 years front end software development has gotten really complex. Gulp, Grunt, Sass, 35+ different mobile device screen sizes and 15 major browsers to code for, has made the front end skillset very valuable." The original submitter argues that front-end development "is a much simpler domain," leading to its own discussion.
Share your own thoughts in the comments. Are "full-stack" developers a thing?
Developers always have core strengths and weakness (Score:5, Interesting)
ALL devs should be full stack (Score:2)
The parent is spot on, specialization in our field should never mean exclusivity, it should just mean a strength. Being full stack is the only way to truly understand what it means to write simple, elegant code. Watching your too-clever-by-half solution go up in brittle, flaming bits as soon as you deploy it on the real platform teaches you a lesson you cannot learn in books, only by doing.
The way to learn the full stack is on your own time, on your own projects, exploring whatever components tickle your fa
Re: Developers always have core strengths and weak (Score:5, Informative)
A "unicorn" is mostly just someone who's been around for more than a few years and kept learning in a broad range of areas. There are plenty out there.
Some employers have trouble with wanting unicorns but only having the budget for newbies, but that's an entirely different problem.
Re: Developers always have core strengths and weak (Score:5, Insightful)
"but only having the budget for newbies"
or only be willing to *pay* for newbies but demanding expert skills and extensive experience.
Re: Developers always have core strengths and weak (Score:4, Interesting)
I guess I am full stack... Everything from R&D to requirements to electronic design to firmware to validation and debugging to production support.
It's definitely undervalued. If you grow into it at one company the raises don't usually match your new skill set. If you are looking to move most places will be looking for specific skills and won't value your full stack abilities properly. That's just the way hiring works it seems.
I've noticed that US companies operating in Ireland pay very low wages. They contact me with offers that are â20k below anything I'd even consider, but want the skills and experience I have. They usually have very poor benefits too. Minimum holiday, no real perks. I don't know how they manage to recruit anyone. UK companies are often the same.
EU companies tend to be a bit better. The Netherlands is a great example. Good pay, 30% tax free income for foreigners, good holidays, holiday buy-back, lunch provided, car chargers, bike facilities, nice offices etc. Sweden and Norway seem good too, if the climate is okay for you. Language could be an issue.
Re: Developers always have core strengths and wea (Score:2)
Re: (Score:2)
Interesting. I've seen silly stuff like 45k for a "senior" developer from American companies. Irish companies in the same area offering 65k.
The other big difference is that the Irish ones offer things like relocation and pay your travel costs for interviews.
Maybe the difference is that US companies have bigger teams on average, so you are just a cog and get very little. Smaller Irish companies prefer quality over quantity.
Re: (Score:3)
Learning a nordic language should not be a problem for an english speaker. Considering that english is heavy influenced by germanic and nordic languages. ...
Most jobs there are english anyway
Re: (Score:2)
Na, it is very close to german.
With some patience you can basically read it.
Even as an english speaker you should be able to read 20% - 30% of the words.
Re: (Score:2)
It's definitely undervalued. If you grow into it at one company the raises don't usually match your new skill set. If you are looking to move most places will be looking for specific skills and won't value your full stack abilities properly. That's just the way hiring works it seems.
The problem with being full stack is there's still only X hours in the week. Just because you have the capability to do everything doesn't mean you have time. They still have to hire someone to do the work you don't get to even if you have the capability to do it.
Bringing a vision to life (Score:2)
I think I might be too, it is perfect work for autodidacts. I have my own persistence layer and UI layer that allows me to concentrate on domain and UI design. I'm planning a MQ for the persistence layer. I've designed business processes and applications to match. Designed and rationalized the DB, did the UAT.
From notepads and projectors to deployed in data center. I can design discreet electronics if I need to. I've been in competing project situations and projects with penalty clauses for not achi
Re: (Score:2)
Re: (Score:2)
Some employers have trouble with wanting unicorns but only having the budget for newbies, but that's an entirely different problem.
Actually I think they're related, very often it's like we should have had three people, got the budget for one but let's throw in the requirements for all of them and hope for a miracle. There's some realism in it in that we can shuffle people around a little depending on what we get, but not that much.
Re: (Score:3)
A "unicorn" is mostly just someone who's been around for more than a few years and kept learning in a broad range of areas. There are plenty out there.
Hopefully there are more of those unicorns coming through the pipeline. I've found so many people simply don't want to learn new things. That won't work in the future, and to a large extent hasn't worked for years. Lifelong learning is the key, and a big part of being a Unicorn is a desire to learn new things. I've seen people lose their jobs because they refuse to learn new things, or learning them poorly when forced.
Re: (Score:3)
Being willing to learn new things is different from being required to constantly shift gears.
How am I supposed to get any good at Yesterdays-Framework.js when management suddenly decides we need to "pivot" to Framework-du-Jour.js?
Hard to say. Over my career I simply learned and adapted to what I needed to do. I actually enjoyed learning new things - I suspect that might be the difference between myself and many/most people. There are rewards for being flexible and open to learning new things.
Re: (Score:5, Insightful)
Well, you are approaching this from a different angle.
There are many companies with 25-500 employees who need programming, but don't want to pay for an entire team.
Think of a gazillion specialty companies who are small to mid sized, but need custom software. Not every company can run off the shelf type stuff because their business model can't adapt to what is currently available.
So they hire 1-2 programmers and have them do the whole thing. Customer management down to the website.
These aren't bad jobs. And the organizations care more about your longevity than the typical tech shop. These companies don't want to hire someone new...huge hassle.
These are not bad jobs. And they aren't being offshored. You're part of the team and effect how the business is run. You're there to help and guide because you know what's going on.
It's using your skills in a different way.
"Full stack" developers come from "boot camps" (Score:5, Interesting)
I know someone who has a liberal arts education (all the way to PhD) and then went to one of these coding boot camps. She now describes herself as a "full stack" developer, despite very little training and experience in the field.
Re: "Full stack" developers come from "boot camps (Score:2, Funny)
PhD stands for Phul stack Developer
Re: (Score:2)
Re: (Score:2)
Smart does not defeat experience, ever, smart just means you learn fast, not that you automagically gain knowledge. Smart means you develop well based upon the experience you gain and that given sufficient experience, you will become really skilled, rather than just skilled.
Full stack developers == cheap employer ie hire one person who can do everything (so the non-coder thinks) rather than hiring a bunch of people. Not only is a bunch far more productive, specialising in areas, I would separate code write
Re: (Score:2)
--
Re: (Score:2)
I guess editors are overrated.
I saw no spelling error nor a grammar error.
Perhaps you want to post a corrected post, so we all can learn from your insight?
Re: (Score:2)
Hmm. Reading rtb's post I was able to follow it fine. Then I read the Captain's post, went back, and yes there were some errors (e.g., "ie" with no punctuation, and a few other things that you typically just give a pass on in an internet post.) Then I read your post, went back and read both prior, and wondered if you had missed the "/s" in Quark's, then wondered what I might be missing in all three. Yeesh, I'm overanalyzing. Decided to skip it, get coffee. Then post-coffee, I figure I might as well post mys
15 major browsers? (Score:5, Insightful)
Doesn't know the difference between PDF & html (Score:5, Informative)
> 35+ different mobile device screen sizes and 15 major browsers to code for
This shows he doesn't understand the entire POINT of html, a web browser, and CSS. He clearly doesn't know the difference between a PDF and an html document if he's coding for many different screen sizes with many different browsers. PDF files are sized - you can make a letter-sized PDF or legal-size, for example. The entire PURPOSE of a web browser, of the rendering engine, is to format *information* coming from the server to fit nicely in whatever size the window happens to be at the moment. If you're coding you're web pages for lots of different screen sizes, you're missing the entire point of what a web browser does, and your pages will be fucked when the window isn't maximized. *Maybe* two versions - small and large. Other than that, let the browser do its job. Don't try to force something to be exactly 3 pixels over by loading pixel.gif three times and you won't have to worry about screen size (or window size).
Your html should describe *what* the page elements are, using tags like "header", "list (ul)", "top level heading (h1)". It's the browser's job to figure out how many pixels a top-level heading should be given the screen resolution, user preferences, etc. Your CSS then can give hints including "larger" which should generally apply to all devices.
Code for 35 browsers? Try coding html 4 or html5. Not IEthml, and not loading pixel.gif five times when you detect Mozilla. Just code to the standard. If one of the three or four major browsers is completely broken in respect to the standard for some tag you can adjust for that, but those instances should be rare.
Re: (Score:2)
More than tools (Score:4, Insightful)
"In the last 10 years front end software development has gotten really complex. Gulp, Grunt, Sass, 35+ different mobile device screen sizes and 15 major browsers to code for, has made the front end skillset very valuable."
This is a silly statement, its like saying backend development is only difficult due to maven/ant. As someone who is a full stack developer (not only web but old style widgets), the vast majority of application code both front and back is plumbing / shuffling bits around, the amount that is technically difficult is diminishingly small.
Re:More than tools (Score:4, Funny)
Re: (Score:3, Insightful)
This.
What is the "Full Stack" at the end of the day? It's not really a 1-dimensional stack but a multidimensional field of platforms, devices, APIs, languages and methodologies, tools, backend, infrastructure sometimes even your own IT (I've had to swap RAM and CPUs out even as a developer). That world is also filled with the DevOps people that have (possibly) shallow but exceptionally broad experiences across all these domains with the odd specialization here and there. Those are the people that can find t
Re: (Score:2)
I agree with your sentiment, but it seems "anyone with a clue" is practically no one on the web.
I will say while front end development need not be complex, it does require design sensibilities that I simply do not possess. Sure, if someone knows what they want, I know how to do it. However if I'm left to my own devices to figure out what to do, I'm not going to produce a very good user experience. I have no idea if such sensibilities can really be taught, though there are probably some matters of human f
They exist, and it can work! (Score:5, Insightful)
Hey! A post I love!
I'm a full stack developer, and I think I do fairly well all around, but UI would be my weakest area, because that changes based on client needs.
I think I am successful at working this way.
The secret is, my 'stack' hasn't changed in 18 years.
I keep upgrading, and I stay current within my stack, but I stick with what I'm doing.
This is web work, so you're generating HTML and JavaScript, and CSS. That's it. The tools behind the scenes don't need to change every year. Find what works for you, and stick with it.
Everything I work on, I have a lot of experience with. I may not be a hardcore DBA, but I have 18 years experience. My server admin skills aren't crazy...but 18 years. Same with the application layer....
It's a cool job for me, because I care far more about the domain I work in (plants) than I do about finding the latest JavaScript framework.
I haven't had a single request in the last 18 years to change any of the tools I use. But I get lots of requests where I really, really need to understand the science and logic of what my customer does. And I'd rather focus on that.
That's my take on this...the technology is over-rated. What's really important is what you do with the technology.
Re: (Score:2)
Indeed. KISS rules and tools and technologies that work well should not be replaced. Then things stay nicely simple, reliable and fast and you can get the actual work done.
But when you throw every new technological fad at it, then the technology becomes a difficult problem to handle in its own right. If you do that, you have failed on the onset of your work. Yet this seems to be the typical mode web-applications are designed these days. Everything must be flashy, graphical, interactive, etc. and it must be
Re: (Score:2)
Re: They exist, and it can work! (Score:2)
Good question!
I moved to web work in 1999 after a time in the printing industry. This was a natural outgrowth of realizing that printing was going to be affected by the web. So I had a lot of experience in print design.
I do work with an artist, and at the beginning of a project we'll go over everything, determine a palatte of colors, they'll design the base CSS, etc. But I'm capable of extrapolating the design when something new comes along.
My designs aren't great, and I should never START the design. T
Re: They exist, and it can work! (Score:2)
Hmmmm...I think I run https just fine. You know my stack has matured over time?
Point is, I don't jump from product to product. My operating system and web server utilize all of the current security standards.
And when something new comes out, I add it to the base of knowledge I already have, rather than jumping ship to something I haven't thoroughly tested and understood.
I try to avoid recreating the wheel every year.
Re: They exist, and it can work! (Score:2)
Re: They exist, and it can work! (Score:2)
I keep looking at this and asking myself, "is there anything holding back the creation and delivery of HTML?". Because that really is the end product.
My current stack has roadmaps out about 9 years. That's fairly solid. I will hopefully retire in 10 years.
My goal is to find a replacement soon. They are the ones who will move to a radical new technology. I have good documentation and an understanding of the business logic. The transition to something brand new will take years. And at that point in my c
Full Stack... (Score:5, Funny)
... Overflow.
Tired in General (Score:4, Interesting)
I'm tired in general of people who want to hire with super specific skill requirements. There is so many technologies out there that you end up faking 80% of the crap on your resume. I mean fair enough, if you want a Java developer, you want someone who did Java before. But apart from that, I'd rather hire on talent than specific skills.
As an aside, as a matter of pure research, if you can only hire people on one data point, you're far better of hiring someone for ANY position based on IQ than any other factor such as qualifications, a good performance in the job interview, an impressive resume etc. That's just science. So it's pretty likely that if toss resumes in the bin, and forgo an interview and just give an IQ test, you'll actually get better employees.
Re: Tired in General (Score:4, Insightful)
I'd rather base it on EQ.
I've seen high IQ people make bad decisions for really stupid reasons.
Nothing wrong with high IQ- it's great. But I deal with mature code. I'd rather have people with wisdom than just intelligence.
Re: (Score:2)
High IQ is a trap. Many people with it think because they are so smart, they do not need experience or actual understanding or actual learning. They end up being impressively mentally agile, but cannot produce solid solutions even for simple problems. On hard problems they often fail completely. And they typically have a selective blindness to that because they can argue anybody into the ground. High IQ, high opinion of themselves, no actually useful skills. High-IQ morons are a lot worse than low-IQ ones,
Re: (Score:2)
The biggest problem with many (not all) high IQ people is: they always assume everyone around them is super dumb. Regardless how intelligent the people around them are ...
Re: Tired in General (Score:3)
Re: (Score:2)
That is an interesting point of view, but I don't fully agree. Perhaps many high IQ people are arrogant, but that would not make much sense either :D
Re: Tired in General (Score:5, Insightful)
I'd rather base it on EQ.
I've seen high IQ people make bad decisions for really stupid reasons.
Nothing wrong with high IQ- it's great. But I deal with mature code. I'd rather have people with wisdom than just intelligence.
EQ is a made-up thing that doesn't measure anything, because anyone with a slightly above-average IQ can game the test to tell the tester what they think the tester wants to know.
You can't game the IQ test to get an IQ higher than you really have. You can game the EQ tests to say just about anything.
EQ is part of the "new science" where there are no facts only opinions, and everyone gets a participation trophy. IQ is part of the old science where things remain true or false regardless of the faith behind it.
Re: (Score:3)
I dunno, I know a lot of workers who I'd describe as having a very low EQ which causes severe problems. As in the expert in a domain who loudly thinks he's the expert in every domain and has alienated everyone at the company who actively avoid meetings that he is in.
Re: Tired in General (Score:2)
Front-end, simple? (Score:3, Informative)
Clearly the original submitter has only ever done simple front-end development. Back-end code either works, or doesn't.
Front-end code has to take into account multiple operating systems, multiple browsers, multiple versions of those browsers, hundreds of devices, an extremely wide range of processing power and RAM combinations... in short, your back-end code is a walk in the park.
Re: (Score:3)
You must never have worked on the back-end where you have to be able to handle all the demented things the front-end "horde of incompetents" does and expects to work.
Re: (Score:2)
That UI and BYOPOSSP (Bring Your Own POS Smart Phone) stuff is killer complex. Much harder than
* JBoss and IIS load balancing for Apache or Tomcat
* Supported configurations for AWS, Google Cloud or Rackspace
* Full encryption for data at rest and in transit
* Works with older version of Oracle (don't ask -- COTS product integration) and latest version of SQL Server
* Nearly transparent switchover to/from DR (Disaster Recovery) data center with no data loss and minimal change in "end user experience
Re: (Score:2)
Re: Front-end, simple? (Score:2)
Re: (Score:3)
an extremely wide range of processing power and RAM combinations...
You're doing front end design and trying to tailor it to processing power and RAM combinations? What are you doing? Mining bitcoin while sending database requests?
You tailor to single combination: The slowest, and the people with faster equipment will thank you for not writing a bloated POS. Also if you're writing for a browser but are majorly concerned about the underlying OS then you're doing it wrong.
Re:Front-end, simple? (Score:4, Informative)
That is nonsense on all accounts, front end code has nothing to do with processors, RAM, OS etc.
And if you don't use a browser agnostic framework but code for every browser yourself: you are an idiot.
Re: (Score:3)
in short, your back-end code is a walk in the park.
Unless the back-end code is more complex than the front-end code, because sometimes it's actually doing stuff. And considering that there is often some leeway in where you put certain things, well, if you *decide* to make the front-end complicated, of course it *will* be complicated.
Selective Hiring (Score:5, Insightful)
Ask for the world. Then you can choose not to hire somebody you don't want in the company (age, race, sex, hair color, etc.) because they don't meet the qualifications. HR has been doing this kind of things ever since discrimination became illegal.
Companies will always ask for everything (Score:2)
Yeah, I May Be One (Score:4, Interesting)
Re:Yeah, I May Be One (Score:4, Funny)
PHP causes dementia. Probably best stay away from it ;-)
I fully agree on learning new things though.
Re: (Score:2)
Kudos!
Absolutely, unequivocally, no. (Score:2)
I used to be a "full-stack developer", as the term was just coming into use, and some folks still like to hold that banner high for me... but I loathe the whole concept, based on the experiences I've had to endure because of such "full-stack" idiots.
The "full stack" includes the hardware, the OS, the database, the front-end, and all the middleware that makes it play nicely together. Even without the bemoaned complexity of modern frameworks, that's still a lot of ground to cover, and it has to be done right.
Re: (Score:2)
Well, "can do full stack" and "can do full stack competently" is a world of difference. Somebody for the first thing that can actually get things to work (a minimal requirement) is already hard to find. Finding somebody that can do it well, maintainable, clean and, foremost, actually understands KISS and respects it deeply is almost impossible to find. Yet unless you get that second type of person, the product that comes out of it will end up being very expensive and essentially must be thrown away after ha
There are worse job listings (Score:2)
They need four people but only got funding for one so they are looking for a unicorn. I have seen similar job listings over and over. The person is b
Re: (Score:3)
A full-stack developer is a jack of all trades and master of none.
That is nonsense.
If you are to dumb to do several things that all are centered around software development that is your problem.
For example, I saw an actual listing for a job that wanted a web programmer who could also: design for print and web, do photography and videography, create e-mail campaigns, handle social media, write content and documentation, and train users.
This is ofc an absurd requirement. But still I know people who exactly d
Re: (Score:2)
A full-stack developer is a jack of all trades and master of none.
That is nonsense. If you are to dumb to do several things that all are centered around software development that is your problem.
You think a doctor knows everything about medicine? A lawyer knows everything about law? Software development is a huge field, the only people who think they master all of it are wildly delusional. By all means I think I've dabbled in most things except maybe exotic things like GPU shaders, functional languages like Haskell/Erlang, NUMA architectures, real-time control systems etc. but I don't presume to master the rest.
I can build whole applications but for example my UI skills are the "I know how to add a
Re: (Score:2)
The parent said: master of nothing ... so you are a master at some things. Not liking UIs does not make you a "non master" in other trades.
Absolutely a thing, but... (Score:2)
People who can code all aspects of an application exist. They are typically older, more experienced, more rounded, and the good ones can get paid a considerable amount of money, precisely because they can understand and effectively code all aspects of the "stack".
What most companies are looking for are more unicorns: people who are young (ie: less external life, so they can/will work more), can code for all aspects of the stack well, single-handedly take projects to completion and/or coordinate between diff
Re: (Score:2)
People who can code all aspects of an application exist.
Well, I exist. Never occurred to me that managing the servers, databases, containers and writing the code at all tiers was special enough to deserve some designation. I just figured I was more willing than others to go where effort was required and learn what I had to learn. I guess I've been "full stack" since the late 90's.
Yup, me. (Score:5, Interesting)
I am older, as the summary suggests - I'll be 49 this year, but these days I do:
I don't think of myself as a "full-stack developer", I just think of myself as a developer. The goal is to solve problems, the more tools you have at your disposal the better.
Re: (Score:3)
Full stack developer (Score:2)
Yes, full stack developer is a thing.
I donâ(TM)t expect any developer to be an expert at everything in the stack, but at least capable of installing their own tools, able to debug across layers with minimal help. (That doesnâ(TM)t mean none; I ask a fellow developer for input all the time. Itâ(TM)s to get a different perspective, and to influence his long term skills; but sometimes he points out things Iâ(TM)ve missed and learn something too.).
You should be able to install your toolset,
Re: Full stack developer (Score:2)
Iâ(TM)ve programmed in:
COBOL
C
C++
Objective-C
Progress 4GL
PHP
python
JavaScript
(A few one-off languages)
And those are only the ones Iâ(TM)ve been paid for. The list of hobby languages is far higher (from 6502, x86 Sam, BASIC, to truly unique languages)
Iâ(TM)ve installed OS on hardware from PCs, to servers (non-x86). Built machines from motherboard on up. Built devices using Arduinos, Raspberry Pi, Beaglebone Black, plus a couple of others.
Iâ(TM)ve used Coherent, Linux, Solaris, DOS (many), DR
Re: (Score:2)
Not really (Score:5, Insightful)
There are good developers and there are bad developers. Once you know and understand the programming paradigm, you should be able to work on anything from Linux kernels to JavaScript apps in browsers.
Now, you may not be as experienced in one or the other, so there will be a learning curve. If the company wants a "full stack developer" what they mean is that they want someone that, without a learning curve, knows the innards of all the technologies they have picked. If they want someone like that, they would probably try to retain and promote people that have worked there the longest, so a full stack developer should be virtually always an internal hire and practically at the level of team management.
But bad managers at companies that don't understand technologies or how 'stacks' work, want a college grad that can quickly be thrown into multiple gaps they have and thus hire externally for "full stack developers" not even knowing what their own stack is and how a hire would have to fill it.
Re: (Score:2)
There are good developers and there are bad developers. Once you know and understand the programming paradigm, you should be able to work on anything from Linux kernels to JavaScript apps in browsers.
While I agree to that, maybe 1% of the coders on the market can actually do that. And I do not mean "do it well", I mean do it at all with some useful results. The following is still the sad state of affairs: https://blog.codinghorror.com/... [codinghorror.com]
Re: (Score:2)
I find that about 1% of IT people can do their jobs properly. Most "IT people" these days know enough to assemble a computer or set up a website and think they can get a sysadmin or programming job. Very few of them actually advance or want to learn anything beyond their basic skill sets.
Just old-fashioned engineers (Score:2)
And yes, that includes both the locomotive and the caboose.
Not always that complicated. (Score:3)
Oh geez (Score:2)
5-10 years ago when I heard "full stack", it meant that I could throw just about anything at you and you'd be well set to figure it out.
These days over half of the developers I interview call themselves "full stack", and upon further digging maybe 10% of them meet my prior definition. It's the new buzzword.
You can write Javascript and a stored procedure? It makes you full stack now - you don't even have to be very good at either of them. Most people draw a blank face when I ask what they've written that was
Did it (Score:3)
At 45+ I retrained into c# and made full stack in under two years, front end all the way to deployment, and I was far from the brightest of our bunch.
Asked my developer co-workers... (Score:2)
They reported that "full stack" development today is a term that is tied to the in-house server environment, and that in today's cloud environment, the extent to which the cloud manages itself means that programming for the "full stack" isn't nearly as difficult as it is for the on-premise computing and storage environment.
Re: (Score:2)
I completely agree with this. On-prem with an IT silo is HARD. I've spent weeks waiting for SQL or web deployments when I could spin up a cloud instance in minutes.
No (Score:2)
When you see list of requirements, it's ridiculous.. and it's getting longer every 2-3 years. At least if we're talking about Web Developers.
You cannot even... (Score:2)
... be an expert in every aspect of only one single field of those supposed to comprise the 'full stack', let alone an expert in everything within every field of the 'full stack'.
As a good and experienced developer, though, you might have had the chance to look into several of those fields, and are, of course, able to learn what you do not yet know. As it is, a specific 'full stack' job can't possibly require every theoretically existing aspect within every field of the 'full stack', either.
Right, who cares about the UI.... (Score:2)
When was the last time you had an outage because the UI didn't work right?
Outright outage? Maybe not, but with a buggy or badly-designed UI, you just get a less spectacular, day-to-day loss of productivity due to improper/inefficient use of the system, tech support time wasted hand-holding users, mistakes made by operators and pissed-off customers... worst case: for a commercial product, people don't buy it. For a corporate system: users make the minimum use of the system they can get away with and rely on their own ad-hoc paper solutions and spreadsheets to get the job done - po
Full Stack Support (Score:2)
not that tough (Score:2)
Full stack is not that tough to get into, and pretty fun if you're into designing. You can get pretty good practice by using a simple Python webserver like CherryPy and SQLite as a backend, which obviates the need for installing a full LAMP stack.
The most tricky part IMO is keeping up with all the Javascript libraries out there. However, if you learn jQuery and maybe a data display library like D3 or a higher level charting library you can do pretty cool stuff with fairly minimal code.
Yes. ... Like, for instance, me. (Score:3)
Full Stack means you know your way around correct front-end, correct back-end, correct software architecture and a solid setup that can stand on it's own once the project moves from development into maintenance/"dev-ops". This usually means that you focus on a specific set of technologies, and don't get too much into others in detail.
Here's a nice example:
By chance and circumstance I happen to be doing quite a bit of PHP for a living. I started before Node and kinda got stuck with it. I haven't gotten round to building mission critical Node stuff yet, but there also are some things about Node and some about PHP that actually have be favour PHP, despite it being a language developed by monkeys on crack [slashdot.org]. I also know my way around JS, Ajax, DB Design, OOAD, Linux CLI, Tooling, Load-balancing and some other stuff. Ask me about intrinsict details on JS or PHP I might be out of my depth or jump straight to stackoverflow, but therefore I don't make a fool of myself when I need to pick a font or a color palette or design a basic pageflow and layout. I can also tell with quite some certainty wether someone at any tier of the stack knows what he is doing or not.
Hence: I'm pretty much what you would call a senior full-stack web-developer.
Sure (Score:3)
The Germans have something like that, it's called an egg-laying-wool-milk-pig.
They are very rare and their eggs are small, the wool is sticky, the milk sour and the pork awful.
You know the ole 'master of none' thingie.
Absolutely (Score:4)
Part of my past job was to write and maintain a stack that included an Embedded Firmware, Database, Back-end globally distributed system, Front-end System on the Web and Desktop and I wrote a full testing framework for that system. There are defiantly full stack developers and they have a place, BUT, they're also a place for non full stack developers who specialize at a Jedi Ninja level in one area and rock it so hard, it's basically another Woodstock.
Full Stack is not necessarily a benefit (Score:3)
Re:Full Stack is not necessarily a benefit (Score:5, Insightful)
To some extend, everybody should be a "full stack developer" although this doesn't prevent anybody from specializing in a specific field.
Using people only specialized in specific fields raises the chances of cluster-fuck solutions because nobody gets the big picture and the implications on how components interact.
I have seen it over and over, web developers without any knowledge of network call implications, etc. etc.
Re: (Score:2)
Most developers I meet are utter shit anyway. Those who advertise themselves as full-stack developers are no exception. Most developers can't see the forest through the trees, so someone coined the term "full-stack" to differentiate those developers who can. The problem is no one came up with a formula to identify the developers who see the bigger picture, so everyone now claims to be "full-stack".
Programming is the art of abstraction. Systems are getting more complicated. Generalization is getting harder.
Re:Full Stack is not necessarily a benefit (Score:5, Insightful)
To me, backend and frontend have some different sensibilites.
On the backend, you are most benefited by being a solid programmer, very good at abstraction. You get to dictate terms, to some extent, of how the network is utilized.
On the frontend, your job is more of design/human factors. You have to worry about accessibility and the psychology of the user. You certainly need programming skill, but design dominates.
For conext, personally I *can* be a full stack developer in a pinch, I know how to do a lot of complex things in a web browser and interact with APIs. However, I don't have a good mind for design, so I produce ugly UIs., or UIs that don't make a lot of sense. This is good enough to draft some proof of concept example client code for someone with those sensibilities to pick up and run with, or to help collaborate and understand the code of the frontend better to help them fix theirs and/or understand how the backend can make their jobs easier, but it isn't really acceptable for a good experience.
I've not yet met anyone who was superb at both. I've seen some people that can do good frontend work try to do backend and spew out some horrific nodejs stuff. I have seen backend developers produce frontends that bear no small resemblance to the work o a geocities "webmaster" from the late 90s.
Re: (Score:2)
On the backend, you are most benefited by being a solid programmer, very good at abstraction. You get to dictate terms, to some extent, of how the network is utilized.
It seems like you haven't been around lately. It's OK, I understand given your 5 digit UID.
Full stack = Big crash (Score:2)
If a developer fills the stack, the software will crash.
Re:Front-end churn (Score:5, Insightful)
The front-end is basically completely FUBAR at this time. Always changing trends, always apparently good (but actually really bad) new ideas (like REST now), and everything new is expected to use them. But after a few years the framework designers lose interest and a new greatest thing is born and the old one withers and dies (very slowly). All that without any actual benefit, because business logic and business applications do not need any of that, a vt100 would actually be perfectly fine for most of them. And you do actually find those vt100's still in use. Although they are now a badly working Java Applet, instead of the original rock-solid serial terminal.
While "new" technologies and frameworks are created at a break-neck pace, but they are not decommissioned at the same pace. So the number of different technologies you have to keep running at the same time gets larger and larger. Not good. Most applications web would actually do fine with plain HTML and a bit of JS for interactivity, but that would be plain old boring and nobody would want to be boring just for the sake of actually delivering a mature stable and professionally done product. Instead it is always the next stupid thing that is supposed to solve everything a lot better than the last stupid thing.
Basically, it boils down to most coders never having heard of KISS or not understanding it at all. The utterly demented things coders do are staggering. And the utter lack of skill, insight and knowledge is the same. I recently told some people that their web application was not working with a proxy because it was not web-standard conform and they did not even understand what "RFC7230" was and why it was _their_ problem if they violated it, regardless of whether the framework they were using was doing it or not. Or application teams that expose data to the browser that they must not expose to it or the security model goes out the window. Turns out they had no idea what was getting sent to the browser. Or the senior (> 5 years experience!) web developer that I had to explain the anatomy of an URL to. The list goes on.
In the end, all this is just an expression of too many bad coders and too many bad framework designers (but with big egos!). And they all want to show off their mediocre skills because they have delusions of being masters of this game and jump of every demented new trend as they think that will make them shine. What it actually does is create a mess of inconsistent technologies were you can find all the "web application coding worst practices" because somebody with not even minimal understanding of competent coding thought it was a good idea to do something clever.
Re: (Score:2)
Re: Fresher Speak (Score:2)
Re: (Score:2)
Client-side also is going into wrong direction of cross-compiling (transpiling), creating unnecessary extra layer, instead of adapting much of ES6 and TypeScript in the browsers natively.
It may be an extra layer for the computer, but a removed layer for the programmer. And why not create clean interfaces that would allow more efficient and cleaner languages do useful stuff in the browsers of the future? I'm pretty sure browser developers ought to implement new (reasonable) features but perhaps they shouldn't be language features at all, seeing how browser developers turned out to be completely shitty as language developers.