Hacker News new | ask | show | jobs
by greghinch 4568 days ago
My career as a developer has been coming up through the role of front-end engineer, really from when that was first being defined as a separate role (2004-2005, around then). In hindsight now, I would never hire myself. Either you're a developer, in which case you should be able to traverse that stack (so for example JS as well as PHP/Ruby/Python) or you're a designer, and you can traverse that stack (so you design, implement your designs in HTML/CSS, maybe a little JS as necessary). But while there is crossover between the two domains, there isn't a separate role in the middle. Trying to fit development workflow around people who just do HTML/CSS/JS ends up creating too many bottlenecks, on both sides: "I'm waiting for designer A to deliver X" or "I'm waiting for back-end person B to deliver Y". When you just have people who work their whole stack, that bottleneck is removed.
2 comments

It gets necessary at some point - it's not cheap finding highly skilled full stack developers, and they're not the most common beasts around. Everyone wants them, but they have their pick of jobs. It's far easier to hire for the positions separately, and if your company is in need of rapid expansion, I'd say almost necessary given the market.

While I term myself as more of a frontend developer currently, I also know CSS pretty well (I sometimes fix bugs the UI team can't figure out), and I am currently transitioning to doing some backend work at my current job as well.

All developers should strive to be full stack, and designers should strive to know code more, but realistically speaking, not everyone is there yet of course, so you have to focus on developing the talent or hiring it.

My experience interviewing "Full-stack" developers indicates that it can be a vanity title devs assign to themselves to be more marketable. Unfortunately, I've found their skillsets to be very lop-sided.

Typically, I'd interview full-stack developers with lots of front-end experience and skills (based on their projects and code samples) with very limited backend experience or skills, or they were backend engineers who knew the ins-and-outs of robust, scalable backends, familiar with AMQP etc, but couldn't horizontally center div or modify the prototype of an object in JavaScript (let alone know that JS used prototype-based inheritance).

And then of course there's the 3rd dimension to full stack which is DevOps.

If you're just starting out you need people who can do all 3, even if they're kinda mediocre at some of the parts. But when you grow, and your product starts maturing, you need expertise in all areas to really have a polished product. Otherwise, you're going to be stuck with something that either has a really polished front-end but a dog-slow and unreliable backend or vice-versa.