Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What should a Front-end engineer know?
3 points by voidfiles on May 4, 2011 | hide | past | favorite | 6 comments
Let's say a publisher wanted to make a book, and focus on the job of a front-end. What should that book talk about? What do you think the responsibilities of a frontend are?

Is the job clearly defined, or is it still something that people disagree on. Is a FE someone who only works on JS, HTML, and CSS, or do they do some kind of server side scripting as well?




I've hired several front-end engineers in the past that didn't work out, due to a gap in their skill set.

Beyond the technical requirements of cross-browser front-end development using HTML, CSS and JavaScript, a front-end engineer also needs to: - Know how to use various source control systems. This is huge. You can't ship what you don't commit. - Know enough about various template languages (for Ruby, PHP, Python, etc.) to wrap your UI around dynamic template code. If you only deliver static pages, someone else has to do all the integration work. - Be able to do basic image manipulation. Stopping progress because you have to wait to get an image resized doesn't work anymore.

Someone with these skills, by the way, who is efficient, knowledgable about good CSS/JS practices, and can work with a variety of template languages, may be the most in-demand position right now. This is certainly true in the bay area. In fact, if this is you and you're looking for work, drop me a note!


Good try, but I am happy where I am at.


Mmm...I personally see a distinction between front-end developer and front-end engineer. What you're describing sounds like a FE dev.

A FE Eng. is still a software engineer, which means you ought to be able to pick up any backend language, be it Python, Rails, PHP, or a Java/C++ service. A lot of the time you'd be tasked with bugs/features that require a lot of FE work, and some backend work as well; it's so much more efficient for you to just write the backend handlers, esp. when it's usually a stone's throw away from an ORM layer or a simple SQL call.

I'd also consider knowing something about UI/UX to be a nice bonus. In reality, your UI designer isn't going to provide mocks for every page and every interaction; you're going to have to fill in the gaps, and probably do so without a huge dropoff in quality. At the same time, I usually find myself bringing another perspective from the UI side when talking w/ the designer, and since most places only have one UI guy it's valuable for them to get feedback, even if it's from someone not at the same level.


I think, traditionally, front-end has meant html/css/js. With the promise of node, however, and other blending of server and client side technologies, that may not necessarily be the case. Also, beware people who seek to clearly delineate between titles. no jobs are so clearly defined in reality.

If I were to write a book on front end engineering (in addition to the items already mentioned), I would make sure to include the science of UX. Specifically, the analyses done by Jakob Nielson at UseIt.com. I would discuss some psychology, so that your interface and your site objective are aligned. I would also have them learn some copywriting skills (the concepts of landing pages should be well covered).

Also: analytics, social media (so much of it is done through widgets now), user testing.


A FE is expected to know enough of the language in the backend that they can integrate a design without having to bother a programmer for help; the various ways to echo content, how to tap into helpers and make your own, etc. Seems rather obvious but a lot of FE people think that if a line is written in Java or Ruby then they aren’t responsible for it.

Also important for FE to know their core languages, irrespective of popular abstractions they will probably end up using (JS and jQuery or CoffeeScript, CSS and SASS or LESS, etc.). Again obvious but these days a lot of people working front-end will claim they know JavaScript, when they actually mean they know jQuery and drown when tasked to work on a project not using a library or something else.


The difference between a dev and an engineer is a bit semantic. I would say an engr has the additional task of being a leader, overseeing the project, and implementing the QA.

That said, no, it's not clearly defined, and there are dozens of not hundreds of different tasks a FED could have a role in. Graphical design, UI, UX, usability, SEO, and multimedia just to name a few.

Probably most critical though, a FED has to really keep up with emerging technologies. HTML5 didn't even exist a few years ago. Ajax is only 6ish years old. Flash is a necessary skill to help with IE's failings. And Flash != Flex != AS3.

http://clubajax.org/presentation-why-you-need-a-front-end-de...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: