What “full stack” really means to the job market

  • I 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.

  • The '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'.

  • A 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.

  • I 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).

  • >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.

  • Most 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.

  • The 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".

  • >>> 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.

  • I 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.

  • There 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.

  • > "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.

  • > 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.