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.
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 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.
Read it in Zach's own words here - http://f2em.com/