Now MS has decided to cancel all its advanced certifications. I am here to share some of my thoughts on this cancellation and my expectation for future.
I have read lots of blogs discussing this cancellation. Most are against the cancellation. Indeed, I agree this is not a decent and compassionate decision from MS. However personally, I hope MS will come up with better alternatives later. I always feel the MS advanced certification lacks the necessary balance between depth and width, and also the knowledge required for certification does not seem to have a long life as it is quite product version related. Yes, MCM needs deep knowledge, but whether to the extent that knowledge may not even be documented in MSDN, and even need help from SQL Server development team in preparing the certification exam?
I’d like to use myself as an example. In the days when DOS was still the primary OS and as a university student, I spent almost all of my spare time in researching virus, I collected virus samples, debugged into the virus, and figured out the virus pattern so I could show off about how to clean the virus. I read tons of books such as “Inside DOS Kernel”, “How to write device drivers”. “Advanced Assembly Language”, etc, etc. No doubt, I was very strong in programming skills by studying the virus (virus were created by really smart or genius guys). But with Windows replacing DOS, network replacing isolated PCs, virus started to change its form and complexity and I gradually felt more difficult to catch up with all the knowledge needed to study virus, and finally I had no choice but to give up. Today, when looking back, I felt my time was actually wasted. If I had spent time in studying “The Art of Computer Programming” instead of studying virus, I should make better career achievement by now.
Yes, at that time I felt so cool, so proud, and I received huge “respects” from others because I can fix virus. I believe had MS launched an “MCM for DOS” at that time, I would no doubt jump on the bandwagon. However, 5+ years later, the knowledge I gained from DOS study became useless in Windows. But today (i.e. 20+ years later since my virus study days) or dare I say another 20+ years from now on, the usefulness and knowledge out of “The Art of Computer Programming” will still be there.
Virus study is something similar to today’s deep-knowledge learning of SQL Server. When we spend lots of time to study the data/index page structure, log structure, undocumented dbcc commands or even memory structure, we all know some day these may change with a new product release. As to when, it is hard to say, maybe three years, five years or fifteen years. But one thing is for sure, that day will come. Other than this doomed change, the knowledge you have learned is of rare use in real daily work, making a lower ROI for your time. To me, these knowledge is good and valuable but with a too high opportunity cost.
So what advanced certification should MS have and promote to IT community? I think any advanced certification should have the following two properties:
1. Productivity-oriented: At the end of day, an MCM needs to work for an employer or a client. They should be expected to be exemplary in improving the work efficiency. In simple ROI term, one MCM should be worth 2+ non-certified DBAs in handling workload yet still with better work quality.
2. Long term value-oriented: If MS had an MCM certification for sql server 2000, can we expect this MCM still as valuable as the SQL Server 2000 era? With current MCM certification mode, I guess not, even though sql server 2000 is not that far from us. (SQL Server 2000 is the mainstream MS database engine until 2005, and lots of companies upgraded to sql server 2005 well after 2006 or 2007) so how can we come up with a certification that even after 20 years can still be related to one’s capability as a DBA even in the new SQL server versions?
How to design and carry out such a certification is actually another topic. But I hope MS does not operate this level of certification simply as a business for profit, instead it should run this certification program like an Olympic game. Everyone is welcome to participate but only the best will be crowned with MCM. Those who finally win the MCM title should also be rewarded a big treasurable prize, like a real pure gold medal. With such event, MS will harvest not only the interests of the IT community but also the reputation and goodwill that cannot be found through the traditional certification program. We all know Olympic game is not for people with a faint heart, so neither should be MCM certification for DBAs / developers. In this way, I am pretty sure MCM will be forever in high pursuit and every MCM certification event will be an event for celebration.