.NET Certification Blues

Jonathan Goodyear isn’t particularly happy with Microsoft’s new.NET certification process. He tellsus what’s wrong with the process and how it can be fixed.

Jonathan Goodyear

October 30, 2009

6 Min Read
ITPro Today logo in a gray background | ITPro Today

BackDraft

 

.NETCertification Blues

 

By JonathanGoodyear

 

As the.NET Framework and Visual Studio .NET (VS .NET) made their paces through betatesting, a common question kept cropping up: How would Microsoft handledeveloper certifications for .NET? A .NET Microsoft Certified Systems Engineer(MCSE) track was released fairly early, but Microsoft kept almost everybody inthe dark about its plans for a Microsoft Certified Solution Developer (MCSD).NET certification. When the question was posed in front of hundreds ofdevelopers at VSLive Orlando's Midnight Madness in October 2001, the Microsoftpanelists didn't really know how to answer. In fact, I was still unable to getanswers from Microsoft mere hours before the VS .NET launch. It was frustratingto keep running into the same brick wall of shrugs and blank stares.

 

Shortlyafter the launch of VS .NET on February 13, 2002, I finally got some answers.Microsoft has created two developer certifications for .NET. The first is theMicrosoft Certified Application Developer (MCAD) certification. This is asubset of the premium MCSD certification. After reading over the specifics, I'mrather disappointed. Disappointed in the way the exam specifics were shroudedin mystery, and disappointed in what appears to be the final product. I thinkthings could've been handled much better.

 

AlthoughMicrosoft did a great job of working with other organizations, such as the W3C,IBM, Sun, and Oracle to create the standards leveraged by .NET, the samecooperation wasn't extended to existing MCSDs when it came time to decide theircertification futures. I find it ridiculous that Microsoft would disregard thecollective knowledge of thousands of expert developers and develop its new examtracks in a vacuum. Developers like to be spoken with, not spoken at. Manycompanies have upper-level management that get themselves in hot water becausethey haven't yet realized this tenet.

 

You maythink that I've forgotten about the certification beta exam process. Whilemoderately helpful, beta exams don't leave open enough latitude for real changeto take place. As beta exam takers, you're allowed to influence the pattern ofthe wallpaper or the outside landscaping, but the house has already been built.It's the foundation of the .NET developer certifications with which I take realissue. What if I really wanted five bedrooms instead of four?

 

I thinkthat creating two levels of multi-exam .NET developer certifications was a stepin the right direction, but the requirements for each are out of alignment. Forexample, the MCAD certification doesn't require the "70-300, AnalyzingRequirements and Defining .NET Solution Architectures" exam. The frequentlyasked questions page on the Microsoft Certification and Training Web sitestates that the reason for this omission is that the relevant parts of the .NETFramework will be discussed in the context of the VS .NET tool. Unfortunately,this is precisely the attitude that has led to an onslaught of developers whocannot function without fancy wizards and prefabricated template code. Toolsare a way to make your development efforts more efficient. They shouldn't be asubstitute for knowledge about what's going on behind the scenes. A firmunderstanding of the .NET Framework is fundamental to successful .NETdevelopment, and a certification that doesn't include it is severely crippled.

 

It alsoconfuses me that Microsoft has continued with its support of singular languagecertification tracks. As an example, you can become a .NET MCSD without anyknowledge of Visual Basic .NET. Or, you could do the same without touching C#.While this approach may be satisfactory at the MCAD certification level, MCSDsneed to be held to a higher standard. MCSDs are expected to have the knowledgeto bridge disparate systems into a cohesive workflow. Odds are, those systemsaren't going to be developed solely in one language. The ability to grasp andunderstand multiple languages is essential to being a top-tier developer.Knowing only one development language is tantamount to a United Nationstranslator who knows just a single spoken language. It doesn't make any sense.

 

Microsofthas made the task of learning .NET languages rather easy by encapsulating 90percent of the features of any .NET language inside the .NET Framework classesthemselves. Picking up a different .NET language flavor is just a matter oflearning the semantics of a new syntax. It no longer requires learning anentire new API. No matter which language camp a developer adheres to when theyhave home field advantage, they simply must get used to handling other terrain.Microsoft has made a grave mistake by over-emphasizing the "lifestyle choice"mantra. More often than not, the choice is made for us.

 

One ofmy biggest gripes with the new .NET developer certifications is that they don'ttake specialization into account. To obtain my MCSD, I was required to takeboth client-side and distributed (e.g., Web-centric) exams. There were only twomajor players in the application client field, so this wasn't too much of aproblem. With the explosion of different application clients, however, it hasbecome necessary for niche players to enter the field. Those players needspecialized certifications. For example, some developers will develop almostexclusively using the Windows Forms classes on the client. If all they want toobtain is an MCAD certification, then they're fine. But what if they want apremium certification? Under the current system, they are flat out of luck.They have to study for and pass several Web-based exams that they have no usefor in their current job function. The situation gets even worse for those whodevelop exclusively for mobile devices. There aren't any exams targeted forthem. Instead, they'll probably end up lumped in with the ASP.NET developerswith whom they share very little in common. It just doesn't make any sense. Inthe NFL, there are players who make millions of dollars a year while onlyplaying in a handful of plays per game. More money than some of the players whoplay all of the time. Why? Because they're specialists, and when you reallyneed them, they're there to save the day. Many developers (myself included)make their living off of specialization, yet there's really no appropriate .NETcertification that takes this into account.

 

Notsurprisingly, one of my favorite books of all time is Dr. Seuss' If I Ranthe Zoo. In the book, young Gerald McGrew travels the world picking out aperfect array of animals for his imaginary zoo. I'd like to give this idea atry with .NET developer certifications. If I ran the .NET certifications,developers would be required to learn the .NET Framework inside out before theywere awarded with certified status. Developers would need to break through thebarriers of language homogeneity and learn to effectively communicate with codefrom other systems. Web Services can't do it all. If I ran the .NETcertifications, developers would be able to earn premium certifications inspecialized fields like ASP.NET, Mobile Internet, or Windows Forms development thatwould enable employers to more easily locate developers with specific skillsets and expertise.

 

Just asin Dr. Seuss' book, I really don't run the zoo. I do hope that Microsoftchanges its tune, however, and opens its eyes to the true composition of thedeveloper community it helped forge. Things aren't as simple as they used tobe, which is a good thing. As developers, though, we need a structuredcertification system that reflects the complexities, specializations, andinterconnected nature that will drive technology for years to come.

 

Check out these relevant links:

http://www.microsoft.com/traincert/mcp/default.asp

http://www.amazon.com/exec/obidos/ASIN/0394800818/qid=1014080158/sr=8-1/ref=sr_8_3_1/104-0251913-1668772

http://www.mcpmag.com/news/article.asp?EditorialsID=461

 

JonathanGoodyear is president of ASPSoft (http://www.aspsoft.com),an Internet consulting firm based in Orlando, FL. He is a Microsoft CertifiedSolution Developer and is author of Debugging ASP.NET (New Riders Publishing). Jonathanalso is a contributing editor for Visual StudioMagazine. Reachhim by e-mail at mailto:[email protected] orthrough his electronic magazine, angryCoder, at mailto:www.angryCoder.com.

 

 

 

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like