Monday, November 24, 2008

What Qualifies Someone as ‘Experienced’?

The term ‘experienced’ is a nebulous one. I call to mind former Democratic presidential candidate Hillary Clinton (no hate mail please), who claimed that she had “35 years of experience in government.” Which was strange, since I seem to recall that as of 2008 she had only served eight years in either elected or appointed office.

Likewise, just saying you have 5 years of .NET experience doesn’t make you an experienced .NET engineer. You might have spent all of those 5 years on CRUD apps moving controls around on WinForms. Not that there’s anything wrong with that, but that kind of work does not make for a well rounded .NET engineer.

To me, someone experienced with a technology has had enough depth and variety in assignments to have explored most of the features available in that technology. For instance, if you say you are experienced with.NET, does it mean .NET version 1.0? 1.1? 2.0? 3.0? 3.5? Have you used, or at least understand, collections? generics? multithreading? delegates and asynchronous I/O? garbage collection? If not, you can’t truly call yourself experienced in .NET.

Some may quibble that I’m using a trivia contest to the question of whether someone is experienced in a technology. However, there’s experience and then there’s experience. To me you’re only qualified as experienced if you can confidently discuss the technology in depth and apply it readily to problems. To do this you have to know the ins and outs of the technology, what it’s capable of, and what its limitations and weaknesses are.

Also just as important, if not more so, than the number of years with a technology is what you have done with it. Did you maintain an existing system and fix bugs? Play around with scripts? Or did you actually participate in specing out, building, releasing, and supporting an actual system? There is a huge difference between designing and coding up something from scratch versus just patching holes in it. You will most likely not be considered ‘experienced’ unless you have gone through at least one full development cycle, and preferably several.

No comments: