Live data from Hacker News

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

news.ycombinator.com

21–30 of 43 posts

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

#21
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.

What would the curriculum for operations be?

Devops stuff, containers, configuration management and software defined networking. And change management!

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

#22
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.

The best way to get into distributed systems is to start building them. Create an OSS project in the space, put it on your resume and whatnot, blog about it, and they will come

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

#23
TL;DR - I'd say try learning and building with both and see which one makes more sense. You don't even have to think which is better for your career, as frontend, backend, fullstack can all find good paying jobs. What matter is you enjoying your work.

I'm a self taught software engineer, and have about the same experience as you.

I knew a little bit of python when I started learning and thus decided to learn Django (backend), really liked it (even then CSS was giving me the most trouble).

Then decided to learn JS to get a more well-rounded education, but hated it. Now I use Hotwired techniques for my web apps, to the least amount of Javascript possible.

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

#24
post #4

Define "beneficial for your career." Do you mean maximizing earning potential? Working on interesting tasks? Having a wide pool of job opportunities available?

I think that earning potential goes along with interesting tasks. You can't be making bank while working for web design studios. So what I really meant was more money and interesting job

In that case, the best thing to do is to feel out the organization you're in, and make yourself indispensable.

Do most of the new hires want to work on server-side code; but your UI is challenging and pushes the browser to its limits? Lean more towards in-browser work; and accomplish critical in-browser tasks that your management has trouble finding someone to do.

Likewise, is your in-browser code trivial, but your application is visibly too slow to the point that management has heat on them to make it more responsive? Focus on optimizing the data access layer, and become indispensable there.

Where I've had success is looking for areas of a product that you just can't "open a book" to learn how to implement. The problem space should have a high degree of novelty to it. These problems exist in all layers of the stack. In my case, I became lead for Syncplicity's desktop client, a major Dropbox competitor. For awhile my code was a market leader. (We were the only desktop file sync product that could handle 100,000+ files.)

Another area of success that I've had is in young companies, where team sizes are too small to really specialize. In my current role, I'm doing "full stack C#" with Blazor in the UI. (We chose it so that it would be easy for developers to move back and forth between UI and server-side code.) As we grow I'll probably focus more on back-end work; but at the moment, "full stack" is useful because I can make an API change in a single pull request without coordinating with anyone else.

Edit: As far as money goes, you will need some flexibility. I've taken a few below-market-rate jobs because they were interesting; then when I saw money flow into the company I had to raise a ruckus in order to get to market rate. It's not something I like doing, but unfortunately, that's how the world works, and that's why I keep focusing on becoming indispensable.

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

#25
“a jack of all trades is a master of none, but oftentimes better than a master of one.”

I recommend doing a "deep dive" on whatever you're actually interested in, but have at least a more than superficial understanding of many other things. maybe once a month spend 4 or 5 hours trying out a technology being discussed on HN.

But once you have a job, learn as much as you can about all the platform technology involved. if you're doing web development, this could be apache, nginx, azure, aws, bash, powershell, haproxy, f5, routing, DNS, firewalls, etc. but it could also mean jenkins, docker, k8s, ansible, puppet, github, gitlab, blah blah.

Being full stack means you understand the full stack. If you're working on a project and there is part of the process you don't understand, that should be the next thing you learn. when you get a job you'll probably be mostly focussed on one thing, but you can ask the other engineers and admins questions. If they're any good they'll love to show off their knowledge.

Being full stack really means not being stuck in your ways and not being afraid to touch something because the person who normally does it is sick.

So learn what you want. When you get a job learn what the job is using even if it's not your immediate responsibility. Always keep your eye on things that might be a better way of doing it. Programming, and tech in general burns through people who aren't constantly learning something new.

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

#27
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.

My opinion is the opposite. DISCLAIMER: I've never been a CTO or worked at a FAANG so I could be completely wrong about all of these, but it's the general impression that I get (even though I don't like it).

> The rate of churn is far far lower

For network engineers, perhaps, because the job opportunities are more stable in number as the industry has consolidated around cloud vendors for startups. It seems to me as though "DevOps" and cloud engineers have job tenures similar to software engineers.

> the knowledge is valuable for longer

...compared to the npm ecosystem, but generally speaking backend languages change about as quickly as Kubernetes, Hashicorp, and AWS offerings. A new paradigm comes along once in a while but lots of "new" knowledge could be described as application of existing concepts in a new problem domain.

> the money is better.

I don't think this is the case. Your actual value to an organization isn't always the same as your perceived value, and if you're in ops then your perceived value is less than if you write software. Writing software delivers features that drive revenue, so your contribution is tangible. Ops' contribution, on the other hand, is making sure that said things don't fall over. The best job that you can do in ops is to make things work as they should. Put more simply - writing software you can only make money, but doing ops you can only save it. Your success is also tethered to the software that runs the business insofar as if it goes down then you're on the hook to (at least help to) fix it. You're working towards a zero state instead of away from it and other teams are holding the reins.

I would further add that in a job interview when people ask "what projects you've been responsible for" it's a lot harder to explain something like an infrastructure migration or tooling deployment than it is building a feature as there's an order of less magnitude of novelty in the former than the latter. Interviewers would rather hear about how a feature that you built directly contributed to the business' bottom line than how you were able to implement TLS or put all of your secrets in Vault for the sake of compliance. There's less room for creative thinking in the ops world than in building a bespoke solution for a problem domain.

For the above reasons I'm sticking permanently with full-stack with a back-end concentration.

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

#28
When I was just starting out, I had some imposter syndrome and need to prove myself, so I let other people's opinions rule my decision making. Someone always made me feel like the grass was greener in their specialty. Now that I'm older and more experienced, I see that every step of the development process is needed.

So I suspect that you already have some idea of what you would like to do, and just want some external validation and permission to follow your calling. And I would say, go for it! Whatever is in your heart to do, probably correlates with what the world needs right now.

And to be honest, I've often been hired to do one job but ended up doing another. It's really about how quickly we can learn, explore the problem space to find a solution and execute a plan. The rest is just titles IMHO.

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

#29
I interpret your question as a realization that you have a limited capacity, and you'd like to prioritize your learning.

If you are thinking about optimizing for employability, the answer to this largely comes down to the market you are trying to fit into (both location and business sector) and what you enjoy. As strangers, we cannot really give insight into those things with what you've provided.

From prioritizing time/effort for value perspective, I can say:

First, don't feel the need to be an expert at everything. I've been developing software for a long time, and there are still things I don't know. There will always be things I don't know. That opportunity for growth is one of the joys of software development. Don't burn yourself out trying to do everything.

My philosophy is to invest heavily in learning things that are likely to be relevant for a long time, and invest less heavily in things that are likely to only be valuable for a short time. Having shallow breadth is useful, so is having deep knowledge in a foundational technology.

Learning the language/framework/editor du jour is fun, but understand that you may be on a hamster wheel. Much of the new things are extremely similar, competing and vary only to address shortcomings with an earlier iteration while introducing the next set of shortcomings. It is necessary to have a full toolset, but resist chasing all the newest tools. Hamster wheels don't get you anywhere despite making you feel like you are moving fast.

Also, don't feel like 'full stack' is some badge of honor you strive to attain and keep. Just make sure you are doing useful work that someone cares about.

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

#30

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.

Post reply on HN