If the DBA answer is always, “It depends,” how can Microsoft test DBAs?
Every week of the MCM program, attendees take a multiple-choice test. Afterwards, we gathered in the hallways and vigorously debated our answers. We agreed about most of the questions, but we had loud discussions about the pros and cons of a dozen of the test questions. The test really forced us to evaluate a lot of options. How many answers are right? Sometimes they tell you to pick three – and sometimes they don’t. Sometimes it’s up to you to figure out how many answers are right. I adore tests like that because they don’t give you any help, and they make you prove things for yourself. You’d better be right, too, because there’s no partial credit for halfway right answers. Time to be a master, as the posters in the classroom say.
The questions don’t involve regurgitating memorized syntax, either. Sure, some of ’em can be figured out by the covered material, but most of them required you to put one and one together. It wasn’t just about knowing what the book says – it was knowing what the book DOESN’T say, and justifying your rationale. Every question has a comment area, and during the tests, keyboards were clacking away. I put comments on at least a quarter of my answers, saying things like, “I picked B, but only because you didn’t say you needed HA. You should have HA for this, which means you need D, not B.” I went way, way out of the way to back up as many of the answers as possible. The tests are graded by real, live human beings. More on that in my next post.
I passed all 3 exams on my first try, and I’m really proud of that. Before I got to the Microsoft campus, I was worried about the exams, not the final six-hour hands-on lab. I was so afraid of failing the tests that I studied my brains out every night for those rather than spending time with lab scripts. Attendees can bring their scripts and documents to the lab, plus use the web, so how hard could it be?
The Final Lab
Simon Sabin noticed all the studying I did during the last 3 weeks and asked me if it was possible to cram your way through the MCM. First, there’s an interview process before you even get accepted to the MCM, and you can’t cram for that. But for the sake of argument, let’s just say you fake your way through the interview, and you cram your way through the exams – there is absolutely no way to cram your way through that lab.
The lab was the best simulation I’ve ever seen of what it’s like in real life. The CIO’s standing behind you, asking you why the system’s not up yet, and why it’s not as fast as he wants it to be. The MCM lab is like the last question on Who Wants to Be a Millionaire when you’ve already used up all your lifelines. You don’t get the 50/50 option, you don’t get to phone a friend, and Regis wants to see how much you really know. The final lab on Saturday was the toughest IT experience of my life, and I’ve been through some serious nastiness. Obviously I can’t say specifics about what the lab involved, but I’ll do my best to walk the line.
As a DBA, sometimes people want me to do things that I’m not comfortable with. Sometimes they want to use SQL Server in ways that don’t make sense, like looping through records individually and doing CPU-intensive processing on them. Sometimes they want to use features I’ve never touched before, and I pad more time into my project timelines in order to get comfy with those features. Sometimes they want to combine features in ways that I’ve never thought of. I try to deal with these requests in a way that keeps the project moving forwards on time with the least amount of risk.
In the MCM lab, you don’t get the luxury of finding a common ground between what the client needs and what you’re personally capable of delivering. The client needs something, and they don’t care how SQL Server works. They don’t care if you’re comfortable. You’d better strap in and get the job done, cowboy.
At 11:30 AM, I got a several-page business requirements document that was more thought-out than what I usually get from clients, but in a very similar style. It was as if someone had parachuted in before me, interviewed the client, done a lot of the requirements gathering, and handed it off to me. It wasn’t perfect – but it was still better than what I usually get from managers. I took about five minutes to read it, formulate a game plan, and then got started working. I had a list of about half a dozen things I needed to accomplish in the client’s lab environment. I had to build some things, I had to adapt some things that were already in place, and I had to fix some things.
My heart sank as I realized what I’d have to do by 5:30 PM. I understood the business needs behind every single task I needed to do. I have big philosophical objections to doing some things in SQL Server, but not this stuff. It was all a match made in heaven – but I just didn’t know how to do some of it. They had completely legit business needs, but I couldn’t directly match some of those needs to anything in the SQL Server toolbox. It wasn’t like I could open SSMS, right-click on a few things, tweak some obscure parameters, and deploy a solution.
Or could I? As I built my list of tasks, I was absolutely positive that I was missing some obvious features or some simple DMVs. I kept thinking, “I’m gonna be so pissed afterwards. I’m going to be the only guy here who didn’t know about the Magic Beans feature that automagically does this stuff for me. I’m gonna be the only moron who rolled his own solutions out of duct tape, lint, and Cheesy Poofs.” We had access to the web, so I spent maybe two minutes searching for solutions, but came up empty. I figured out immediately that the MCM team has put a heroic amount of work building a test that simulates real client work, yet requires answers that you can’t find in Google. I will never breathe a word of the final lab contents because I think it does such a phenomenal job of gauging truly master-level expertise.
Getting Things Done
Whether you’re doing a lab or a real-life project, you have to design for the time you have. Artists ship. But should you:
- A. Plan to be 100% done with 50% of the tasks
- B. Plan to be 50% done with 100% of the tasks
- C. Plan to be 100% done with 100% of the tasks
When someone else sets your deadline and your tasks with non-negotiable limitations, you need to decide whether you want to shoot for A or B. In the case of the MCM, I took approach B. I wanted to show that I was capable of doing everything the client needed, and that I knew what best practices were, but I just didn’t have the time to do it according to best practices.
For example, when I’m importing data from a file, ideally I want to know what the real field definitions are. Sure, today the longest value in the LastName field might be 40 characters, but what if the next batch has someone with a 60-character last name? I don’t want my processes to break. However, finding this out can take time, and the cost of being technically perfect is high. In situations like that, I might make LastName a varchar(100) and call it a day. Anytime I made a compromise in the interest of time, I added it to my running task list in Notepad. If I had the choice between doing something perfectly or doing it MacGuyver style, I did it MacGuyver, then made myself a note to come back and clean it up.
Even the seemingly easy tasks were hard. This was no point-and-click GUI-fest, and canned scripts didn’t help much. I brought dozens, maybe hundreds of scripts that I’ve used in the past. I think I only used two, and they only saved me maybe fifteen minutes, max. The rest of the time, I was banging out keystrokes, testing my work in TempDB first, and hoping like hell that it all worked when I tried it with the client’s stuff.
I finished the MacGuyver round after 4 hours, and then circled back to clean up some of my work. I walked out with about 30 minutes left because I’d gotten to the point where I didn’t want to touch anything else lest it break. My solutions worked enough that I was comfortable defending them. I could have built more, but in doing so, I stood a pretty high chance of breaking something. I turned in my solutions along with my laundry list of things I’d love to do if the client would be willing to give me a week.
After The Lab
I walked out and called Erika. I was glad I got voicemail, because I was on the verge of crying. I could barely keep control of my voice when I left her a message. I was exhausted, I was proud of what I’d accomplished, and I felt like I couldn’t possibly have done any better given the skills I’ve gathered over the years. I was still sure I was missing something obvious, because there was no way candidates could be asked to this much work in 6 hours.
As the other attendees came out, the experience was nothing like the post-written-exam discussions we’d had. Rather than debate the merits of our solutions, we all tried to rationalize each others’ solutions. We didn’t want to promote why our idea was right – we wanted to figure out what the other people had done, and learn from their approach. There were no easy buttons, no quick solutions. As we spoke, we were horrified to discover that we’d overlooked or overthought various pieces. Several of us (myself included) built out whole wings of stuff that we thought were a good idea, but weren’t technically required by the client. I was awed by the work of my classmates, who came up with really brilliant ideas and features.
Here’s the part that really got me: everybody I talked to pulled off Mission Impossible. We actually did most of the stuff we needed to do in the time allotted. I’m pretty sure one guy even pulled off 100% of the tasks to 100% quality, too, and I stand in awe of his skills. As the MCM blog announces new Masters, I’ll be the first person to sing their praises. Forget the certification – there were candidates who I would hire in a heartbeat because they’re so skilled.
The non-disclosure agreement really sucks because I can’t tell you how incredibly difficult that lab was, yet so perfectly in tune with the DBA experience. If you’re a production DBA or a consultant who doesn’t freak out when someone comes running into your office with a tough challenge, you can pass this. If you enjoy tracking down difficult problems and reverse engineering things to make them do what you want, you can pass this. It’s not gonna be easy, but your job isn’t easy either. There were parts of the lab that we wish would have been even harder to show off our particular skill sets, but they would have required making the lab longer – and remember, we didn’t even finish the work we’d already been given.
Passing the exam shows you know what’s in the book. Passing the lab shows you know what to do when the book runs out of pages.
Even in this seriously talented group of candidates, we all missed things. As we poured our hearts out over beers, many of us wished we could have another go at the same lab just to time ourselves and see if we could do it better. A lab like this really shows who’s in it for the technical challenge, for the internal pressure, and the excitement. We were very, very, very hard on ourselves, and one guy said it best: “If I was the instructor, I’d fail me. I expected better.” So many of us just aren’t satisfied with our skills and our results no matter how good they get. We always want more, and we never stop pushing.
But that’s how we ended up in the Master program.
What It Takes to Pass the MCM
Microsoft Certified Masters don’t know everything – but then, you can’t. There’s too many parts in the SQL Server box, and no one human being can know how all of them work. New features come out faster than you can learn them all, so you have to be able to prioritize. And even if you know them all, it’s not enough, because things outside of SQL Server are just as important. A couple of years ago, I got into SAN administration and virtualization to make myself a better DBA, and now I’m looking forward at other technologies to improve my DBA skills too.
There is no sharply defined guide to database administration – or any job – with a first page and a last page. The act of “working” is a morphing set of tasks that isn’t limited, and even the act of building the task list is part of the art. Being a Microsoft Certified Master is about being able to recognize what’s important for you to know, knowing the bejeezus out of that stuff, and just as important, being able to quickly figure out the parts you don’t know. It’s more than knowledge, more than training, more than task management, more than priorities – it’s the sum of all those, and how they make you a better SQL Server professional on the whole.
So as hard as it was, I’m very proud to say I passed the exams and the lab on my first try.
I’m a Microsoft Certified Master for SQL Server.
Big congratulations, Brent! It was great reading your commentary as you went through this. You have definitely accomplished something to be proud of.
First of all, congratulations on passing the MCM. Following your posts gave me a glimpse of what it was like, and I can only say “WOW!”. And I love your quote “Passing the exam shows you know what’s in the book. Passing the lab shows you know what to do when the book runs out of pages”. I wish the regular certs had labs to go along with the test.
Go Brent!! Congratulations.
Great job, Brent. Quest obviously knows what they have in you and demonstrated that by letting you disconnect for so long. Great for them and great for you. You worked your tail off for this preparing, studying before you even got there and studying into the night each night. You know your stuff and will be a name that doesn’t go away anytime soon. Happy to “know” you and while I know you can’t blog about NDA specifics, this DBA is really looking forward to the blog posts inspired by your time at Building 40.
One more thing to make this community and the people who put time and life into so awesome… All those who are well known and liked in the community subscribe to the “all boats rise together” philosophy of technical knowledge sharing. I am really looking forward to improving my skills based on your experiences (while hoping I can try and use Premier hours for a rotation sometime 🙂 )
Really enjoyed reading your blog and your experiences through the process. Job well done!
Thanks, guys! I appreciate it. Although I mostly appreciate being back in my own bed, hahaha.
I mean, not right now. I’m working now. If you can call this working. But at least I’m sitting in an office chair, fully clothed. I’m even wearing my MCM t-shirt, heh!
Very well done, Master.
Good job sir. Best line of this post:
Passing the exam shows you know what’s in the book. Passing the lab shows you know what to do when the book runs out of pages.
FYI My take
Congratulations on the title, Master Ozar. One question… Do you have to re-certify or upgrade your certification for every version of SQL Server like with MCITP or are you now a MCM for life?
Thanks! The MCM for SQL 2008 is always good for 2008 (and R2) – it doesn’t expire. However, if you want to be an MCM on the next major version of SQL Server, you have to take an upgrade exam and/or lab, depending on the amount of changes in the product. You don’t have to go through the 3 weeks of onsite training again, though.
Mega Congrats Master BrentO !!!
I wanted to know who are the other friends except you up there in the photo!
Congratulations Brent, I enjoyed the whole MCM camp story and it is a great achievement.
Great job, Brent! Sounds like a real pressure cooker, but you were up for the task. I’m working my way up through the certification path, and maybe, someday, I might try to shoot as high as you have attained. Thanks for sharing the experience!
Awesome job! I don’t know why I am so excited when you’re the one with the MCM. It’s because you and your blog are inspirational for us over-achievers. It’s impossible to not be excited after rooting for one of our own.
Big congrats on becoming a master. I’m a regular reader, and I’ve been reading about your journey through the MCM course. It’s great to see a happy ending from all your hard work. I really enjoyed this post by the way. Too bad you couldn’t blog about what you saw on the lab. You and some of the other SQL bloggers are an inspiration to us accidental DBAs.
Congratulations! On both the MCM and on this blog series, it has been great reading.
Wow! This was an amazing series of posts. I am very thankful for it. I think I can speak for a large number of SQL Server and other professionals who use MS technologies by saying that this little window into the MCM process was very exciting.
Congratulations on your accomplishment.
Sounds like an amazing experience. Congrats and thanks for sharing it with us.
Congrats Brent! You have truly earned the title of Master, as we all knew you would. Thanks for taking us along on your journey, and making us feel like we were sitting through the experience with you.
@Ryan – hahaha, yeah, I know what you mean. When I wanted to go for the MCM, I kept searching the web to find anything from other candidates who’d gone through it. I hope that I helped other people understand what was going on inside the program, and I knew by doing that, people would get excited too. It felt good knowing I wasn’t alone going through the process.
Congrats! Also Thanks for this series on the MCM program. I’ve followed each blog and have become a Brent Ozar fan.
We’re all really proud of you Brent. What’s even crazier about the whole thing is not only did you pass it first time out, you had time to blog about the experience en-route! I can’t even imagine how tough trying to consume all that material on a daily basis is let alone come home and knock out blog after blog about the experience. I (and I’m sure many will agree) am grateful you did as it gives us great insight into what basically equates to the Super Bowl (or World Cup for you international folks) of SQL Server. If I ever get the gall or money to ever attempt this challenge myself I’ll definitely be using your blog posts as a Virgil-style guide through the SQL Inferno!
Jorge – hahaha, thanks. The blogging helped me unwind at the end of the day. I’m glad I did it along the way, because I’ve already started forgetting some of the experience! I can’t wait to get caught up on my email and then start digging through my notes again. There were so many cool things I wanted to start playing with.
There and Back Again: A Tale by Breno Baggins!
Great news 🙂 Congratulations on becoming Master of SQL Server universe 🙂
Congratulations Brent! I have been reading your blog for a while and it has been one of the most inspirational that I have found. Your success at achieving MCM just makes you even more inspirational.
Congratulations Brent. I had goosebumps by the end of that post. Phenomenal job on the MCM course and a big thank you for sharing your experience with all of us.
Well done, congrats!
As a regular reader of your blog, where I learned a great deal about how to become a better DBA, I knew you’d pass MCM tests and the lab. However, as I read your MCM posts in the last few weeks, especially the one from today, I didn’t think you would necessarily pass the series because you sir have a knack for building suspense, a serious sense of drama and withhold the key piece of information until the VERY end.
CONGRATULATIONS, BRENT! As so many have commented, this series has been awesome reading! And I highly respect the way you have handled both the NDA and the other participants with discretion. Well done!
So what’s next on the agenda? MCM Trainer?
Isn’t MCA the next logical step 🙂 No 3 week training, just have to impress the review board.
Ha, no, thanks. I don’t see myself as a good candidate for the MCA right now because I haven’t done the amount of architecture work that I think an MCA should have done. I have too much respect for that certification to try it myself. I’m still very deep in technical work for SQL Server, but not architectural implementations right now.
@AjarnMark – yep, I’m in talks with Microsoft to do some MCM training. I’d absolutely love to be an instructor, starting with virtualization topics.
@Amar Pogaku – thanks, glad you liked the suspense, but I was pretty sure I didn’t pass until the very end either, hahaha. That was seriously difficult. Made for great storytelling though. 😀
I’m sure you’ll do great as a trainer, Brent! I spent several years in training (both technical and non-technical) (Ajarn is the Thai word for professor or teacher) and from what I’ve seen of your live presentations and writing style, you definitely have a knack for it.
Keep up the great work and thanks for sharing so much with the community!
Many many congratulations.
Your journey has truly made me feel that I am going through this experience. Very good and inspirational.
Wow that’s awesome Brent, Congratulations
Nice work. Well deserved!
Wow. Truly impressive, Brent!
Excellent. Fantastic. You deserve this.
Congratulations Brent, not only on passing what is considered by many to be the creditation in the business but to produce high quality blogs at the same time which have undoubtedly encouraged many people to study for their own certifications.
Top job well done, I look forward to the MCA series 🙂
Congratulations Brent ! Its been inspiring, interesting and fun to follow you on your MCM journey 🙂
Many congratulations Master Brent … that is your full title now, yes? I for one welcome our new MCM overlords 😉
Seriously fantastic blog about the MCM program that will really help those preparing for this challenge and also help Microsoft improve the program to even greater heights for those who follow. And a very good investment by Quest as well.
Since you mentioned Mission Impossible, here is something to consider:
Your mission, should you decide to accept it…is to achieve Microsoft Certified Architect certification and to create a similar blog on that experience. As always, should you or any of your IM force be caught or killed, the Secretary (despite your actions being well-chronicled) will disavow any knowledge of your actions.
With a system managed by a MCM, this message will not self-destruct in five seconds
Congratulations on passing. Excellent job both in passing and documenting your experience.
I told you so. LOL.
Congratulations, on this terrific achievement.
It was great reading about your experience.
Congratulations Brent! Fantastic set of posts detailing all your phenominal hard work, and inspiring to boot! Well done!
Congratulations! This was an awesome series of blog posts.
Congratulation Brent!!!! Great series of posts related to MCM, for me a great series of lessons to learn about SQL Server. Thanks for Sharing with us…
From the above post, my favorite lines are “Passing the exam shows you know what’s in the book. Passing the lab shows you know what to do when the book runs out of pages.”
And of course, the last one as well.
Congrats once again.
Enjoyed the posts, the suspense actually had me coming back everyday! Great result at the end!
Who is going to play you in the film version?
This is the best blog talking about MCM I’ve ever seen.
hmm, btw, you mentioned you GOOGLED during lab and returned nothing. Had you BINGed? You had to be politically right on MS’s turf!
Thanks! I keep trying to use Bing as my search engine whenever I’m at Microsoft, and it fails me almost every time. I use it first, and then when I can’t find what I need, I switch back over to the big G. It just doesn’t do it for me. My site in particular gets horrendous results – I can’t find stuff inside my own site with Bing.
Exactly what I did. Google handles spam websites better than Bing.
Whats more interesting is all the sharing of knowledge within the purview of NDA…great insights!
Brent, I’m proud of you, too. For me, too, the lab exam was extraordinary. It was in many ways the toughest, yet by far the most fun-filled six hours I ever had clacking on a keyboard. See you at the upgrade exam, baby!
Thanks, man. I’m still just amazed by the whole thing…
I’m grateful for these posts and this site.
You continue to show me such a good example of how to embrace being a professional dba, becoming part of the community, accepting your geek-ness (this was the hardest part for me) while illustrating that you can do all of these things with literacy and great joyeux de vivre.
Wow, thanks! Glad I could help! If there’s ever anything I can do to help, especially on the joyeux de vivre part, let me know. 😀
Great post / work and big congrats. I’m vaguely thinking of doing MCM but am concerned about the ROI as I’d be funding myself. I wonder if you have any thoughts on this ? I guess I should ask you in a year or two 🙂
Hi, Andy. I think it depends on your job function. If you’re a consultant and you can pass the costs along in the form of a higher billable rate, then yes, it definitely has an ROI. If you’re working for someone else, though, you should ask them before you invest your money in it. Hope that helps!
I would just like to comment that all 6 guys in the photo (and 3 others) are MCMs now. Rotation 8 was especially gifted.
HAHAHA, good point, sir!
I truly like the way this post is written, and it sure reminded me of the joy I had to go through in my rotation – being in the middle of a move at home, and the fact that was only registered for the class 2 days before it actually started and does hadn’t looked at any of the pre-work 🙂
I loved the hands-on-experience in the qualifying lab, and was happpy to fly through it – I truly enjoyed it.
Happy to be amongst the MCMs!
You mentioned ‘Googling’ and trying some of your own scripts.
Is it safe to assume candidates are allowed to bring their own USB drive with their scripts/notes?
John – well, in the new exam, you’re not allowed to use the web or bring in a USB drive.
Ah – not very realistic then, is it…
In real life you won’t be re-inventing the wheel, you’re more likely to be using the trusted tools you’ve developed through the years.
Can you imagine a mechanic casting new wrenches every time he has to adjust a bolt? 😉
John – I’d disagree because there’s a huge array of tools built into SQL Server. It’s more like putting a mechanic into an shop and saying, “Now go fix this car.” You may not know exactly how someone else’s shop is organized, but if you can’t figure that out, well, you’re not much of a mechanic. 😉
I passed the knowledge exam and am planning on taking the lab exam in July. This blog past has really helped me get an idea of what to expect and a plan of attack together. I brought the sqlskills mcm lab samples too and will start looking at those a lot more closely.
I did read all 17 recommended books (very carefully) a lot of which you contributed to so thanks for that as well. It took about a year to read the books, whitepapers etc 🙁 Things SQLSkills and the like probably teach in weeks. It was very, very boring reading the books! Thats not a critiscm of the content which was excellent, just the life choice of spending 1/2 your life reading.
Thanks and regards
Paul – congrats, glad you passed! Reading the books and whitepapers does indeed take a long time, but like the rest of the studying process, it ends up making you a sharper DBA. That’s all good! Good luck on the lab.
Thanks Brent, I also took your advice about writing artcles for SQLServerCentral which helps too, the editing they do there is great and Steve is a good bloke. My stuff is nothing like the quality of material you produce here but it helps me clarify thoughts and share new material.
Apologies for the slow reply.
Truly Mind Blogging experience! You deserve to be a MCM and definitely your blog stands at top making it so fascinating. I got inspired so much and now it means a lot for me to achieve further down my career.
Congrats once again!
I’ve done the lab with the third try (we had horrible technical problems in Germany. I wrote about my experiences on sqlservercentral) I was in contact with Bob Taylor who offered the possibility to do the lab “at home”:
Now I have to wait for the results which will come – hopefully – before christmas 🙂
Thank you for your video ressources for the MCM – it helped me definitly to understand SAN in a better way.
AND – I think you are such a good instructor as Kim and Paul!
I have a question about your 50%/100% strategy (you stated you chose #B above). According to a statement from boB Taylor on the Master Blog, you cannot pass with that strategy. This unnerved me a bit as I had planned to follow your lead and address each scenario to a 50% solution.
Here is boB’s link: http://blogs.technet.com/b/themasterblog/archive/2012/11/05/at-sql-pass-and-clarification-around-mcm-lab-exam.aspx
I’ll quote his words:
“For each scenario (in its current form) you must complete ALL requirements successfully in order to get credit for the scenario, WE DO NOT give partial credit so it is imperative that you ensure you meet all requirements for the scenario.
So what I recommend is upon starting your exam, read through all scenarios first. Find the ones that you are the most skilled at accomplishing and make sure you accomplish all stated requirements for that scenario.”
No specifics, but did you address each scenario, or target specific ones and perform to completion?
BTW, you’r blog is excellent quality. I’ve been following it since you began. Thanks for it.
David – thanks! Yeah, this blog post is about the old MCM tests, not the current ones. When I talk to folks about the current exams, I’ve got different guidance – I don’t have a blog post ready for it yet. It’ll take some time to put together. In the meantime, I’d check out the Yammer MCM study group:
I’ve addressed the question over there. Good luck!