As a front-end developer, I’m constantly trying to learn new skills and technologies and adding to what I already know. Front-end developer job postings, however, vary from posting to posting so the list of different languages, libraries, and technologies that could theoretically fall under the category of front-end developer skills is quite large.
Here’s a list (that I’ll continue to update) containing a wide variety of skills and technologies that I think all front-end developers should be working on learning, at least to some extent. I certainly don’t know all of these, nor do I expect anyone else to.
The list is not necessarily in any particular order, but I tried to keep the more rudimentary stuff at or near the top. Also, many of the items overlap others, so there’s a lot of cross-over within the list. And of course the list has lots of potential for improvements (more on that below).
- HTML5 / XHTML
- CSS2.1 / CSS3
- HTML5 Boilerplate
- YUI Library
- CSS Grids
- CSS Frameworks / Resets
- Progressive Enhancement / Graceful Degradation
- HTML and CSS Specifications (W3C / WHATWG)
- UX / Usability
- Website Speed / Performance
- Debugging Tools (Firebug, etc)
- Dojo / MooTools / Prototype
- Responsive Web Design
- Mobile Web Development
- Mobile Web Performance
- Cross-Browser / Cross-Platform Development
- Document Object Model (DOM)
- Cross-Browser Bugs and Inconsistencies (primarily IE6-8)
- CSS Pre-Processors (LESS / Sass)
- Version Control (Git / GitHub / CVS / Subversion)
- HTML5 APIs (Canvas, Geolocation, Video, etc.)
- Back-end Templating languages/technologies (PHP, Ruby, .NET, etc)
- Microdata / Microformats
- HTML5/CSS3 Polyfills
- CMS (WordPress, Drupal, Joomla, etc)
- Functional Programming
- Data Formats (e.g. JSON, XML)
- Internationalization / Localization
- Content Strategy
- Offline Web Apps
- Regular Expressions
- Basic .htaccess
- Image Editing Tools (Photoshop, Fireworks, etc.)
- Web Font Embedding / Licensing
- SEO Basics
I may eventually turn this post into an extended list divided into categories plus links to articles and tutorials where these subjects can be learned or mastered — but for now you’ll just have to trust your Google searching abilities if you want to learn more on any of these.
The list is a rough first draft, and I’d be happy to update it and refine it based on any feedback. So please offer your suggestions on how it could be improved and/or expanded and I’ll make any necessary updates.