5 ms·
What “full stack” really means to the job market
- PaulHoule 10y agoA lot of it is bullshit. One of the most common recurring posts on HN is "it is impossible to estimate software projects" Well yes, if you refuse to use a stable stack you will need 300 hours to chase your tail when you could have solved your client's problem in 30. Writing the average bizapp as an SPA would be like your doctor cutting off your leg because your knee hurts. In any other field we'd call it malpractice, but is is called being one of the cool kids in computing.
- dragonwriter 10y ago> One of the most common recurring posts on HN is "it is impossible to estimate software projects" Its not so much that it is impossible to estimate software projects as it is that the analysis necessary to estimate software projects with reasonable accuracy involves doing a substantial portion of the work required to produce the solution -- which means that accurate estimation that is useful for decisionmaking is elusive, not that estimation is impossible.
- bediger4000 10y agoI heartily agree. This view is actually supported mathematically. See "Large Limits to Software Estimation" (http://scribblethink.org/Work/Softestim/kcsest.pdf http://scribblethink.org/Work/Softestim/kcsest.pdf) by J.P. Lewis. Supplementary materials: http://scribblethink.org/Work/Softestim/softestim.html http://scribblethink.org/Work/Softestim/softestim.html
- dasmoth 10y agoIs writing "the average bizapp" as an SPA a bad trade off? Depends on the circumstances and the people involved, but it's certainly not clear to me that this is going to take more time, or entail more risk, than writing an "old school webapp". Doctors are expected to stay up-to-date too, and at least keep an open mind about new treatments and procedures.
- deleted 10y ago[deleted]
- benologist 10y agoMedicine's been a work in progress for centuries, doctors have done and believed all kinds of stuff we can call crazy today to figure out what works. Your sore knee analogy... probably really did end in wholesale unnecessary amputation and death until we shot and hacked up enough people during wars to learn more accurate ways to treat a sore leg. We learned a lot from crude, violent and deadly experiments by Nazi doctors doing stuff that would be intuitively recognized as illegal in most countries today. Programming is also in a state of evolution. Maybe one day we'll look back at SPAs and everyone will agree they were as crap as java apps in browsers. We used to think asbestos, lead, oil, cigarettes, opium etc were great solutions too.
- hsod 10y ago> Your sore knee analogy... probably really did end in wholesale unnecessary amputation and death Really? It doesn't seem likely to me that even a primitive medical person would amputate a leg because someone's knee hurts
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- benologist 10y agoWe know amputations date back to stone age times - https://saesferd.wordpress.com/2010/01/26/prehistoric-amputee/ https://saesferd.wordpress.com/2010/01/26/prehistoric-ampute... http://health.howstuffworks.com/medicine/modern-treatments/amputation.htm http://health.howstuffworks.com/medicine/modern-treatments/a.... Lots of medical/all history will surprise you right into the 20th century and beyond - http://www.cracked.com/article_15669_the-10-most-insane-medical-practices-in-history.html http://www.cracked.com/article_15669_the-10-most-insane-medi... #10 morphine cough syrup for kids #9 mercury for ... everything #8 heroin for coughs #7 electric shocks to cure erectile dysfunction #6 lobotomies for mental illnesses #5 urine therapy ... lives on #4 bloodletting for ... everything #3 tapeworms for weight loss #2 holes in skulls for headaches #1 vaginal massages for female hysteria
- anthonybsd 10y ago>I have met many programmers that don’t like to code in their spare time, and that has reliably revealed them to be sub-par developers. Whatever little credibility you had up to this point you've just lost.
- Benjammer 10y agoThis opinion needs to fucking die in a fire already.
- lbn 10y agoIs it really surprising that programmers that practise additional 10 to 15 hours a week improving their skills outside the scope of whatever project or tech stack they are limited to at work were better in this person's experience? It would be pretty incredible if spending a lot of free time on challenging personal projects made someone a worse developer or had no impact at all.
- Benjammer 10y agoNot denying your points. It's not the only way to be a good developer though, that's the idea I hate. It's about teaching yourself to be a good learner, which can be accomplished through a variety of hobbies that don't even need to be tech related. If programming at home is your jam, then more power to you. Saying that any developer who doesn't code on the side is, categorically, "sub-par" is ludicrous though.
- mschuster91 10y agoNot exactly, because someone who explores other technologies unrelated to his/her "work" field will inevitably pick up experience and knowledge - which the employer can grab for free without sending the employee to expensive courses or having to hire highly specialized freelancers. I have done a lot of weird things as "hobby" projects with even weirder technologies, including interfacing with smartcards in PHP (don't ask), working with cheap-ass Chinese thermoprinters, electronic chips, devkits, FPGAs, operating a mixed OpenLDAP/AD stack,... and I very often have profited at my job from the knowledge I gained while developing. Oh, and someone who never heard of Apache rewrite rules please shouldn't call himself a full-stack developer. Ops (and being able to formulate ops requirements to a hoster!) are a part of the stack, too, not just deploying some nodejs stuff to a container in the cloud.
- at-fates-hands 10y ago>>> Whenever you have to google some error message or problem, read all the answers. Get as much context as possible on your problem, and do not be satisfied just with having come across a solution. This is a fatal flaw. Considering a TON of JS frameworks are so new, there just isn't a whole body of data on issues people are experiencing. I don't how many times when React started getting traction, I'd google an issue I was having and there was one Stack Overflow question about, and one answer and neither had been upvoted. No tutorials available and posting something on the Google group was about as effective as lighting my hair on fire.
- akkartik 10y agoAnd then there's the converse problem with older frameworks like Rails: you google a question and you find three different answers, and now you have to figure out which of them work in your context (because your context can't be summarized by which version of Rails you have). If you're googling something about Linux it's even common to find that none of the answers fits your context. The more "full-stack" I get, the more I just hate all stacks. Everything turns to shit if you give it long enough.
- lojack 10y agoI couldn't disagree more with this entire article. > the self-taught web developer knows surprisingly little about the web’s underlying technology. I know very few developers who aren't self-taught. In reality the opposite seems to be true. It's the developers who take a course and don't continue learning that stall. This is something technologists (even non-developers) absolutely _need_ to do -- self-teaching. The article even contradicts itself with the very next line. > Language-oriented courses cannot cover the complete web stack, and students will end up clueless about what an htaccess file does, or how to restart a Unix daemon, or how the different types of POST encoding work. Then, there's this... > There was a time when looking things up on Stack Overflow whenever you had a problem just wasn’t an option, and many pieces of software had unreadable documentation, if they had any at all ... That is the environment where hackers thrived, and that’s what we are going back to, sooner or later. It's almost as if he's nostalgic of the way things used to be. Like things were better when the documentation was terrible and you couldn't look things up. To all of that, I say good riddance. > If every time you find yourself dealing with a complex issue that affects multiple technologies your first instinct is to search on Google, you should reconsider your working habits. I'd actually argue the opposite. If you ever find yourself with a complex issue that affects multiple technologies, your first instinct _should_ always be to google it. Sure, you should understand the problem and all, but there's no need to make your life difficult just for the sake of "being a hacker". > I have met many programmers that don’t like to code in their spare time, and that has reliably revealed them to be sub-par developers. Disagree 100%. Some of the best developers I've met understand very well how to separate their work. The stereotypical hacker that works all through the night on obscure problems tend to pidgenhole themselves and lose sight of the purpose of programming. They also tend to be the ones that burn out to epic proportions. It's a very unhealthy mindset to have, and to be encouraging others to have.
- dmansen 10y ago> Disagree 100%. Some of the best developers I've met understand very well how to separate their work. The stereotypical hacker that works all through the night on obscure problems tend to pidgenhole themselves and lose sight of the purpose of programming. They also tend to be the ones that burn out to epic proportions. It's a very unhealthy mindset to have, and to be encouraging others to have. Yes. I'd add: anyone smart enough to be considered an expert in any subject will eventually find other subjects to explore. I'd argue this helps them become a better developer, more than coding in their spare time ever would.
- niftich 10y agoThe 'full-stack' trend is a reflection of rising, dare-I-say unrealistic expectations, one which the author supports by their recommendations in their blog post. By perpetuating the notion that the only 'true way' to be a good developer is to structure their lifestyle around understanding implementation details behind all the layers of a modern tech stack, they place an unnatural reverence on the mythos of hackerdom while ignoring that software development is not solely a creative pursuit. As it stands now, 'full-stack developer' is a euphemism, which in hip new places means 'we want you to live and breathe code, because you will be given vague requirements and expected to deliver the entirety of the solution from the bits moving across the wire to the UI espousing the latest visual design language in less than a month', and in established places means 'we want an infusion of new blood to bring sanity to some legacy code and we're counting on you to debug and fix everything by yourself'.
- Xyik 10y agoMost full stack developers have breadth but not depth. It's incredibly time-consuming to have a complete understanding of the entire stack and no matter what you do, even if you live and drink code and do it all the time you will not be a complete engineer, there is just too much and you will never retain it all. Rather than try to be this ninja superstar that start-ups all look for these days its more realistic to be able to work full-stack but specialize in a particular field. Machine learning and a solid academic background in stats, math and understanding of concurrency will get you just as far as a guy who knows React, Sass, HTML5, Python, Ruby, Go, MongoDB, MySQL, AWS, Redis, Celery, Kafka and Hadoop.
- ScaryRacoon 10y agoI recently move from a full-stack position into a more focused position. I felt like I was "jack of all, master of none" which really irked me. The time I was given for training was good, but it had to be split among all the different layers of the stack which meant I never really got an opportunity to get deep into any particular layer.
- ejrowley 10y ago> Most full stack developers have breadth but not depth. I have to disagree with this, its a generalisation at best. In my experience the "full stack" developers have had a much deeper knowledge of a subject then the "specialist". This is simply because the layers in the stack are not as discrete people would like you to think and the full stack developer has a much better understanding of why and how something is.
- sp527 10y agoContext matters. Small startups will usually benefit a lot more from an engineer who can be flexible and create a lot of immediate value as opposed to an ML expert, at the outset. Large corporations are a different story of course.
- ken47 10y ago> "Language-oriented courses cannot cover the complete web stack..." On Coursera, every course I've taken has used the programming language as a means to an end, not an end in and of itself. Perhaps the author should Google online courses more extensively.
- rdtsc 10y agoI proudly call myself a 1/2 stack developer. Didn't put it on the resume, but I used tell that people who were interviewing me, it makes for a good joke to break up the ice. So I know one half, but I know it well. Yes, I've heard of front end frameworks, some design ideas, some CSS but I might as well say I don't. Well, so far it has worked pretty well for me. I also heavily interviewed for my company before, and would usually be pretty leery of who claimed they are "full stack". Yes, some candidates were really good and knew both sides, but most just knew about superficial stuff on both ends (which is ok too, just not for what we were hiring).
- Animats 10y agoThe article never answers the question in its title. The basic job of management is to organize the division of labor. In practice, "full stack" seems to mean "we don't know how to divide up the problem, so we want people who can cover for this management failure".
- leepowers 10y agoAlso - "full stack" can also mean "we don't want to hire another developer, we want one person to (poorly) do the job of three other coders"
- leepowers 10y ago> I have met many programmers that don’t like to code in their spare time, and that has reliably revealed them to be sub-par developers. I dunno. When I spend 8 hours a day coding (paid), spending another 2-4 working on my own stuff isn't all that appealing. I mean, I want to do other things with my life than just write code. If that makes me a shoddy developer so be it. When I'm not busy on paid work I do explore new technologies and techniques. Perhaps this is what the author is refering to? However I still consider this to be "work", as it's a way to shore up my skills. It's unpaid but it makes my skillset and my time more valuable.
- woodpanel 10y agoI don't agree with the author. But full stack became a thing in job ads for a reason. And in my opinion the reason isn't because fullstackers are better. It is because of the dissonance between being able to see what cadidate needs to become your employee and being able to reach those candidates (marketing skills, interview skills, communication skills, finance skills). Using the word "fullstack" in job ads just tries to minimize this skill-gap.
- sp527 10y agoThere is an astounding level of arrogance and developer elitism permeating the whole post. I think lojack with top upvoted answer captured most of my grievances. The only thing I would add is that as high quality (and progressively cheaper or even open-sourced) layers of abstraction continue to be developed, it will favor the pragmatic problem solver who seeks breadth in knowledge over the pedantic hacker who DFSes into esoteric issues that are often nonessential to creating core value. And that's because the main ingredient in successfully writing software that creates real value is finding the simplest solution that works well enough. Very often that means biting the bland bullet and setting aside your burning desire to do something complicated.