Live data from Hacker News

Ask HN: Should I be specializing in either front end or back end as full-stack?

news.ycombinator.com

31–40 of 43 posts

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#31
Sure, they all have interesting challenges, but the day to day work is pretty different. I think in part it comes down to personality and preferences. Which do you prefer:

* Working with users & designers, rapidly iterating UIs on some bleeding-edge messy ecosystem (React, etc.), dealing with whitespace and color palettes, state management and associated race conditions, and having clearly visible creative output at the end to show for it?

or...

* Working behind the scenes with other techies, vendors, specs and docs, architecting against best (or at least "known good") practices & patterns, enforcing rigidity and consistency and good versioning throughout your APIs, optimizing the hell out of every query, containerizing everything and jumping in and out of DevOps every hour, getting to learn various platforms and stacks in depth in order to produce a stable HTTP endpoint, working with many clouds... all to produce a remarkably well-engineered response that fellow engineers could appreciate but no user will ever see?

You can get a pretty deep, but different, sense of satisfaction from either calling. And these days there is really no end to the depth of specialization you can achieve, only the breadth. Even within "frontend" and "backend" there is already several lifetimes of learning, and the pace of development is only getting faster.

The frontend tends to iterate quicker, fast and furious, while the backend focuses on stability and resilience. The engineering cultures can be different (though not incompatible). In general I think the backend stuff is "harder" in that it's more actual engineering, and tends to get paid better. The frontend stuff is difficult in a different way -- creative and visual, often -- which for some reason companies don't tend to reward as highly. In our culture, engineering is thought of as more difficult than design, unless you're Steve Jobs or similar.

But at the end of the day, either path (or remaining full stack) would easily get you a much-more-than-livable wage at any decent company, so it comes down to things like work-life balance (do you want to be on pagerduty?) and just how much you enjoy each bucket of work, and the kind of people you end up working with.

If you're not sure, don't decide after 3.5 years. Maybe try a FE specialization for a year or two, a BE one for another year or two, etc. until you find a niche you really enjoy.

For me it took like 15+ years to realize that what I loved was being able to quickly develop UX with an abstracted/serverless backend, using Next.js. But others hate that loss of control and want to work on the parts of the stack that I'm grateful to never have to touch again. YMMV... take time to explore!

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#32
post #6

Which do you enjoy more? It’s always easier to learn and excel in a subject that you prefer. Don’t force yourself into a specialty you don’t like because you think it will help your career more. Doing work you don’t enjoy every day is not good for your career. As for specialties, both front-end and back-end are too broad of categories. There’s a huge difference between a back-end developer writing simple CRUD apps to…

I think I enjoy backend work more, however in my 3 years of working I didn't really experience those complex distributed apps to work on. I've been mainly working with really simple CRUD apps. 1 server apps kind of things. That's why I'm also afraid that I won'be fit and good enough to work on those big complex apps.

Complex distributed apps are incredibly difficult to get started with, at first. They are a huge leap up from simple CRUD because of the atomicity and consistency requirements.

Can you look for a junior position in a medium to big company, or a startup, with enough engineers to help mentor you?

If you want to try it yourself, you can start by experimenting with database clones, redis shards, K8s, etc., and then try reimplementing the same things in various cloud providers, so you can get a basic understanding of a shared/sharded data model in various frameworks.

Or, if you want to leapfrog all that, you can jump straight to serverless stores like Firebase or https://www.cloudflare.com/products/workers-kv/ that abstract away the infrastructure and let you focus on writing business logic on top of that.

But IMO you will learn more quickly from one year on the job, during professional backend work in a capable team, than self-learning willy-nilly (where you can pick up a lot of bad practices, or outdated/inappropriate architectures).

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#33
post #6

Earlier quoted context omitted.

I think I enjoy backend work more, however in my 3 years of working I didn't really experience those complex distributed apps to work on. I've been mainly working with really simple CRUD apps. 1 server apps kind of things. That's why I'm also afraid that I won'be fit and good enough to work on those big complex apps.

You’re only a couple years into your career. They’re not going to throw you into the deep end right away. You have to work up toward it over time and usually change companies a few times to get there.

Which is the sad part. It's difficult to get good unless you have the responsibility of doing something challenging. I have similar experience to OP but am now tech lead and managing the infra, which has given me the confidence to take on other devops stuff.

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#34

Which do you enjoy more? It’s always easier to learn and excel in a subject that you prefer. Don’t force yourself into a specialty you don’t like because you think it will help your career more. Doing work you don’t enjoy every day is not good for your career. As for specialties, both front-end and back-end are too broad of categories. There’s a huge difference between a back-end developer writing simple CRUD apps to…

I work at a fairly complex distributed system (lots of infrastructure, mostly event-based system with milli-seconds latency for interactions between services managed mainly through queues, either managed externally or internally, 90 million MAU) and I cannot agree more.

Also, I would say that the difference is not much "scaling" a CRUD app for request/seconds, but for engineers on a single codebase/service, also architecturally. It's one thing to work alone on your project (which will probably handle k req/s, it's very easy nowadays with classic PostgreSQL and some other queues like RabbitMQ if you need event-based system). It's another to work on the same system with 100x more features, complexity (either in the same monolith or in different micro-services), and especially understand how to be pragmatic and solve problems you did not account for.

No amount of study can prepare you, other than first years at work. Afterwards, in my opinion, the challenges become improving the technology to scale more, and management.

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#35
post #10

Having done 25 years of "full stack" now I'd go for the back end or even skip it and hit operations/SRE. The rate of churn is far far lower, the knowledge is valuable for longer and the money is better.

The "money is better" part of it could be due to that there are just less people in SRE with 25 YOE than in other adjacent fields.

Could be that people joining SRE as juniors might not see that much of a difference.

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#36

Question: at what point does "specializing" in one or the other make you not a "full stack" developer anymore? I can technically do about everything on the web, I'm just really bad at front-end, and really good at back-end, which is where I do most of my work. Am I "full stack"? How good to you have to be in...well, everything, to call yourself "full stack"?

My own personal definition of Full Stack Dev is similar to the term one man army. It means I can design an app, do the front end, the backend, and handle the deployment.

Note that the app itself might not be great because you're doing the job or 4 or 5 specialists, but the idea is you could pull it off and have an ok app at the end without it being complete garbage.

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#37

Earlier quoted context omitted.

You’re only a couple years into your career. They’re not going to throw you into the deep end right away. You have to work up toward it over time and usually change companies a few times to get there.

Which is the sad part. It's difficult to get good unless you have the responsibility of doing something challenging. I have similar experience to OP but am now tech lead and managing the infra, which has given me the confidence to take on other devops stuff.

This. Getting a good appreciation for infra is key.

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#38

Heard a VC in a podcast mention backend is going extinct with api SaaS so I'd do front end

Salesforce was going to take over the world with their 'No Software!' SaaS platform, circa 2000. We're still writing code in 2022.

They didn't take over the world, but they certainly made their own world.

https://www.youtube.com/watch?v=duJwGSUhRQA

Re: Ask HN: Should I be specializing in either front end or back end as full-stack?

#40

Question: at what point does "specializing" in one or the other make you not a "full stack" developer anymore? I can technically do about everything on the web, I'm just really bad at front-end, and really good at back-end, which is where I do most of my work. Am I "full stack"? How good to you have to be in...well, everything, to call yourself "full stack"?

This is a good question. as far as front/back end I think it's probably just good enough to mostly get it working right without breaking anything too often. But what I think really makes it front end is also when you have some server/platform administration skills. You would be surprised how many web developers don't know about tab complete on the shell, or have no idea how DNS works.

But what I think really makes it front end

I meant to say what really makes it full stack, but it's too late to edit

Post reply on HN