Hacker News new | ask | show | jobs
by supermw 2664 days ago
Don't listen much to this guy. Full stack developers aren't doomed to fail, the only thing that happened here is that this guy failed miserably. He failed because he focused on the wrong things.

If you want to be a full stack developer, the quickest way to get there is to build an entire application all through it's layers by yourself. Front end, backend, and databases. And the more complicated and demanding that application is the faster you will learn. Learn how to do migrations and backups, learn security concepts and how to harden your application, learn about the intricacies of UX and UI design. Know the seven layers of OSI and get your hands dirty with them. Learn actual system programming. Stop using fucking ORMs for your SQL.

Don't do what this guy did and master languages deeply and then think that's what makes you full stack. You could actually get away with lesser understanding of languages and technologies if you are very skilled in knowing how they fit together.

5 comments

This is a good technical approach but if you get this far, your salary won't match the value delivered by your actual skillset.

Companies know this. There's not appropriate compensation for people who can get comfortable with this breadth of stuff. Fullstack is currently "exploited" because of this IMO.

That is true. Your salary will most likely not reflect your actual value, but will be way below what you should actually earn.

But - if you do it right (and with a bit of luck), you can work yourself into a position in which you've got a lot of freedom to choose what you want to work on, and that freedom is worth a lot in itself. Because you're the one guy that can "get everything to work smoothly together" and that is able to deliver entire working solutions, while practically all the others may be able to get a single part into good condition, but they stumble when it comes to getting to something working in a greater context. Their solutions will inevitably be less polished than yours.

People are not indifferent to this. It takes a while, but they notice it. And you will be in high demand because your solutions have this really nice tendency to "just work". And nobody will really understand why it is that way. Which means you'll be able to largely direct what you're going to work on next, because since nobody has a real clue why your stuff "just works" all the time, they are doomed to rely on your opinion when it comes to where your specific skill set is most valuably used next.

This is the direction that my career is taking. Definitely the benefit is you eventually get to work on the good projects that you want to because people trust you to deliver a level of work they don't seem to get very often.

I've always felt relatively underpaid compared to what I wind up bringing to the table, but I would say there have been subtle but noticable perks in other ways and it's definitely translated to comp over time too.

It clicked for me a while back that the vast majority of devs just working on line of business applications have never and will never put together an entire enterprise grade system end to end by themselves in their career. So all you really have to do is (a) have a relatively good head on your shoulders and (b) just hack away at building out a fully fledged system end to end in your own time. A sort of reference architecture of your own. Then when you need to implement stuff at work, you've already solved the problem once before so instead of taking a day to wrap your head around how a particular part of it works, you just whizz through it relatively quickly. It looks like magic from the outside, but it's nothing more than being prepared ahead of time.

I really appreciated this comment, I've been going through a period of doubt over my skillset being so broad, I'm glad to see others follow a similar path. I can't really seem to help it, designing and building an entire system brings me the most enjoyment.
Having a broad skillset will always bring valuable perspective to projects, but be aware that this doesn't mean that value will be recognized or that perspective valued. There's not much can be done about unwise cultures. So if your only goal is advancing your career and making a lot of money, then a broad skillset might not be the optimal path.
agreed. the guy failed and wants to pin the blame on 'full stack development' as a role, which is a rather stupid conclusion.
>Stop using fucking ORMs for your SQL

Or just learn more SQL so you feel comfortable using ORMs again. Just saying.

It is the opposite. The more SQL you use the less you will want to use ORMs. Many ORMs are basically a black box and you're never really sure if they are doing exactly what you want to do or adding some unnecessary crap, especially if you have very complex queries.

No good developer uses ORMs for anything significant.

You got it man. Actually build systems. End to end.