"Ah yes, you’re the guy that make the site look nice and fix the Javascript bugs that make the page break in IE, right?"

#1. Break it down!

Be involved from day 1. Take part in IA and Design decisions. As a Front-end engineer you should have the vision to see the final product and be able to discover, from this stage, what elements can be improved and which ones might need to be modified.

It is that vision of seeing things in a modular way that you should bring to the team: everything can be simplified yet maintaining the original concepts the creative guys have come up with.

#2. Build it up

Make your build accessible and semantically correct. Accessibility should be a design feature and not something you add later on.

Think about (and use) progressive enhancement techniques, much better than graceful degradation and the way to keep things running on the most basic of the platforms.

Speed things up, use a framework as a starting point for all your HTML, CSS and JS code. But use it well; don’t let bloated code get in your way.

#3. And try to break it again

Test across browsers, we love this bit. Be real, IE6 is still there and you need to provide a proper experience for those unlucky users.

Optimise your code from every possible angle, from CSS sprites to minifying, compressing and loading on demand JS code.

Engage with the back-end dev team because they are likely to break your beautiful code. Learn the constraints they have and see if things can be changed.

Sometimes, in the real world, you may need to bite a bullet or two but it’s only with communication that applications can be made better. Have a new hobby: learn a CMS inside out. You’ll get them more when you do.