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.