10 “Nice-To-Have” Skills for Front-End Developers

As of Monday I will be officially out of work and looking for a new job, most likely in the same field — front-end web development. I’ve been reviewing the job ads for the past few weeks and it’s nice to see that a lot of companies are catching on to the fact that web developers work best when they specialize in certain areas. In this way, a developer can be a significant part of an effective web development team.

Front-end developers generally specialize in clean, standards-compliant, accessible XHTML, CSS, JavaScript and, more often than not, graphic design. But since front-end coders are a dime-a-dozen these days, it pays to have experience, or, at least, rudimentary knowledge, in a number of other technologies that often don’t get listed under “mandatory” skills for a front-end position.

In this article I’ll briefly outline, in no particular order, 10 “nice-to-have” skills that will greatly enhance the resume or portfolio of today’s front-end web developer.

1. Experience with CVS or Subversion for Version Control

The days of manual backups are over. If you desire a position with a top web development firm in today’s market, or if you want to improve the manner in which you version your own work, then you need to gain some experience with Subversion or Concurrent Versioning System (CVS). Subversion was started in 2000 as an improved version of CVS, including more features and fixing certain bugs that existed in its predecessor.

Both CVS and Subversion have some fairly intricate features, but the general idea is quite simple: They allow you to save or “commit” work at intervals that can easily be retrieved should the need arise. Generally, in a team environment, front-end developers won’t have to worry too much about all the features of versioning software, since the back-end team members will more than likely have the ability to walk them through any issues that come up. But some experience with these technologies is a big plus in today’s market.

2. Familiarity with Wordpress Theme Development

Wordpress theme development will not likely be a mandatory skill in the average job description, but more and more companies are catching on to the power of Wordpress from the standpoint of both developer and client.

If you have a number of years in front-end web development and haven’t yet coded at least one Wordpress theme, then you’re missing out on a very important “nice-to-have” skill to add to your resume or portfolio.

3. ActionScript

Most front-end developers will have at least some experience with Adobe Flash animation. We’ve all tweened an animated cross-fader at some point in our careers. But tweened animations are on the way out and are being replaced by powerful, developer-friendly ActionScript-based code.

Learn some basic ActionScript, or at least have the ability to modify or implement existing AS code, and it will greatly enhance your chances of landing your next job or client project.

4. Back-End Programming Experience (PHP, ASP, ASP.NET)

Having extensive experience in at least one back-end programming language is a huge bonus for a front-end specialist. But at the very least, every front-end developer should have knowledge in one back-end language — preferably that knowledge should fall somewhere in between beginner and intermediate.

I personally recommend that every front-end developer should own, and periodically review, at least one book on each of the big three, commercially-used, back-end languages: PHP, classic ASP, and ASP.NET — even if it’s just to get the principles of those languages in mind. Which brings us nicely into the next item on this list.

5. Familiarity with Object-Oriented Programming Concepts (OOP)

This could easily fall under back-end programming, but since JavaScript, a front-end technology, also utilizes object-based principles, I think it’s good to separate OOP into a skill of its own. Understanding OO concepts will greatly enhance a front-end developer’s speed and ability with Framework-based code, CMS-based websites, JavaScript frameworks, and more.

A good foundation in object-oriented programming — a mainstay in today’s web development market — will nicely decorate the modern-day front-end developer’s resume.

6. Advanced Knowledge in SEO and Internet Marketing

Many large development firms will employ specialists to handle search engine optimization and internet marketing when the client requests those services. Front-end developers should be able to code markup that is SEO-friendly, or SEO-ready, so those services can be easily implemented into any existing project. SEO is very closely associated with web standards and best practices, so it’s not just a “nice to have”.

But having advanced, extensive knowledge in SEO and related fields like web analytics and ad-serving technologies could prove valuable in today’s market.

7. Experience with PHPMyAdmin

Countless websites today are driven by PHP and MySQL. PHPMyAdmin is an open source tool that allows developers to handle administration of MySQL databases online. It’s quite easy to use and does not require any knowledge of PHP or database querying, although those skills would help. Having some experience with this tool is a big plus for any front-end developer, even with the advent of CMS-driven websites that usually don’t require PHPMyAdmin-type access to manage content.

8. Advanced Ajax/JavaScript Frameworks

JavaScript frameworks, which often utilize Ajax, are being used everywhere. CNN, The New York Times, Fox News, BBC, Major League Baseball, Walmart, and many more websites are utilizing JS Frameworks like jQuery, MooTools, YUI, and Prototype.

It is mandatory that front-end developers have some knowledge and experience in implementing at least one of the popular frameworks. But it is a huge bonus if a front-end developer has extended that knowledge beyond basic image sliders and fluffy transition effects — especially now that many websites are drawing up their designs, briefs, and wireframes based on the abilities and features available in the aforementioned frameworks.

9. Ruby on Rails (ROR)

Ruby on Rails, often just referred to as “Rails”, is an open source web application framework for the Ruby programming language and has been very closely associated with the web 2.0 movement. Because of its ease of use and philosophy of “convention over configuration”, some very large companies are using ROR.

ROR has officially broken through the “fad” phase and has evolved into a legitimate development environment. Knowledge and experience with ROR would be a definite plus in today’s market.

10. Mobile Web Development

Front-end development principles are based on catering to the needs of the user. Mobile web development is slowly creeping up the list of important tasks to be successfully completed by front-end developers. Millions of users around the world depend on mobile devices like BlackBerry and iPhone to access, not just simple email or text messaging, but full-fledged websites and applications.

Very soon, this skill will be a mandatory requirement on the average front-end developer job posting, so it should most certainly be on the list of “things to learn” for today’s front-end developer.

So that’s it — that’s my personal list of important “nice-to-have” skills for today’s job-seeking front-end developer. There are more, many of which didn’t quite make the cut. Post your comments below and tell us what you think is a “nice-to-have” skill for the modern-day front-end website developer.

16 Responses

  1. Martijn says:

    Liked it alot, thanks!

  2. Very nice list.

    The thing missing would probably be having a design sense. More and more employers/clients want that special person who can design and code. I am seeing more and more of this, however, my bread and butter (for now) is that most developers cannot, or do not want to design.

    Will need to brush up on this list as I’m sure the new crop of talent coming out will have the full package.

  3. anon says:

    “Object-oriented programming is a mainstay in today’s web development market. The mere mention of it will nicely decorate the modern-day front-end developer’s resume.”
    If you need to state that you aren’t a very good developer. Also RMDS or key-value database knowledge is important as well as many developers have no idea on scaling them or writing schemas in any normalised form. ROR is just a buzzword in this case. Knowing it is irrelevant. It’s like saying you need to know Python/PHP5/Erlang or any language. Just knowing *of* language isn’t something you’d put on a CV, many programming paradigms don’t lend themselves to being picked up as easily, eg functional programming versus OO is rather different, you actually need to know the language or at least have some skill in using it before you throw stuff on a CV as people expect you not to be lying.

  4. You can work for yourself and reap the benefits of being your own boss. I still have to work on SVN, Action Scripting, ROR and Mobile development. Nice list. Thank you.

  5. @anon:

    Thank you for your thoughts, but I don’t think you’re quite getting the purpose of this post. No employer would expect a front-end developer to know OOP, or ROR. But I guarantee you the odds of getting a job as a front-end developer will increase if you can explain in detail what ROR is, or what OOP is. I don’t think there’s anything wrong with putting down that you are familiar with certain concepts, even if you have never worked with them. It shows an employer that you’re ready to grow and understand the latest development trends.

  6. Jesse says:

    Good touch points, thanks! Good luck in your job search.

  7. Items 1, 5 and 6 are good first starts, but the entire list looks pertinent. I might argue actionscript not on the list, but thanks for compiling.

  8. Karl says:

    This list is a nice read as it offers some perspectives on what can be important and why.
    But frankly speaking… I don’t think that someone who will check 8 of 10 of these skills will find his place wihin any development team. Just because his knowledge won’t be deep enough to solve problems of his expertise. …in that case, there is actually no expertise.

  9. ian morton says:

    One of the things you may want to learn is to do without phpMyAdmin as it can be a security risk to have this type of software on the web server. It’s great to have such a tool on the development machine; easy to use and pretty comprehensive. I would suggest getting the free copy of Navicat or simlar mySQL editors which can be run from a remote machine through ssh or php tunneling. The purchased versions also have easier backup/restore facilities and documentation support.

  10. Rick says:

    1 & 5 are not “nice to have” skills. If you don’t have these, you’re not a “developer”, you’re a rank amateur.

    Most other items listed are about the depth and breath of a front-end developers skill, but using version control and knowing OOP are basic developer skills, like any carpenter should know how to use a hammer and a nail, even if it’s an inexperienced and not particularly talented carpenter.

    Especially this sentence is a big red flag: “Generally, in a team environment, front-end developers won’t have to worry too much about all the features of versioning software, since the back-end team members will more than likely have the ability to walk them through any issues that come up.” Sounds like a real healthy team-dynamic, using the back-enders as personal assistants to compensate for the lack of professional skills of the front-enders….

    Luckily, there has been a strong movement towards professionalization from the front-end developers themselves the past two years, because on behalf of all back-end developers I can assure you this kind of attitude doesn’t work on a professional team.

  11. @Rick:

    Thanks for your comments. But frankly you’re being a little narrow minded. Much of my post was geared towards “amateurs”. “Rank amateurs” are still “developers”, so I think you’re being a little harsh there — implying that someone is not a developer if he doesn’t know much about OOP and SVN.

    And regarding Version Control: I have been in web development for 9 years and have never seen a front-end developer job posting make any mention of Version Control technology.

    What you wrote is no different than saying that a back-end coder is not professional if he doesn’t know how to do graphic design!

  12. Rodrigo says:

    I pretty much agree with most of the post but… Wordpress themes?!?! WTF!? PHPMyAdmin?! what the hell are you talking about?!

    Wordpress theming is very specific, and taking into consideration you should know any server-side programming language (OO or not), specially php (for this particular case), and CSS, then you should be able to, if needed, quickly learn how to theme WP.

    As for PHPMyAdmin, be extremely carefull, it shouldn’t even be too emphasized as it could become a serious threat to your server and data.

    If you had said mySQL (postgreSQL/SQL in general) I would definitely agree.

  13. Darius says:

    A “nice” list. :-)

    I have a request though: can you please improve the CONTRAST of the text vs. background in your site? Despite your beautiful, minimalistic design, your site will have accessibility issues with those who have poor vision.

    Thank you very much, and more power to your blog!

  14. Sarah says:

    As a web designer who does some front-end development, I found this post very useful in terms of which languages I need to brush up on and would be nice to add to my resume. I’m no Info Architect, but I think your list was on the money from what I’ve been seeing listed as job requirements for various openings.

  15. carla says:

    wow I have A LOT to learn. Right now all I know is AS, OOP, a little bit of javascript and mySQL. How many years can you master all of these? Hahahaha…

    Thanks for the article!

  16. Ash Menon says:

    I definitely agree with a lot of these items. Being both a designer and a front-end-er myself, it’s scary how common my skillset is. SOME familiarity with ActionScript, occasional WP programming, SOME PHP knowledge. I really have to polish up my skills then :)

Post a Comment

Comment Rules: Please use a real name or alias. Keywords are not allowed in the "name" field. If you use keywords, your comment will be deleted, or your name will be replaced with the alias from your email address. Thank you for cooperating.