I originally posted this on Quora as an answer to the question What are 5 essential skills any web developer should have? on March 26, 2012.
- Pulse on the Industry and the User
It’s impossible to know where web development will go in 5 years, but those who follow standards bodies or at least read tech blogs have a much better understanding of upcoming changes and growing trends.It’s not enough to follow the industry. Web developers must also understand their users and how they use the product. Analytics tools like StatCounter and Google Analytics are my favorites for gathering basic metrics of user interactions. A web developer should know if a third of the traffic is from a mobile device or that visitors are from Spanish-speaking countries. Maybe it’s time to think about optimizing for mobile and internationalization.
I list this as the number one skill because being proficient here will trickle down and facilitate the other skills.Things are changing and a lot has already changed. HTML 5, CSS 3, ECMAScript 5, and so on. If you can see these things coming, you will be able to adjust your priorities.
Developers must have an understanding of the state of the browser market and to some extent even the OS market. Did you know users of Windows XP are unable to upgrade to IE 9? Want to guess what the most popular operating system is? (hint: it’s XP). Knowing this, do you think it’s a good idea to drop support of IE 8, even though 9 is out? Maybe for your user base, that could be a good idea. But my point is that you should know where all of the pieces are on the board before you make your move.
- Programming Competency
Developers must be able to write code that is flexible enough to be used in different ways. Search engines and screen readers for the blind are two examples of machines interpreting your code. Sites that are heavy with Flash or foreground images for UI tend to struggle here
Know your user, set limits to what you will and will not support, implement a cross-compatible solution, and test thoroughly.
I leave security for last, but really it’s a top priority. Every web developer must understand how malicious people can use their product to attack the site or other even other users.If the web developer has skill #1, they should be familiar with the security concerns of the industry and common defenses.
One non-skill that I think deserves recognition on this list is motivation. Web developers should be passionate about what they do and never stop learning more. Read those blogs, pick up a few higher-level books, and go to the networking events like conferences and local meetups. Strive to learn more, improve skills, and educate others.
What do you think? Are there any skills you would add? Leave a comment below.