Ask Slashdot: Are 'Full Stack' Developers a Thing?
"It seems that nearly every job posting for a software developer these days requires someone who can do it all," complains Slashdot reader datavirtue, 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?
Who codes for 15 different browsers? No wonder you think it is so hard.
"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.
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.
No reason to lie.
I *am* a full stack dev. We used to call them developers. You had/have to know all 3 tiers to do anything effective. The thing is 'full stack' is really translation for UI dev *OR* backend dev. You usually have to tease out what they really mean.
My problem is my 'stack' is the wrong shiny techs so no one will hire me for that job anymore. As if my skills suddenly turned into mush and I have no idea what I am doing anymore. Welcome to the future where learning your job makes you obsolete and no one will hire you again. I show junior devs how to use these new stacks and they sit in amazement like they had 0 idea I could do that. "How did you learn that" "the hard way in the previous 3 stacks did something similar just need to learn the new APIs you will want to remember this it will come up again"
When you submit 200+ resumes and get 3 interviews you know that there is no sort of job shortage that these tech companies are bemoaning. You know you are being ignored for other reasons. I used to name numbers and the recruiters would say 'thats too low'. Now I am lucky if they return my calls.
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.
No reason to lie.
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.
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.
Everything I write is lies, read between the lines.
Same as "DevOps". Employers came up with that little trick to get people to do two jobs for the price of one. Apparently a lot of rubes fell for it.
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.
Custom electronics and digital signage for your business: www.evcircuits.com
"but only having the budget for newbies"
or only be willing to *pay* for newbies but demanding expert skills and extensive experience.
Pain is merely failure leaving the body
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.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
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.
No reason to lie.
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.
I'm a minority race. Save your vitriol for white people.
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.
XML is like violence. If it doesn't solve the problem, use more.