Greetings. The leaves are falling here in London and there’s a bit of a chill in the air, but occasionally there’s also a ray of sunshine!
Speaking of rays of sunshine, I recently experienced the shaft of light from heaven which accompanies the joy of passing the 70-511 Microsoft Certification exam
The joy (and relief) mostly occurred when it was over and I passed!
Full disclosure here, I failed it the first time, just by a few points, then passed it the second time (also by a few points). Some people find these exams easy, but in all honesty, I’m not one of those people. I found it to be a pretty difficult test, mainly because it’s just an immense amount of material you have to memorize.
Another annoying thing I find about this particular exam is that it’s a test both about WPF (Windows Presentation Foundation, which I think is a cool and modern technology, and similar to the Silverlight work I’ve been doing in the last year or two, or integrating Silverlight with SharePoint). But also, it’s a test about Windows Forms programming, which, they argue, is still viable and you might find yourself on a client site doing a Windows Forms project. (Do the words “legacy app” mean anything to anybody?)
Personally I think it ought to be two separate tests, but I guess if they did that, nobody would bother with the Win Forms one, because it’s old technology and therefore uninteresting to a lot of developers, who naturally prefer to learn the cutting edge stuff (is WPF cutting edge? That’s another question. Anyway it’s cooler than Windows Forms in my opinion).
Putting aside, of course, the whole current debate about whether WPF and Silverlight are being killed by Windows 8, HTML5, CSS, etc. Arguably, given that whole question, even WPF is an obsolete technology. Be that as it may, I’m currently pursuing an MCPD to add to my employer’s offerings in this area, and this was one of the exams which is part of that larger goal. (Next up: 70-513! I’m actually looking forward to that one, in some strange way. WCF is quite interesting and useful).
Well, I’ve seen this a number of times in my career, where I’ve spent years working with a particular Microsoft technology (I was a Visual FoxPro programmer for years), and they end up killing it off because they’ve decided to promote a different paradigm. This is a big topic, also endlessly debated on the web, and I’ll leave my two cents for another blog post, but suffice it to say, that’s life in the fast lane, buddy. You gotta roll with the changes. To quote two rock song cliches. I’ve had to reinvent myself a number of times, and it’s not exactly fun, but I do like to eat and have a roof over my head.
If you choose a career path which involves using technologies created by an organization such as Microsoft, which modernizes stuff as time permits and as they see fit, or if you want to do software development in general, then adapting to constant change is obviously just part of the game. What doesn’t kill you will make you stronger!
Anyway, I also went through my usual ambivalence about the whole process. Generally I spend a lot of time thinking, why do I have to cram all these obscure facts into my head? (And my wife gets to suffer through me moaning about it for several weeks!) But I’ve taken 3 of these exams now and invariably I later found myself on a project, actually using some of the stuff I learned from studying for the exam, and eating my words.
So I’m trying to learn, over time, how to grin and bear it. In the end, you do end up being more knowledgeable on the other side, and often it’s one’s familiarity with obscure facts about the technologies you’re working with, and general command of your material, that help make you a better developer. And despite a range of opinions I’ve heard regarding the actual value of these certifications in the marketplace, these exams, I must admit, do actually force you to learn a lot of the more obscure minutae which you might have bothered with otherwise.
However, as I did with another test (see my earlier blog posts), I thought, why can’t they just give you a reference that’s organized in the same way as the test, that gives you a set of hyperlinks to those topics on MSDN? If they just said, here’s the material you’ll be tested on; go memorize this, and you’ll pass.
Well, unfortunately it’s not that simple. To me it appears to be largely about testing your ability to find stuff that’s buried somewhere deep in the pages of MSDN. Which obviously doesn’t make you a good developer, and although I guess it does force you to dig for stuff, to me it feels like a bit of a waste of time.
So with that in mind, I thought, as long as I’m studying for this thing, I might as well produce a reference that might be useful to myself in the future, and maybe for somebody else studying for this beast. And it may be a useful reference for these technologies in general. So enough blathering. Here’s my 70-511 Study Guide.
(To create these, basically I create a giant Word doc, based on the “skills measured”, and paste in hyperlinks as I’m studying for the test. Then I save it as HTML. Word creates some pretty horrible HTML but there you go).
It won’t mean you don’t have to memorize this stuff also, but it may make life a bit easier by putting stuff in one place. Lotsa luck my friend!