Ask HN: Making Front End Work Suck Less?

8 points by dpeck ↗ HN
Background: CS degree, roughly a decade of experience in a lot of different parts of information security. These days I've become a bit of a generalist with a lean towards networking, protocols and working on what I think of a data-centric development projects. A couple of years ago we were trying to find a frontend guy, and for whatever reason had no luck so I went back and taught myself a bit.

These days I end up doing a lot of solo projects, full stack. DB, actual code, front end, etc. Essentially everything but the visual design.

I've realized though, the frontend (html/js/css) take an inordinate amount of time compared to everything else. Outsourcing doesn't seem to help, as even with local people with good reputations I end up spending about as much time correcting and managing them to get the same results as I can produce.

Love ruby for my high level language so I'm using rails on most everything, and as friendly of a stack as I can find. Slim, Scss, Coffeescript, bootstrap or the bourbon ecosystem for my starting framework. It is a lot better than it could be, but honestly it still sucks. Everything about the web portion seems to be crud layered on top of crud.

I had some downtime recently and spent it with some procedural content generation, a couple thousand lines over the course of a few days. Implementing interesting algorithms and stitching them together instead of the repeatedly beating state onto a stateless medium that is the modern web.

So, realizing the power of the web and the tradeoffs being worth it, even with it being a time sink. I'm wondering if any of you with more of a background in non-web development have any tips that helped you become more comfortable on the web side and maybe even enjoy it?

5 comments

[ 4.4 ms ] story [ 22.0 ms ] thread
The key to working on front end code is getting blacked out drunk.
I come from a pretty strong web background (started out as a front end, now full stack), but I also struggle with properly managing time when it comes to my front end focused work. My advice is probably very simple, but it's proven to be most effective for me. Focusing on the smallest parts first and making them as loose and re-usable as possible has always made my front end work process go very smoothly.
You don't seem to define exactly what type of frontend work is giving you grief.

For the layout/design thing, there now exists quite a few drag and drop tools to get a decent design. They also do code-generation, so you can modify the final thing.

As far as SPAs and frontend frameworks go, perhaps it requires a change of thinking. There's also a lot of opinions among the framework-makers as to what is "best practice", so for the frontend framework part, the only way I think you might "enjoy" it is to look for the "it's inspired by Rails/Django/x-server-side-framework" situation.

I think this type of tedious work won't disappear until technologies like Web Components become mainstream (which may take a few years). Even with something like Bootstrap or Foundation you will spend quite some time sticking together huge amounts of markup.
I like front end work and find it satisfying and easy.

I remember not having javascript debuggers, hand rolling html/css myself and dealing with NN 4.0 and IE 5 back in 1999.