Home » Featured, Headline, Web Development

Essential Skills for Web Developers in 2010

19 March 2010 2 Comments
Essential Skills for Web Developers in 2010

I interview a lot of candidates for the role of web developer. I thought I would take a minute to describe what I think this role means and the skills *I think* you need to be successful in today’s world. This is just my opinion, your results may vary.

Let’s get core skills out of the way; you need some exposure to the MVC, asp.net code-behind model only just doesn’t cut it. You should understand the rendering pipeline, how to manipulate the HTTP request and so forth. Basic stuff.

You should also know Serialization inside and out. That’s pretty core to how everything works these days. Ideally you should know Castle Windsor or Spring.NET or some other IoC container framework.

You should have at least some exposure to a completely different stack, e.g. .NET developers who’ve used PHP also will have a leg up over someone who’s been stuck in ASP.NET all their lives.

Next up you need to understand how HTML is rendered and processed on the browser. You need to understand the browser and how to work with it and how to write cross-browser compliant code.

Performance cuts across all this. You need to understand asynchronous web services, how to minimize your page size, how to optimize when data is loaded, how to instantiate DOM objects appropriately (as needed) and how to cleanup after yourself.

Know a JS library; If you haven’t used JQuery, Prototype, ExtJS, Backbase, Dojo, MooTools or something similar I’m sorry. You lose. If you’ve built a JQuery Extension, you win.

Testing; Have you used nMock, nUnit, mbUnit, SoapUI, Selenium, WatiN? Why not?

A good all round web developer will have some exposure to image manipulation and CSS. Maybe not photoshop but something similar. Maybe their stuff won’t be pretty but at least they should be able to create basic images, slice and dice a PNG, make a Sprite etc. Did you know you can base64 encode images and embed them in a CSS file?

BY now you should’ve used or played with a wide range of the open APIs out there, anything from the programmableweb.com basically. Amazon, Ebay, Yahoo, and so on. You might even have used some of the cloud APIs out there, things like EC2, Azure, S3, Google App Engine. Recreational use outside of your core job still counts!

Want to really set yourself apart? Know security and identity federation. You should know and have implemented oAuth, OpenID, SAML, Ws-Federation, FBConnect, Google Friend Connect.

Lastly you should have your own site(s) portfolio to point at. This is just good business if you’re a freelancer but I think more folks need to demonstrate what they can do before hiring in this manner.

Sound like you? Shoot me an email and maybe we can work something out.

2 Comments »

  • Rajesh Pillai said:

    Bang on target !!!

  • Nadeem Shaikh said:

    Excellent Francis, looking at this list helps me to re-align my skill set. Thank you for this article.

    One question tho, can you please elaborate on “serialization inside out”,
    Are you saying one should know the inside out/internals of JSON/XML serialization? do you meant one should know how does the serializer class internally works for e.g the article explaining the internals on
    System.Web.Script.Serialization.JavascriptSerialzer Process

    _
    Nadeem Shaikh.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.