Thursday, 10 November 2011

My 70-511 Study Guide


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! 



  1. Great post!

    I am about to embark on the 70-511 journey and i am certain i will have very good use of your study guide!

  2. What a fantastic find, thank you so much for putting this together.
    Currently half way through my studies, so fingers crossed!

  3. Hi David ,
    Myself Umer from India . I was searching for 70-511 preparation materials and stumbled upon your page... Thanks for the write up . I am a 2011 passout . so Ihave completed 1 year in IT to be precise . I was trained in dot net but ended up working with PL/SQL. Planning to go back to dot net . So thinking of taking 70-511 because of 2 reasons 1) dont have any hands on experience in dot net other than training 2) this certification might give me an advantage over other ... I would like to get your opinion ...


  4. Hi Umer, thanks for your comment. I spent a lot of years as a Visual FoxPro (VFP) programmer, until around 2005, when I was at a Microsoft developer conference in Las Vegas and many of the FoxPro speakers were saying that VFP was finally going to be discontinued by Microsoft, and they were encouraging VFP developers to make the jump to dot Net. At that time I started reading a lot of C# books and trying to learn as much as possible. But it was only by a stroke of luck that I was able to get another job in another department with the company I was working with, which was an ASP.NET job. Fortunately they let me learn on the job. It's difficult when you're starting out, because, how does one get a job when one has no experience, and how does one gain experience without a job? In my case, my lucky break enabled me to start gaining experience in the dot Net world. Meanwhile my advice would be: a) read as many books as possible. Search the web for "suggested dot Net reading list". I recommend for starters: "Pro C# 2010 and the .Net 4 Platform" by Andrew Troelsen (Apress). b) perhaps use your PL/SQL experience to get a job using SQL Server. Then work your way up from there by gaining more experience. c) yes, the certification exams are good in the sense that they expose you to material you would not otherwise learn. I started with this one: , which may now be getting retired, but, it was still a good overview of the .Net framework and forced me to learn that stuff. Good luck to you.

  5. Thanks for sharing this informative blog..Keep posting..

    Dot Net Training in Chennai

  6. This comment has been removed by a blog administrator.

  7. This comment has been removed by a blog administrator.