Get More Stuff

How to be a good front end developer?

Often, it is not the ability that defines the greatness of a person, it is as much the attitude. In fact, people from all facets of life will tell you that attitude is a bigger trump card than ability. You can see this in any sport and most certainly at work. And it is no different when it comes to being a front-end developer.

A front end developer is someone who is responsible for the development of those elements of a website that the customer sees and interacts with directly. It is a combination of programming skills and aesthetics. Acquiring the skills to be a good front end developer is fairly straightforward. It's about learning the right programming skills and developing a design sensibility.

But, what after that? Does everyone with programming skills and design sensibility become a good front developer? Not really.

It is the attitude that matters. Front end developer, Zach Leatherman, has written a beautiful guide of principles that define a good front end developer. There are 16 principles that every front-end developer should live by. They are as follows -

I will put the needs of the user first, over my needs as a developer - Because, at the end of the day, you're building the product for the user, not yourself.

Progressive enhancement and unobtrusive javascript are my tools - Both are strategies and principles for web design that uses web technologies in a layered fashion so that the product can be used under any technology and bandwidth constraint.

Simplicity is respect - User focus comes through here again, as a front end engineer must look at complicated interfaces and designs as bad as disrespecting the user.

I will educate my friends and family that web browser choice matters - Because, the user should use good products.

I believe in the power of the open web - In the constant endeavour to provide accessible device independent content in the face of App Store ubiquity.

I acknowledge that performance is critical - Because, "it works on my machine" just doesn't cut it anymore. A good front end developer should be mindful of limited hardware, poor latency, and low bandwidth situations.

I will learn at the root, not the abstraction - JAVASCRIPT BEFORE JQUERY or YUI, Prototype, Mootools, et al.

I believe that open source code and royalty-free tools represent the best future for the Web - Zach shares that this is particularly true for file formats and codecs for images, audio, or video.

I will not underestimate the importance of accessibility - Because a very large population of computer users are visually impaired. Zach goes a little forward and expects front end developers to be responsible for providing comprehensive access for users that may prefer to use either the keyboard or the mouse; in providing a clean print friendly format; in providing content to devices of varying technological capabilities.

I will give back to the community - Especially in today's context, we owe the community a lot, for what it has given us.

I will continue to foster both hemispheres of my brain - Because, for front end developers, art is just as important as math.

I will do my best to keep my knowledge current - A front end developer should realise that they cannot learn everything and they should be mindful of what they do not know.

I accept my responsibilities for view source - So as to use approaches that will be compatible with current and future web browsers.

My code will be portable - This means being mindful of overzealous use of browser implementation quirks

I will choose the right tool for the job - Because.

I will strive to create secure applications - This isn't out of the purview of a front end developer. Simple things like properly escaping output and code to prevent XSS and CSRF.