Journal Articles

CVu Journal Vol 13, #6 - Dec 2001
Browse in : All > Journals > CVu > 136 (8)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: The Path of MCSD

Author: Administrator

Date: 03 December 2001 13:15:48 +00:00 or Mon, 03 December 2001 13:15:48 +00:00

Summary: 

Body: 

For some years, Microsoft has run an elaborate system of examinations, including a specific qualification aimed at professional programmers. Will Watts found out what it was like to become an MCSD.

Here's how your company can legally obtain an enormous amount of Microsoft software, get the right to put a Microsoft logo on its letterhead and generally enjoy partial assimilation into Bill's behemoth - and all for around £1000. It's called being a Microsoft Certified Partner. Each year, Microsoft ships you a sort of Christmas hamper. It contains a plaque with ersatz Bill Gates signature to go on the wall in reception, a medium sized MCP flag for the company flagpole (really), a selection of ugly posters which tell MCPs how wonderful they are (although the rainy one of the man crossing a puddle using bandstand chairs as stilts is rather good), and of course an MSDN Universal Subscription - a shed load of CDs containing useful stuff like Word, Visio and SQL Server, and more copies of different versions of Windows than you could shake the world's most shakeable stick at.

There is a snag. To qualify for the partnership programme, two employees of the company must take Microsoft certification examinations. It was when we discovered this (if you'll pardon my sudden descent from the general to the particular) that my general lack of condition and years of over indulgence in Newcastle Brown ale betrayed me. I was last by several tenths of a second out of my seat and heading for the door, and thus became one of the two to be picked for sacrifice on the altar of Microsoft qualification.

I then made the situation much worse by misreading the Microsoft Certified Partner rules. I thought that in order to qualify the two of us needed to become either Microsoft Certified Solution Developers (four exams) or Microsoft Certified System Engineers (about 17 exams, most of them apparently, to my unenthusiastic eye, to do with the darker, moister corners of TCP/IP configuration). Actually, all we needed to do was become Microsoft Certified Professionals (one exam), but it is too late now - we can't untake them. (If you could see your way not to mentioning any of this to my co-victim Brian, that is fine by me.)

The choice

Just as there is more than one path to Enlightenment, so there is more than one combination of exams that leads to Microsoft Certified Solution Developer-hood and the privileges that come with it (the right to buy geeky polo shirts with MCSD logos from the official website, the right to leave King's Cross station by platform 9¾ and so on). At time of writing, all MCSD candidates must take the core exam 70-100 Analyzing Requirements and Defining Solution Architectures. You get to choose one 'elective' exam which can be one of eleven product-based offerings, I went for 70-229 Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition because improved knowledge of SQL Server seemed like a worthwhile thing to acquire. Finally, the would-be MCSDer must take a pair of exams called Designing and Implementing Desktop Applications with Microsoft N and Designing and Implementing Distributed Applications with Microsoft N where 'N' is one of Visual C++, Visual FoxPro and Visual Basic.

Now me, I'm a Pascal programmer really, and though an experienced dabbler in C++ and VB, by no means an expert. Consequently this was not an ideal spread from my point of view. In the end, having been subjected to a little peer pressure ('Are you really thinking about doing the VB exams? Then we would just like you to know one thing: of course we will still respect you...'), I went for the Visual C++ exams.

This was all very well as far as preserving my programming machismo went, but meant I had some learning to do. How to acquire the knowledge? I consulted the Microsoft's website. It recommended special own-brand training courses appropriate to each exam, and nominated approved local centres where I could attend them. There were three five-day courses officially suggested for the two Visual C++ exams; I priced them at a UK supplier pointed to by the Microsoft website... and the total fees came out at over £4500! My keenness for this approach was further blunted by the recollection of a previous Microsoft five-day course on OLAP extensions to SQL Server. This had been a) stultifyingly boring, b) of rather mixed quality and c) was accompanied by printed notes that, despite considerable heft, had become useless as resource before one could get them back to the office.

A 'real' course appeared to be out. What about the alternatives? As part of a job lot of Microsoft software, we had previously acquired some CD-ROMs that offered self-paced interactive training from the 'Mastering' series. I took a look at these to see if it was worthwhile getting the titles recommended for my exams. One of them, unhappily the ultra-relevant one about programming with MFC, had mysteriously become unreadable in all our machines since we had originally acquired it, revealing a hitherto unsuspected compatibility in behaviour between optical and magnetic media. However another, about Distributed Applications with Visual Basic 6.0, was playable.

Its content turned out to be a mixture of 'straight' reading, short filmed lectures, shown in teeny frames, delivered to camera by unhappy-looking senior Microsoftees reading an autocue ('Hi, I'm Jim Doolittle, and I'm in charge of COM database interfacing here in Redmond'), short animated sequences, also in teeny frames, showing how to place buttons on dialogs, a few test-yourself questions at the end of each section and an abundance of cross references to so-called 'white papers'.

None of this did much for me: I find learning things by reading quantities of onscreen text rather difficult. If I was going to ingest a lot of material, I needed to have it printed on dead tree. I decided to buy some books.

Prey

A trip to Foyles bookshop on the Charing Cross Road quickly showed me how the commercial world sees Microsoft exam candidates: as prey. Whole stacks of books, which in my carefree, no-need-for-qualification days I had not noticed, were devoted to the subject. As I walked past them, they seemed to gloat from the shelves: 'Are you sure you can get by without me? How do you know that I don't contain the answer to the question that will make the difference between passing and failing?' The volumes ranged from huge, official Microsoft hardbacks at forty smackers plus or more a pop, down to unofficial 'Fast Track' paperbacks at a mere £21 or so. I wielded the borrowed company credit card and bought one of each.

Desktop Applications with Microsoft Visual C++ 6.0 (ISBN 0-7356-0795-8) cost £47.99, had 700 pages and weighed 3lb 11¾oz on my kitchen scales. It came with a pair of VATable CDs in a pocket in its back pages. These contained all the code for the 'lab' exercises in the text, a time-restricted trial copy of Microsoft SQL Server 7.0 that one needed to complete the exercises and, best of all, a program that presented a 20 question mock exam in the style of the real thing.

Based on my experience with this book and a sister volume from the same series, the first thing you should do after getting it back to the office is surf to the Microsoft website, find the lengthy page that lists the errata and go through and biro them into your copy. The proof reading of these books, on the evidence of my two samples, is wretched.

The Visual C++ book - henceforth DAWMVC6 - divided into four sections. The first chapter discussed something called the 'Microsoft Solutions Framework', which I think Microsoft would have you believe is a development methodology, but which I found to be a vague mishmash. I couldn't get anything in this chapter, which is stuffed full of buzzwords and acronyms, to stay in my head longer than about one minute - a pity because I think there was an exam question riding on it. Chapters 2 through 7 whizzed through Microsoft's venerable old library MFC with, I noticed, rather less fuss and justification than was afforded the thing in former times. Chapters 8 through 12 covered COM using both MFC and the more modern, templated ATL library; Chapters 13 and 14 picked up various leftover bits such as debugging and installation tools.

The example C++ code in DAWMVC6 was written in a style I think of as 'Microsoft Lower Soviet'. The notation was Hungarian, the instance data was always protected and never private, and the code was full of obscure and windy redundancy like this:

SetFundsVisible(m_bFundsVisible ? FALSE : TRUE );

where I, and surely you, would write:

SetFundsVisible(!m_bFundsVisible);

For all my complaints, I completed the book and its exercises in one arduous four-day slog, and by adding a couple of days reading up the 'Distributed Applications' (as opposed to 'Desktop Applications') topics not covered - in essence this amounted to mugging up a little on something called the Microsoft Transaction Server using the MSDN library - I found that I had crammed enough to attempt the two Visual C++ exams. This book did its job very efficiently, and was much better written than the stultifying Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition book that I used subsequently.

The other book I bought was Fast Track MCSD Solution Architectures (ISBN 0-7357-0029-X, £21.99), which was based on the general-purpose exam that Microsoft requires all MCSD candidates to pass. This exam combined a test of one's ability to produce normalised database schema with a sort of general knowledge test on all Microsoft's development products. It's the kind of gen one picks up by osmosis over the years. I found the book of limited use with the actual exam material per se, but it did contain some very cynical and good advice about passing any of these Microsoft exams.

You must remember (said this book) that the exams are usually set shortly after the products first release. Suppose one encountered this question in a Windows NT Server 4 exam:

What is the maximum number of processors that Windows NT Server 4 can handle? A. 2 B. 4 C. 8 D. 16

The correct 'real life' answer (said the book) is either D (because NCR makes some 16 processor servers that run NT Server 4 just fine) or C (because Microsoft's End User License [sic] Agreement states that 8 is the permitted limit). However, the correct answer to get the exam mark is B, because four was the number of processors that NT supported when it was first released. Microsoft exams test only against core product - changes made in option and service packs don't count.

The situation sounded fanciful, but I discovered that such conflicts - between life experience and what Microsoft wanted to hear - occurs in the real exams. For example I got nastily hung up on a question that demanded to know which database interface should be preferred to let a Visual C++ application talk to an Access database. The difficulty was that Microsoft's favoured API du jour when the exam was written, ADO, was (I had discovered empirically) inefficient with Access databases, whereas ADO's now-despised predecessor, DAO, ran like greased lightning. Should I act on this practical knowledge? Like a fool I did, and in retrospect I am confident this cost me a point.

Having a go

Microsoft exams are incarnated on Earth as Windows programs. An application asks the questions (apparently a random selection loaded from its database), enforces the time limits and congratulates or commiserates with you at the end. It's all very twenty-first century - instead of the traditional exam desk balancing on three of its four legs, you get a PC with a blurred 14" monitor and a mouse with a dicky left/right roller.

Most of the questions (and in fact all those in the Visual C++ exams) were of the traditional multiple-choice type with a list of answers A through D (or higher) marked by radio buttons or check boxes, according to whether a single or multiple answers are wanted. The Solution Architectures and SQL Server 2000 exams included questions with more elaborate GUI furniture, requiring one to make connections between process boxes, and drag and drop database fields into tables, and place activities in order. I thought I had better have a practice at this before undergoing the ordeal.

The DAWMVC6 book came, as previously mentioned, with a practice exam of 20 questions. This was absolutely fine - it gave me a good idea of what to expect, but I wanted to find out more. I ventured onto the Web - and at once found myself feeling like prey again.

Microsoft didn't offer any samples of its questions, but both Cert21 www.cert21.com/ and MeasureUp Inc www.measureup.com/ had practice exams on their websites that one could take directly on the web through a browser. But of course they wanted money: MeasureUp asked US $59 for 30 days access to one set of exam questions, Cert21 a more reasonable US $22.95. Cert21 boasts: 'Our practice exams are harder than the actual certification exams' and, judging from the free sample of 20 questions per exam that it offered, I think that this was true. The questions were harder, but I was not clear that this was a good thing.

A sample Visual C++ question, for example, required that one memorised the defaults of the program that installed Visual C++, surely a pointless exercise, and not something encouraged by Microsoft's syllabus as far as I could see. MeasureUp's free questions were also rather fierce, making me wonder if these companies selected their samples so as to intimidate the candidate into buying the full package. I was further annoyed by quite bad typos and errors in the offerings of both companies; for example MeasureUp's SQL Server sample of 10 contained one mismatched question and answer set, which of course rendered the question quite useless.

When I came to take the exams for real, it seemed to me that the actual questions did not resemble the web experiences of Cert21 and MeasureUp as closely as one would expect. To anybody following this path, I suggest that by all means sample the freebies these companies offer, but don't be too intimidated when they predict failure for you, and leave your credit card safely in its pouch.

The dreaded day

Microsoft exams are run by an organisation called Prometric, whose contact details can be found on Microsoft's website. They cost £65 + VAT per exam attempt. Ring them up, credit card in hand, and within a minute or two you can book yourself an exam at a time and location of your choice. They accept bookings a few days ahead of the exam.

The exams are conducted at the offices of training companies - presumably those same training companies that offer the expensive courses. You pitch up on the day with two pieces of id - say a passport and a credit card - and get checked by the reception lady, who shows you into a small room containing half a dozen elderly PCs. She types your candidate number into one of them, and off you go. While you are taking your exam, other candidates wander in and out to take their own. The program controls your allotted time, and includes facilities to let you mark and review questions you aren't sure about. A clock counts down through your time, and throws you out at the end. You are given an opportunity, before you know your score, to comment on any of the questions. The cynical Fast Track book says not to bother with this procedure, as it is most unlikely that you are going to be able to appeal the result because you thought Question 18 was badly worded. Then you get to read The News, and a laser printer on the reception lady's desk spits out a certificate with your score on it, which she stamps for you with a special Prometric stamp. And that's it. It's anticlimax city, Arizona.

I made an error when booking my Visual C++ exams: in my keenness to get it over with I booked both of them on the same morning. This was a mistake not because it was a long slog (as I recall these exams are about 90 minutes each; one containing 50 questions, the other rather fewer - say 35) or because they were particularly tough - they aren't - but because of the risk I was taking. I hadn't allowed for the psychological effects of instant results. If I had flunked the first test, I would have known this as I started the second, and would surely be put off. This didn't happen, but I actually started to worry about the possibility during the first exam. It was a daft thing to do, and I recommend you don't do it.

Microsoft exams are pass or fail - there are no grades. There are, however, scores; scaled to be out of 1000 irrespective of the number of questions, which like the pass mark varies from one exam to the next. Microsoft doesn't tell you these pass marks, but this is just meanness as far as I can see. The information appears on the score sheets, and is therefore in the public domain. For the record, 70-015 (Distributed Visual C++) was 540, 70-016 (Desktop Visual C++) was 534, 70-100 (Solution Architectures) was 730 and 70-229 (SQL Server) was 704. You'll notice that the Visual C++ pass marks are quite low, especially given that with this kind of multiple choice, you would expect to score 250 or so just by throwing a die. (By the way I found the SQL Server exam much harder, and in fact, cough, took two attempts to pass it.) However, you should note that 'ordinary' C++ knowledge, such as is discussed and presented in ACCU's fine magazines, will be of little use to you. There was only one 'real' C++ question in my two exams, and this in essence asked 'What is a virtual method?' - not taxing stuff.

A few conclusions

What have I gained from this exercise? I have had a useful reminder that examinations retain the power in later life to give one anxiety nightmares. I have the satisfaction of proving that I can still do this sort of thing. I have an MCSD 'lapel pin' which is very nice, although I'd happily swap it for a Blue Peter one if anybody is offering. I have made myself more valuable to my employer (at a final cost to him of around £500 in books and exam fees), and I suppose I am now more employable.

Sadly, I have already lost most of the crammed knowledge I put on for the exams, which evaporated even quicker than my thin grasp of Geography did the happy year we were allowed to give it up. With the onward rush of C# and .NET, I do not expect to get the chance to use what remains.

The thing that I like most about the exercise is that, from this point in, I am qualified to dislike Visual C++'s frameworks and libraries. It sounds like - and is - a petty thing, but for a hardened Delphi-head, that is a prize worth having.

Many years ago Will Watts used to edit the now-defunct .EXE Magazine. He now works as a programmer for Applied Industrial Systems, a consultancy based in West London.

Notes: 

More fields may be available via dynamicdata ..