"A developer who can code the front-end, back-end, API, and database isn't as absurd as it once was (excluding visual design, interaction design, and CSS). Still mythical in my opinion, but not as uncommon as it once was."
I see this attitude expressed a lot among people who identify as "front end" developers and it seems like psychological projection to me. I would count myself and a number of close friends and associates as these mythical "full stack" developers so (in my circle) I don't think it is uncommon at all.
One thing I have noticed (again, in my circle) is that "front end" developers tend to start learning with front end development and are commonly self taught, while "back end" guys are more likely to have a degree and start with something enterprisey like .NET or Java. From what I've seen, back end guys have a much easier time moving to front end than vice versa.
The author states: "Even without the divide on the front-end I still hear lots of people claiming they’re full stack developers — I guarantee they’re not."
I don't understand his perspective here. If you work on the front and backend then you are a full-stack developer. If on the other hand, a full-stack developer claimed to be an expert on both the front and backend...then I would be wary.
I was a backend dev who can now also do frontend :)
Yeah I hate the we're going to redefine full stack developer to mean world renown expert on front end and back end. And then say there are no full stack developers.
When there are plenty of products that get shipped everyday by "full stack developers". Who don't necessarily identity as exclusively a front end or back end dev.
Fully agree. I work on a small team (3 devs + 1 designer) and all three devs are, to some degree, full-stack. We all have areas of relative strength and weakness, but all can and do work across the full stack.
It also seemed pretty absurd to me that the author suggested the only reason any kind of full-stack developer is conceivable is JS on the backend, as if the main issue is needing to know more than one language.
I think part of the attitude is that there's a lot of very cheap and inexperienced front-end devs who claim to be full stack to impress potential clients. Many freelancer directories are full of these people, and clients often end up paying more in the long run when they have to hire someone else to fix all the problems that start popping up.
This last sentence made me think, it's probably because people who start learning from the backend have an understanding of the whole stack from the bottom up, whereas those from the frontend start with a much more distant abstraction and gradually discover the underlying layers of the system.
Agreed - almost every developer I know can code full stack. They are typically better at some parts than other, so they choose to specialize, but the full ability is there. I see it even more often outside of the startup world - in Enterprise IT, you normally not only know the full stack, but multiple products at each level to support all the products that end up running inside a large company. Again, you are not an expert in everything, but you gain a broad knowledge base. And such a knowledge base, held by almost all enterprise IT coders, is hardly mythical.
This is my first encounter with negative sentiment around the phrase "full stack engineer" and I would caution newcomers to the industry to take OP's advice with a heavy dose of salt.
My experience has been that if I do not accurately represent my skills in an interview screening as a full stack engineer, I am less likely to make it to the next stage of the interview process.
Most importantly, be honest about your strengths and weaknesses.
Are you able to fully configure webpack? Do you know how to animate with CSS? Do you know Greensock? Three.js? Babel? The differences between ES5,6,7?
Co.js? ES generators? Webassembly?
Being able to hack out a little Js and css to make an Enterprise dashboard imo does not a front end or full stack developer make.
I have one of those 'college degree' thingys and I'll tell you something....imo CORRECT front end development is way more challenging than back end development.
That's a nice set of buzzwords but nothing complicated. Babel is just a transpiler. ES versions are like any other programming language with versions, use Babel to solve. ES generators are just yield functions that have been around for decades and finally getting to JS. What about webassembly? It's just a compilation target for other languages and delivery format for the browser.
And why is configuring webpack always mentioned as a complicated thing? If you can code all the above then why cant you make a simple javascript app return an object following a schema with an input, output and list of loaders?
Of course!
Databases are just more complicated spreadsheets!
And puppet is just scripts that configure servers.
And encryption is just a few math equations that mask data.
Man when you put it that way I just realized how trivial all technology is!
Really anyone can do it without years of experience and training!
I'm not sure what the point of your comment is, but the large number of 3 month bootcamps that create frontend devs does seem to show that anyone can do it.
I'm calling out the fact that the things you mentioned and the concepts behind them are not unique to frontend and certainly not even that complex. All it means is that the frontend landscape is finally catching up to traditional backend languages and dev practices. We've had compilers, multiple language versions, and environment targets for a long time. We've had functional programming, event sourcing, actor systems, immutable data, and materialized views for a long time. We've used DSLs and full programming languages to create config objects and execution paths for a long time. We've had async and multithreaded programming for a long time.
None of this is new or suddenly challenging, which goes to the original point of this thread that backend skills tend to move much easier to current frontend dev than the opposite direction because of what's involved. I'm not sure how much backend experience you have, if any, but naming assorted buzzwords and claiming that configuring webpack is complex only seems to reinforce my comments.
Actually making things happen with the technologies is alot different than being able to spout general principles on how they work on the internet.
Your trivialization of these technologies makes me think you're possibly a first/second year computer science student who's never actually worked with any of them and mainly read a modern javascript overview page on the web or a rundown in a textbook. Or just a troll!
Ok... but again, what does that have to do with frontend vs backend which is what this thread is about?
The concepts define the complexity, and my point is that they are nothing new so why would frontend be harder when it's only catching up to backend environments? No amount of buzzwords changes that.
I see this attitude expressed a lot among people who identify as "front end" developers and it seems like psychological projection to me. I would count myself and a number of close friends and associates as these mythical "full stack" developers so (in my circle) I don't think it is uncommon at all.
One thing I have noticed (again, in my circle) is that "front end" developers tend to start learning with front end development and are commonly self taught, while "back end" guys are more likely to have a degree and start with something enterprisey like .NET or Java. From what I've seen, back end guys have a much easier time moving to front end than vice versa.