Poll: Do you prefer front end or back end work?

43 points by dangero ↗ HN
Curious if the hacker news community is more geared towards visual front end work, or back end deep in the code kind of work. If you like both equally you can vote for both or neither.

I'm specifically defining front and back end using wikipedia: "In computer science, the front end is responsible for collecting input in various forms from the user and processing it to conform to a specification the back end can use. The front end is an interface between the user and the back end. The front and back ends may be distributed amongst one or more systems." http://en.wikipedia.org/wiki/Front_and_back_ends

52 comments

[ 4.5 ms ] story [ 144 ms ] thread
There is so much less IE8 BS in back end. Front End takes 800% of my time because of variable browser nonsense. Even with JQuery.
Front-end because my work is immediately visible.
Backend because my work is immediately deployable; I can add a feature on a server and use it straight away, no waiting for graphics elements or UX approval.
I would have voted front end but then I remembered that I intentionally avoid any work that needs to support old browsers because they are so much of a pain in the ass. So in the end I would say it's a mix of both. Front end is fun because I actually get to build what user will use and back end is fun because I get to make the plans or extensive stuff that will decide how efficient the code is and how much flexible / future proof it can be. OP can you add an option of "both".
Front-end work. The advent of great frameworks and environments, such as LiveReload and grunt, has made JS programming a lot more fun.

edit: And to add to that...browser fragmentation is still a PITA, but not nearly as bad as when I was in college and IE6 was dominant. I originally got into programming years ago because I wanted to design games, but it's only been recently that I've had a hankering to look back into it. The awesomeness at Ludum Dare has been an inspiration and I'm kind of excited at the thought of building something quirky and fun that, for the majority of people, can be experienced just as easily as any web page. What you lose in pure power and features, you gain in more universal accessibility. I even bought a book on ImpactJS the other week just to try it out...which yes, means I'll have to fork over $99 for ImpactJS, but well worth it if the programming is fruitful

Backend. It tends to be easier to read, write, understand, test, debug, deploy and operate.

For one thing I find far fewer places where I am dealing with abstraction leaks caused by sticky-taping together the vestigial organs of a document format interpreted in wildly conflicting ways.

Both. I write small business custom databases, previously in Access (Office) Basic and now in Django.

I enjoy both UI design as well as database/business logic design.

I've been doing almost exclusively JavaScript/Canvas work for over 3 years now and I think it's great, even if it isn't the most technically mature language I've used at length.

I am in a love affair with the weird little language that is JavaScript. I also think it is by far the best language to teach basic programming (and because of that I think JavaScript is hugely important in its own right[1]).

The amount of time it takes to whip up a five-cent program with JavaScript without even leaving my browser, heck without even leaving this tab is just astounding to me even after all these years.

One thing I noticed in my (not-very-long) career is that more than the language itself, or the "kind of work" as you put it when considering front end vs back end, is not the end-all of importance in determining the enjoyment of my work.

The tools that I use while building things in a language are what really make the work a pleasure. If I wasn't using Chrome's web developer tools I'd probably consider JavaScript to be a nightmarish corpse of a language that punishes the slightest of typos with a silent malicious grin, as code execution carries on as if A.blah = 5 and A.blsh = 5 were both equally worthy of existing to the JS compiler/interpreter. Only by the grace of tools is JavaScript tame at all. Services like BrowserStack[2] help a lot in this field too, as does StackOverflow (helps all fields and needs no introduction, though the StackOverflow JS chatroom is one of the liveliest rooms, and deserves a mention)

With the clarity of the tools for modern front-end dev, I think it's an incredibly enjoyable environment. Certainly the most pleasing one I've found.

[1] http://simonsarris.com/blog/696-the-importance-of-geocities

[2] http://www.browserstack.com/

> The tools that I use while building things in a language are what really make the work a pleasure.

Agreed. That's another reason why I prefer backend. The toolchains are more featuresome and mature.

Take a look at node.js, yeoman, karma, livereload.

I prefer doing both at the same time (separately).

My career is hobbled by my own dastardly contrarian conservatism. I knee-jerkingly reject what is trendy and cling to what seems known and sensible. (I am trying to get out of my comfort zone with AngularJS. So far it's not going well.)

Over the next 3-5 years I fully expect front-end tools to catch up to where we were in the 1990s. Which is a good thing. There may be honour and prestige to be gained from toiling in the mines of obscure incompatibilities, but there isn't much customer or social value.

(comment deleted)
I started my career writing apps for the Mac 25 years ago, but 18 years ago switched to toolchains and later hard-core systems programming as well as databases and 3d graphics. I think the front vs back end distinction isn't sufficient, as someone doing Rails might be "back end" but certainly couldn't write and debug a device driver...
I enjoy write back end and front end , because the front end its beauty and back end its funny
Backend. I can implement something and it works. I do not have to deal with my fully implemented feature not working right because of a browser bug. Moreover, I control everything about the runtime: the data store version, the kernel features, etc. Browser decide what they will or will not let you do and all decide slightly different things. On top of that browsers come in different versions with arcane bugs and insane user and institutional settings.

Don't get me wrong, a good Project that is good for the user is fun, I just hate having to backtrack and adjust for runtime issues after the code already functions on 90% of the user agents.

Backend generally has a concretely defined api/functionality. Front end runs the risk of someone objecting about things like pixel width, color, etc.

I much prefer backend to frontend for the projects I work on.

Back End is more fun. I'm not very good with UI design, graphics or artsy Front End stuff I'm not very creative in that department I do enjoy Logic and Database more. I prefer Django and Python rather than Javascript and JQuery, bad analogy perhaps but hope you get the idea.
I could talk about frontend stuff with "normal" people whereas I could only talk to a small circle of people about backend stuff ...
I enjoy the software development process from top to bottom. Sometimes I like making sure a button is pixel perfect in Photoshop, and other times I'd rather be writing algorithms. I think I've always been drawn to software because it allows me to constantly explore the different sides of my brain.
Back end problems are so much more interesting.
Mostly back but I run my own sites (good or bad as that is) and work on the front end from time to time. Still I feel more comfortable in the back-end, plumbing, making structures that keeps things running. There are really talented front-end people, very creative, sharp in design like nobody's business but that's not me. For me, front-end is some plain HTML, some JSP, maybe some basic jQuery stuff or if I really need it I'll dive into either jQuery or DoJo for nice interactive tables but the majority of the time, back-end.
There should be another option - full stack development. I am quite sure that many developers love working on entire application stacks.
Exactly. I love shipping features for customers—I generally can't do this without bouncing from JavaScript to Ruby to back again faster than I could say "I'm working in this specific context right now."

For example, today I added drag + drop image upload that posts directly to S3, but not without resizing the file to maximum dimensions of 800 x 600 first, and finally kicking off a Sidekiq job to generate all of the smaller thumbnails. Hard to say whether that was more front-end or back-end code.

I prefer working on front end stuff, not necessarily because I think working on the back end is worse, but because it's more immediately rewarding.

With frontend work, you get to see the results right away, and interact with the user interface, and I guess that in a way it's closer to visual design part because of controlling interactions and making decisions (in some cases) about the way that users will interact with the app.

I like working on the back-end more because of the challenges, but I also like doing front-end IF the platform is either Android/iOS. I feel like web front-end work takes too much time.
My preference is like (Backend - Database) + Front End!
I love both. Seriously.
Backend, just because frontend programming is a mess, and for the web, doubly so.
Definitely backend.

Backend is where the client knows what she wants.

Frontend is where the client thinks he knows what his clients want.

Big difference.

Depends. I find both complement each other workflow-wise. When I'm stuck on back end problems, I use front end work as procrastination and momentum to get back to the back end.
I like a mix of both.
As a test automation engineer, I never had RSI in 10 years of work. 3 months into front end testing, and good grief, my wrists :/