Ask HN: Do you consider back-end work more “serious” than front-end work?

13 points | by aerovistae 506 days ago


  • rajacombinator 506 days ago

    On the contrary. Backend work is clean, and much closer to pure theoretical CS algos and data structures. That’s why most fundamentally solid devs prefer it - more within their comfort zone. Front end work is dirty and involves a ton of arbitrary crap like the DOM, browser quirks, JavaScript, CSS, async logic, or god forbid a native OS. Rightly or wrongly, however, I think there is a perception that front end devs only know how to fiddle with that stuff and are weak on CS fundamentals. Bottom line, though, is that recruiters are dumb as rocks and you shouldn’t care much about their opinions. They are just trying to get warm butts in seats.

    • laurentl 505 days ago

      This. It requires a far wider range of skills to be a really good front-end dev. UI, UX (which are 2 different skills in their own right), design, on top of coding for a set of platforms that, taken together, behave as erratically as a drunken raccoon. I’d much rather do “complicated” back-end stuff that is glorified CS 101 than have to design and build a web interface that has to be intuitive to use, responsive, accessible, and works on IE11.

      The problem is that everyone notices the terrible UIs, but really good interfaces get out of your way so you don’t always notice how good they are. Hence a lack of recognition for good front-end devs.

    • mrdependable 506 days ago

      I've done both. I can see where the recruiter is coming from, even if the way they put it is completely disrespectful. I don't think it's a matter of one being more "serious" than the other. Let's say a front-end engineer and a backend engineer spent an equal amount of time studying their craft over 10 years with the same amount of efficiency. Most places will only need what the front-end engineer learned in their first 3 years with whatever updates to the stack are relevant along the way. For the backend engineer, all 10 years of that experience could be put to good use.

      That's not to say you can't go deep specializing in the front-end, especially if you plan on getting into WebAssembly since that seems to be a thing now, but most places I've come across are just looking for someone to shovel data to the user. A lot of front-end engineers I know tend to only get to the depth of knowledge that most companies would utilize. If someone asked them to build an embeddable Javascript widget like Intercom, they wouldn't even know where to start.

      For the recruiter, it's probably all just supply and demand. They might not even know what they're talking about, and are just basing it off of some gut feeling they got from an article they read somewhere. If they were having a hard time filling a spot, I'm sure their tune would change.

      • lastofus 506 days ago

        It depends, as both front-end and back-end have large ranges of complexity. In general though, if you were to compare the most extreme case of back-end complexity to the most extreme case of front-end complexity, the back-end case would be more difficult.

        The worst case of back-end complexity requires very in-depth knowledge of hardware, networking, distributed computing, OS internals, and then knowledge of a couple of languages and CS fundamentals thrown on top.

        The worst case of front-end complexity requires learning and writing tooling to make writing desktop replacement apps in a browser a less terrible experience. Tack on UI/UX design, you are still not quite at the same level of complexity.

        I don't mean to say that front-end isn't difficult or that it doesn't take years to master, just that back-end is even worse...

        • ctrlaltdev 506 days ago

          I've run into back-end developers completely helpless when asked to do anything front-end - and even those mingling with it usually do not know the struggles of cross-browser compatibility and accessibility.

          So no, being fullstack (that is being mediocre on many things, and excellent in none), I do not consider front-end to be less serious.

          I think that opinion takes roots in the apparent simplicity of good ol' HTML vs the requirements of a complex algorithm riddled back-end.

          Especially with the rise of complex front-end frameworks, that difference in 'seriousness' tends to fade away in my opinion.

          And for the sake of the argument, there's a deeper complexity to satisfying users and clients with front-end (and the fact that everyone's a critic) that back-end folks do not encounter.

          • ninefoxgambit 505 days ago

            The definition of "front-end" is still quite broad. There is still a large number of people doing classic front-end work which is more like HTML/CSS/little bit of JS or Jquery. This work never goes away because it's still so labour intensive to style and theme sites. But this work is certainly seen as "less difficult" and pays less.

            Then you have the more modern version of the front end dev who can actually program, and writes mostly Javascript and works with API's. They have probably specialised in a framework like React and they have built some SPAS. This type of front-end work I do not consider to be less difficult and I would say often commands the same salary as backend.

            • thedevindevops 506 days ago

              It depends, I've met developers who considered everything above the database to be 'front-end' and front-end developers who consider their domain to end 'as far back as' the Service layer so I think the line is not so clear cut. On the otherhand, I consider myself a back-end dev who is happy writing from the Controllers back to SQL if necessary. I don't think in terms 'seriousness' but I firmly believe front-end UI work is a completely different skillset and is far more art than science.

              I would agree though that Javascript developers are not as respected as they should be.

              • matt_the_bass 506 days ago

                I feel like there is a big divide between front end, back end, and non-saas. My bias is that non-saas is often deeper into cs fundamentals and theory.

                • pmontra 505 days ago

                  Modern SPAs are more complex than most backends. UIs always were more complex than business logic even in desktop applications.

                  However the business logic is nearly all inside the backend and it's where the important decisions are made. So backend developers use to be closer to architects or are the architects. You need a more senior person to do that job.

                  • nobody271 505 days ago

                    No, I think they are both challenging. I'd say someone who knows a lot of back-end and a little front-end knows about as much as someone who knows a lot of front-end and a little backend. Except front-end insists on constantly changing so your skillset is going to expire a lot more quickly there.

                    • mbrock 505 days ago

                      What does it even mean for one aspect of the business to be “less serious”? It sounds like an immature and useless valuation.

                      The frontend is a critical aspect of all user facing systems. Excellence in developing and improving that is very valuable.

                      Someone in business who talks like that is not serious!

                      • luxuryballs 506 days ago

                        ultimately it depends on the implementation, but in general it seems like, assuming perfect decoupling and nothing unusual, it’s less involved to swap out a front-end than a back-end, nor sure if that’s a clue one way or another but it’s what came to mind

                        I could re-write an angular front-end using react by using the same back-end API, but if I rewrote the backend I may need to tweak the front-end as well, or go to extra lengths to mimic the API perfectly so the front-end can continue to work seamlessly, which in my experience seems less likely to happen

                        • chadcmulligan 506 days ago

                          In brief yes :-). I can see the reasoning:

                          Backend server side work requires a deeper knowledge of things like Threads, sockets, processes etc. Some knowledge of languages like C etc is generally a requirement.

                          In general front end work requires knowledge of HTML, CSS etc. which kids do in high school.

                          Having said that they are both separate skill sets and supply and demand probably plays a part. There are a lot of people who want to be front end people - designers etc, you get to wear cool designer glasses and have meetings about user experience, while sipping lattes.

                          Back end guys sit with workstations and talk about boring things like sockets and memory usage, so there's less people who want to do this stuff.

                          Thats probably why full stack developers are more expensive and rarer you need a bit of each.

                          • aerovistae 506 days ago

                            Definitely didn't make this thread to argue with people who responded, but I do wish to provide a counteropinion to a couple statements there:

                            > Some knowledge of languages like C is generally a requirement

                            I have never heard of anyone using C for back-end web server code, unless they were contributing to open source tooling. When have you used C for this? I would maintain it's a total rarity and not by any means essential knowledge.

                            > front end work requires knowledge of HTML, CSS etc. which kids do in high school.

                            I don't see the connection between "age at which education system introduces basics" and "complexity of the field." This is a curriculum failing more than anything. Do you mean to say that if we introduced databases into the high school curriculum then you would stop considering the back end to be "serious"?

                            > server side work requires a deeper knowledge of things like Threads, sockets, processes etc.

                            And front end work requires a deeper knowledge of things like async code, promises, websockets, and so on. Idk, I've worked both sides of the coin and I don't see that the one is significantly harder than the other.

                            • chadcmulligan 506 days ago

                              Yes, no argument from me there are different skill sets, I used C as an example - insert SQL/Python etc.

                              I think the main reason is, as I said, supply and demand. There are more people who want to do front end, I know a lot of graphic designers who are now calling themselves front end developers cause its cool :-).

                              So imho you could divide front end people into two groups (and I'm painting with a very broad brush), those who fiddle with HTML and CSS and are front end developers, and those who use things like Angular, jQuery etc and know about async etc.

                              Agents in general try to get the price down, so your job is to put yourself in the second camp as a rare commodity that can do the more exotic things. In my experience many (most?) agents don't have any idea about what they are recruiting and have a check list of HTML/CSS/... - they're a front end developer, I can get them for this much etc. Personally, I'm not sure how to go about this (I call myself a full stack developer, cause its easier to negotiate decent money), but I'm sure someone on HN can give you an angle, good luck.

                              Edit: one thing I've noticed is adding Typescript to your languages makes you look more serious and gets better dollars, so pop that in if you can

                            • jamespollack 505 days ago

                              threads --> web workers

                              sockets --> web sockets

                              processes --> communicating btw microservices

                              memory usage --> app and performance profiling

                              it sounds like you're comparing a junior (high school-level?) FE to a senior BE.

                              in my experience FE is difficult because your code is generally running in a lot of different environments and you have to create something that works reasonably well in all those places. oh yeah, and then there's a human who actually uses the product and who knows what crazy stuff they'll do.

                              maybe a good distinction is that FE requires being comfortable with a lot of uncertainty, whereas BE is appropriate for people who like things 'just so'.

                              • jermaustin1 505 days ago

                                >In general front end work requires knowledge of HTML, CSS etc. which kids do in high school.

                                15+ years ago I took multiple programming classes in a rural high school where we were "taught" VB6, C, and Java.