Live data from Hacker News

Ask HN: Is back end dev generally easier than front end?

news.ycombinator.com

41–50 of 179 posts

Re: Ask HN: Is back end dev generally easier than front end?

#41
I'm a full-stack engineer, but my main focus has always been frontend, so to give my perspective.

Frontend is really hard, writing re-usable HTML and CSS is almost as hard as writing re-usable backend modules. I get annoyed by backend engineers brushing off frontend, as it's a piece of cake for them. But when you actually ask them to write some, they struggle, because they have no idea how to make it reusable.

Frontend especially requires you to stay up-to-date, even more so than backend technologies. The ecosystem changes so much, that it can become an annoyance, but the key is to stick to what you think is best. For example, I still use Gulp for tasks, just because it works, and it's far easier to configure than Webpack or any other bundler.

But on the backend, I've found that there are far more interesting problems to solve. The design behind it is far more complex, especially when you start dealing with databases and message queues. But then you also need to start looking at how to deploy your backend, and how to scale it up, etc...

So when I made the move from frontend to backend, it wasn't easy. But it also wasn't particularly hard, if you know JS/TS, moving to a node backend is fairly straight forward. Once you have enough experience there, moving to Java or Python is just learning whatever framework you're using. What I found much more difficult, was moving back to frontend, after doing backend for a couple of months, I felt like many things had changed, and it was hard to switch my mindset back to frontend.

Re: Ask HN: Is back end dev generally easier than front end?

#42
I moved from being a frontend guy to full stack.

What I learned is that being a front or back end guy is an artificial constraint. If you know frontend JS, working with NodeJS is not that hard. If you know NodeJS, django is doable. In the end, it's all about solving problems, not tools.

If you are a decent engineer, you will able to solve problems in almost any environment. It might not be the best or most elegant solution in the beginning, but that comes with time.

A good first step for a front end guy to branch out is to learn how to write the APIs yourself. Then you have your foot in the door.

Re: Ask HN: Is back end dev generally easier than front end?

#43

I've tried native mobile dev, web frontend and backend dev. The nuance of frontend dev is that you need to pack a lot of things into one process, so it requires more sophisticated coding skills. reactive patterns or stream based approach is a good-to-go knowledge to have. backend is easier to code, however the nuance is to split and scale it once you getting more traffic, proper configurations, dependency management,…

The is only true at a small scale. The frontend is often like the tip of the iceberg - it hides an enormous amount of complexity. I've worked on a lot of systems in my career and I have found there to be a lot more complex and interesting problems in the "backend" than in "frontend". With backend development, there are very real consequences for making mistakes, and you have a high chance of being punished for making…

Oh: and I must say that modern frameworks have made frontend development much easier than it used to be. With Angular, Vue, React you can actually apply the good engineering practises to structure your code in a way that makes it more manageable than it was in the past (with JQuery + server-side templates).

The testing frameworks are also pretty good, helped a lot by the frameworks being built properly (inversion of control :drools:).

Re: Ask HN: Is back end dev generally easier than front end?

#44
What I haven't seen mentioned here is that as a backend dev you're usually much closer to the business people. You'll have to talk to them, understand their needs and translated them from their language into code. You'll have to come up with a design and implement it. Business logic is more common to be found in backends than frontends in my experience unless you do something with really sophisticated UIs.

Re: Ask HN: Is back end dev generally easier than front end?

#45
I find it easier anyway, mostly because I can write most code (for a specific endpoint) in my head and when I type it in, it works. With frontend, not so much. And with the visual feedback trial and error loop that frontend often ends up in, I often would not call it programming at all.

The annoying things (to me) about frontend are of course apples and pears; architecting for frontend, writing logic and fetching data is comparable with backend dev and similarly straightforward imho. While we are all fullstack, we have a few seniors who do 90% frontend and a few 90% backend; the 10% overlap that backend spends on frontend is writing logic and data fetching: after that it moves to frontend to do the rest.

Re: Ask HN: Is back end dev generally easier than front end?

#46
post #28

Easier in some ways, harder in others. Easier: + You don't need to write a thousand edge case code to cover different devices + There's less "trial and error" trying to figure out what sequence of CSS properties is needed to adjust some of the simplest of designs + More choices of languages available (should Javascript / Typescript not float your boat) + More consistency in that you only need to worry about your back…

Back End owns more of the infrastructure, including the admin, pipeline, and networking chores.

But the UX seems the 20% of the system eating 80% of the time, yes.

Re: Ask HN: Is back end dev generally easier than front end?

#47
Front-end is awful in (large) part because of the tooling IMO. In the backend world, you need to make sure your _vertical_ (aka scale) is respected. It's a matter of your code, your infra plus the tooling to help you. If you're good at what you do, use the correct engineering approaches to have an efficient program and use up to date infrastructure or platforms, and use an up to date language (Rust, Python, Java is excellent here, whatever) you'll have all the tools. Your ground won't move as long as you didn't ask him to move. So, For me, it's easier to maintain (but still requires a loooot of care and attention to not fall apart)

In the frontend world, as you said, it's movement everywhere. Browsers, JS, JS package managers, CSS and so on. Even if your code don't move, the platform under will. Your code performance is not only dependent of you, making you tied to the evolution if you want to be up to date. That's so hard, and ungrateful...

If you want to stay in the frontend world, you should definitely increase your knowledge in CSS + Responsive, I think it's the best skill. In JS, stay on par with the language spec. Libraries will come and go, you can learn one (Vue or React, whatever it's the same) to understand the foundations, and it can land you a job basically everywhere.

Backend is easier because it's vertically aligned: performance and stability on a given system that you own. Frontend is horizontally aligned: acceptable performance and rendering on a shitload of systems which enslave you.

What interested me those last months is another path: Mobile dev, especially with Flutter. You keep some stability of a fixed OS (you still have the different versions + screen size, but you choose which one to support), and have the tooling of something close to the backend (compiled languages, package manager, big community). I think you should take a look there if you still want to keep a feet in "client" software, plus you'll never get out of job offers!

Re: Ask HN: Is back end dev generally easier than front end?

#48
post #23

I'd say the opposite because of responsibility. A bug in the BE can cost a lot of money and time to your business, not so much (usually) in the FE.

Wouldn't that mean that both have the exact same responsibility? A bug in the FE, would essentially render the BE unusable, and therefore would cost a lot of money and time as well.

For example; if Amazon's checkout button somehow broke, and prevent users from checking out, it would also cost a lot of money.

EDIT: to give a more visual example, if Amazon changed their checkout button to a different color and style. It could potentially cost them millions, because it might not entice users to click it.

Re: Ask HN: Is back end dev generally easier than front end?

#49
Personally, I do find back-end easier to reason about than FE, although it will almost certainly depend on your choice of language/framework to a greater or lesser extent.

In C# MVC (Or PHP MVC like Yii which is very similar), you have a very clear separation of what is what. A single action is where most functionality will sit or be called from. A view is where most front-end code sits (and if writing APIs, this is largely not relevant). Models are for the most part just data properties, perhaps with atributes for validation. Debugging it for the complicated cases is still very easy.

My experience in front-end is that debugging is very difficult. It is not easy to follow the path of execution, partly because of the large complexity of libraries/web-packing type stuff and partly probably depends on the tools you use. You have to consider a LOT of state in anything other than easy applications. I guess these might get better over time as people learn what works and what really doesn't but most of the larger FE frameworks have all had large changes to their patterns/opinions in a relatively short space of time.

I also don't why but I find C# much easier to read and understand than JS even though JS is based on the same syntax style. Again, might be the tooling, coding style or just the complexity of things like Vue classes but I can't easily review JS (or TS) code whereas I can spot mistakes in C# from miles away.

Like other have said though ymmv and whatever you do, you always need to keep up, keep learning and believe in yourself.

Re: Ask HN: Is back end dev generally easier than front end?

#50

I moved from being a frontend guy to full stack. What I learned is that being a front or back end guy is an artificial constraint. If you know frontend JS, working with NodeJS is not that hard. If you know NodeJS, django is doable. In the end, it's all about solving problems, not tools. If you are a decent engineer, you will able to solve problems in almost any environment. It might not be the best or most elegant so…

In my opinion the major difference is dealing with Databases. I'm a 'backend' only engineer, although I play with svelte/vue in my free time. I feel confident in my ability to solve almost any issue, except a database one. To the point where I don't accept jobs where I have to manage a db.
Post reply on HN