Thoughts on my mind as I get ready for upgrading my MCAD .NET to MCPD Web…
Getting certified was something that I got interested in doing not long after finishing my degree at university back in 2005. Given that I was involved with Microsoft stuff and .NET at the time my choice of certification was to be Microsoft Certified and more specifically Certified in .NET so in 2006 I started working towards the Microsoft Certified Application Developer (MCAD) .NET certification and had that completed, this of course was in .NET 1.1.
I personally find a lot of value in getting certified, I think other than the prestige and self satisfaction you get from certification they provide good awareness of products and technologies and with new technologies coming out everyday it becomes very very hard to keep up with them if you don’t use them on daily basis as there are probably many areas you never get to use, so the alternative can be working towards a certification. I think for me these are two reasons I like getting certified: personal satisfaction/prestige (whatever you want to call it really) from certification as well as awareness of new technologies, being aware of what is possible can help in decision making when you get to a situation where you need to get something done and are looking for a solution.
Nic (who is an MCP by the way) is one person I know who questions what certifications imply about developers who have them (this is specific to Microsoft Certifications AFAIK) and he may have good reason for that. The reason is, he has come across several MC** developers who happened to be not so great as developers or not as good as non certified developers. He can probably say more on this one…
So this gets me back to the question of this post, should people get certified or not, and what value will it add? I’ve already given my thought on this one from my perspective so I would personally like to continuously get certified for the reasons I mentioned above.
I don’t think that MC** (dev track) certifications should be used as an indicator of whether or not you are a good programmer or developer but as an indicator that you are familiar with what the framework …etc can do and how to get started on things. Even if you’ve done all the labs …etc this doesn’t really mean you are a good developer but means you know how the code in a certain area works.
The above issue has been improved slightly in the new generation of MS certifications, with .NET 1.1 pretty much all material was very specific to the framework and surrounding technologies but with the .NET 2.0 a good chunk of the exam covers some generic concepts (within the context of MS technologies and products) such as unit testing …etc.
Another way to maybe think about this is asking this question: does having a degree with IT/CS majors imply you are a good developer? The answer is probably not still.