Category Archives: Microsoft Certified Master

SQL MCM: Now, the bad stuff.

The MCM isn’t perfect. The instructors and David Ikeda (the lead for this rotation) are trying hard to make the experience great, but there’s some areas for improvement. I’ve been holding back from discussing them until I’d seen all of the instructors; I didn’t want to post a complaint and have people connect that complaint with a specific instructor based on the date of the blog post. The things I’m about to voice happened with one or more of the presenters. The attendees are given a feedback survey for each presentation, and I voiced these same issues on each presentation where they occurred.

Before I start, I want to point out that people paid a lot of money for this training:

  • Sticker price per attendee: $18,500
  • Attendees in this rotation: 11
  • Total sticker price for 11 attendees before discounts: $203,500
  • Hours of training (at 9 per day): 135
  • Total class cost: $1,500 per hour (not including travel, hotels, food, lost revenue for the 3 weeks, etc)

That number can vary – some attendees got discounts, sometimes classes will have more (or less) attendees, but I’m just putting a number out there. Because of the cost, I had very, very, very high expectations for the quality. Some of these complaints may sound like I’m nit-picking, but when the class is paying $25 per minute….

Most of the presentations and demos were AWESOME. Some weren’t. Some of them were so bad that if I was at a community event like the PASS Summit, I would have walked out and switched sessions. In a room of just 11 attendees, I wasn’t comfortable packing up my laptop and leaving the room – it would have sent the wrong message to the rest of the attendees who might have been getting value out of the presentation. When we talked afterwards, though, it was very clear that the other attendees weren’t getting value either. I would say that roughly half of the days were of the quality I expected, about a quarter were alright, and a quarter were bad enough to make me ask for a refund.

Some presentations were way below MCM-level – Too many slides were way, way below MCM-level – like a slide that explains the difference between Windows authentication and mixed mode authentication. (I don’t want to give more specific examples in public as the content is under NDA, and I don’t want to embarrass specific presenters.)  I understand that the audience has a mixed background, I wouldn’t hire a junior person that didn’t know that. Other presentations covered things that were outdated even before I started in IT over a dozen years ago.  If I didn’t know better, I’d think one of the instructors was getting paid by the slide.

Some presentations were way outside of SQL MCM territory – one presentation started with the question, “How many of you are comfortable programming C# with anonymous methods?” Forget the fact that nobody in the room (not even the developers) raised their hand – my bigger complaint was that this wasn’t mentioned in the prerequisite reading list. How were we supposed to be prepared to tackle a subject that was so wildly outside of our subject matter area? There were a lot of glazed-over looks in those sessions.

Some of the Microsoft instructors weren’t prepared – for example, one presenter said out loud, “I don’t know what that bullet point means.” I had to explain a point for him on his own slide deck. Dude, it’s your slide deck – you have no excuse not knowing what your own slides mean. If you’re giving somebody else’s deck to MCM-level geeks, you’re going to be in trouble, because we ask some really difficult questions. If you’re not prepared to do a 400-level deep dive, just give us the deck as testable material and let us have your time to do group study. Another presenter was running on four hours of sleep and couldn’t remember a question long enough to answer it – more than once, he got just two sentences into the answer and asked, “What was your question again?” I didn’t want to distinguish which presenters were guilty of which sins in this list, but this particular sin is so egregious that I don’t want anyone thinking Adam, Greg, Kim, or Paul were guilty of this.

Some presentations felt like marketing pitches – marketing slides are appropriate if the audience is entirely Microsoft employees, because Microsoft has to evangelize their products internally. They have to train Microsoft consultants to “sell” a particular feature. However, when the audience includes external people who paid tens of thousands of dollars to attend, absolutely no marketing slides are appropriate. I don’t disagree that the subject matter areas were indeed important to SQL Server geeks, but sometimes the material didn’t deliver on MCM-geek-level training – more like salesperson training.

Some of the presentations were no more than the prerequisite reading. After some of the presentations, we looked at each other and asked how they were any different from the SQL MCM pre-reading list. Ordinarily I’d be really excited to receive such high-quality training, but since I’d pored over the pre-reading lists, I was a little disappointed that there wasn’t something more. I can’t emphasize enough that if you really, really go through the pre-reading list, you will learn a hell of a lot, and it’s completely free. The challenge is setting aside the time to really go through it, whereas the class forces you to sit in a room and hear it out loud. On the flip side, some of the presentations should be completely discarded and turned into prerequisite reading, because like I said earlier, they were seriously junior-level.

Some presentations were bulletfests. Some slides simply recapped what was in Books Online. Paul Randal did a fantastic job of avoiding this – when he had to show a bullet list of typical syntax or options, he would say, “You can read this list as well as I can,” and he’d take a quick drink of water while we read it. He would then move on. Other instructors would read bullet by bullet. I can handle an hour of that, maybe two, but not a day or more. Even worse, some slides had 10-15 bullet points, and the presenter would jump straight to one bullet point and say, “This is what’s important.” We had to take copious notes on slides like that, but it makes later studying much more difficult. Why were all these bullet points lying around? Was there something we missed? Presenters need to cover everything in the deck, and if something’s not important enough to cover, rip it out.

Some demos weren’t prepared ahead of time – some demos were done as point-and-click GUI tours without a plan, roughly akin to watching Books Online live. As an attendee, that’s really frustrating because those demos don’t come with scripts and they’re impossible to reproduce later. When we’re under the gun studying to reproduce things in the lab, we don’t have a video of what the instructor did in the GUI, and we’re forced to open Books Online.

Some demo scripts didn’t work – the instructors upload their scripts to the group SharePoint site for attendees to rerun later during studies. Some of these demos didn’t work, and attendees only figured this out when they regrouped the next morning and shared notes, each thinking it was their own problem. Come to find out it was the instructor’s code…

Many presentations overlapped with previous ones – all too often we had to tell the instructors, “Yes, we covered that a couple of presentations ago.” The presenters need to download the rest of the decks, read them, and dedupe their slide decks for overlaps. Every $25 minute is precious.

Running on Empty

Running on Empty

We went offtopic way too often – sometimes the instructor would dive off into a pet subject completely unrelated to the topic at hand. They would go into Connect to show a bug they’d submitted, or tell us how they wish SQL Server would work, or how it worked back in Sybase. Normally, I’d love to go off on a tangent with these instructors, because they were universally brilliant. Problem is, we’re on a schedule, and all too often the instructors ran late. The attendees’ time to eat, study, and sleep suffered.  I’m just not surprised at all that the first-time pass rate is so dismally low.

Some presenters couldn’t manage time – we either had to stay late to let them finish, or they hurriedly raced through the last presentations in order to get done. Some presentations were skipped entirely. Neither of these is fair to the attendees. (No, Kim, I’m not talking about Locking & Blocking, hahaha – you were right to skip that one, because it’s prerequisite-level material.)

Now we’re in a really ugly situation – Friday is the last day of class, and before we even begin, the instructors are over 150 slides behind schedule. We’re not going to be taught everything on the original agenda, and yet we’re going to be tested on it anyway. We’re going to do a crappy job of covering too much material in not enough time, and then to add insult to injury, we have from 5:30PM Friday until 8AM Saturday to study the quickly-covered material, plus be ready for the final 6-hour lab.

I can understand why a lot of smart people fail the final lab.

And I’m pretty sure I’m gonna fail it too.

I’m not happy about that. I’m not making excuses – if I fail, it’s 100% my fault - but one of the attendees said it really well: “I wish I could have skipped the 2-3 days of less-useful classes, used those to self-study for the lab instead, and I’d be much more likely to pass.” There’s been a lot of grumbling lately from the attendees who feel let down. I’ve put together a couple of pages of detailed feedback for David, Joe Sack, and the instructors, but I’m waiting to put a few days of distance between me and the MCM classes before I email ‘em. I want to make sure I’ve got them worded in a positive way, because right now they’re kinda bitter.

I’m still glad I went through it, though. I can’t even begin to gauge the knowledge I’ve gained. I’ve made so many notes of things I want to do when I touch back down on Earth, and I’ve made some great friendships with some of the brightest technical minds I’ve ever met – and that goes for both the instructors and the attendees. Yes, I just got done complaining about the presentations, but notice that I didn’t say the instructors weren’t amazing. These people have awesome, awesome minds, and they have an unbelievable amount of skills. I’ve got a half-written post circling in my head about how the biggest value of the MCM isn’t the exact step-by-step technical instructions – it’s the business-relevant knowledge of the instructors, and how they pass it on to you selflessly in a way you can reuse. At no time did I ever feel like a presenter was holding anything back from us.

I spent half an hour writing this to unwind so I could fall asleep, and I felt guilty this whole time for taking those 30 minutes as a guilty pleasure, but a man’s gotta do something to relax when the pressure’s this intense. Mission accomplished. Bedtime.

The next blog post will tell you whether I passed or failed, but if you want to know faster, you can check out my Twitter page for updates as I go through the exam and await the results. I’ll probably find out Sunday or Monday. Here goes….

Update 4/2: Joe Sack published a response on the Master Blog – “Free press doesn’t always mean lollipops and rainbows.” Both David and Joe have been exceedingly gracious about the entire ordeal, and they’re already working to improve the experience.  I’ve also gotten emails from some of the presenters apologizing for issues as well.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 15: Logistics

There’s something really exciting about walking into Microsoft each morning.  I know it sounds cheesy, but I get the feeling that really cool things are happening all over the campus.  Love ‘em or hate ‘em, Microsoft builds things that touch our everyday lives, and this is where it’s happening.  I know a lot of Microsoft employees that I really, really respect for their knowledge, community efforts, and personalities.

And for three weeks, I’m surrounded by ‘em.

My MCM training is taking place in Building 40 on the Microsoft campus.  I’m staying at the Homestead Suites only a block away, and I’d highly recommend it to any attendees.  It’s way cheaper than everything else in the immediate vicinity – around $75/night compared to $150/night for real hotels like the Courtyard or Residence Inn.  The advantage of staying so close is that you don’t have to fight traffic.  During the MCM, you’re going to treasure every minute you can spend studying (or relaxing).  If you’re willing to drive 20 minutes each way in traffic, though, you can cut your hotel bill to around $50/night and get a hotel with a warm breakfast each morning.  That drive might not be so bad, though.

Rooms in the Homestead have a little kitchen with fridge, stove, and a microwave, so I stocked up on basic breakfast & dinner food when I arrived.  That turned out to be a bad idea – every day after class, I really like driving a few minutes to a nearby restaurant just to get out for a while.  The Homestead isn’t exactly welcoming, and it’s tough enough to get psyched up for an evening of studying.  If you stay farther away, then take a 15-20 minute drive from Building 40 to a hotel, you can hit a restaurant on the way in & out.  You’ll have a better frame of mind at a little higher expense.

The Homestead has a small laundry room, but I drop my clothes off at a nearby laundromat.  They’ll wash & fold your clothes for a fixed rate by the pound of clothes.  It costs 3-4x more than doing it yourself, but you don’t have to wait around for a free machine, and you can spend that time studying instead.

No matter where you decide to stay, bring an Ethernet cable.  Hotel WiFi is a gamble, and you can often get better performance via hard wiring.  The Homestead’s WiFi in particular is horrible, often dropping connections outright, but the network via jacks in the kitchen is rock-solid and quite quick.

The Homestead’s pretty quiet, but the walls are wafer thin.  Even in quiet hotels, though, I sleep way better with a white noise generator.  At home, I use a Marpac SleepMate, which uses a spinning plastic tube to generate whooshing air sounds.  It’s very soothing, and it masks background noise extremely well.  Sometimes in hotels, I can get away with just turning on the air conditioning fan to get white noise, but in places like Seattle, that doesn’t work.  Leaving the fan on means you don’t get heat or AC, and Seattle hotel rooms in winter get cold enough to hang meat.

On the road, I use the $1 Ambiance iPhone app, which plays background noise through the phone speaker.  You can choose from hundreds of noises, and my favorites are Brown Noise (no poop jokes), Powerful Waterfall, and Rain on a Tent (not to be confused with Snakes on a Plane.)  Ambiance has two downsides – it runs your phone battery down, so you need to run it on a charger.  It’s not as all-encompassing as the Marpac – recorded noise just doesn’t seem to do as well as whooshing air when it comes to masking noise.  I still recommend it highly though.

Killing Us Softly

Killing Us Softly

If you don’t like studying in the hotel room, you can spend as much time as you want in Building 40.  On the first day, MCM candidates get badges with 24/7 access to the building.  The classroom is stocked with an abundance of the finest snack foods imaginable.  Want something to drink?  The kitchens all have Starbucks coffeemakers and fridges stocked with sodas, fruit juices, and energy drinks.  Carbohydrates will not be an issue – well, at least the lack of ‘em won’t be an issue.  I think I’ve gained five pounds already.

Non-Microsoft staff don’t get WiFi access.  You can bring your laptop, but either bring a data card or be prepared to use the in-desk computers to access the web.  Bring a giant thumb drive (at least 8GB) to copy materials from the lab to your machine.

Some of the labs are delivered in VPC format, so install Microsoft Virtual PC ahead of time on your computer.  If you can’t run VPCs on your laptop, consider upgrading your laptop – it’s cheap relative to the cost of the MCM.  You can skip using the VPCs, but you’ll be missing out.  Apple users – this means you need to install Boot Camp with at least 20GB free space so that you can boot into Windows, then copy the VPC to your local drive and run it from there.

The MCM signup material says that laptops will be provided, and they are, but you don’t want to use them.  They’re garbage.  Same with the computers built into the desks – mine said Optimized for Windows XP, and even that was a stretch.  Mine didn’t have the VT extensions on the processor, so I couldn’t even use it for VPCs.  To add injury to insult, the desk computers have CRTs embedded in the desktop, and you’ll bang your knees against the display every time you use the desk.  By the end of the first week, most of the attendees were sitting sideways at their desk just so they could use their laptop without bruised knees.

If you’ve got friends to visit in Seattle, do it before the MCM begins.  You can’t predict what time you’ll get out of class each afternoon, and when you do, you won’t be fit for human companionship.  Your brain will be battered even more than your knees.  Don’t plan on doing it after the last day, either.  By the end of this, you’ll be dying to get home to your own bed, to eat food out of your own fridge, watch your own television, and hug your loved ones.

Speaking of loved ones, I need to blog about the bonds you build with your fellow MCM candidates.  You really go through hell, and you learn a lot about people by the kinds of questions they ask (and the answers they offer) during three weeks of nonstop in-depth technical training.  More on that later.

First I’ve got a test to take.  (sigh)  Here comes Number Two.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 14: Test #2

The MCM schedule goes like this:

  • Week 1 – M-F – training
  • Week 1 – Weekend – study time
  • Week 2 – Monday 8am – written exam covering Week 1′s material
  • Week 2 – M-F – training
  • Week 2 – Weekend – study time
  • Week 3 – Monday 8am – written exam covering Week 2′s material (today)
  • Week 3 – M-F – training
  • Week 3 – Saturday 8am – written exam covering Week 3′s material
  • Week 3 – Saturday 10am-4pm – 6-hour lab exam covering all the material
MCM Flash Cards

MCM Flash Cards

Week 3′s exams present a little bit of a problem – there’s no weekend study time.  Class ends at 5:30pm on Friday afternoon, and then we report back to the classroom 14 hours later to start the tests.

Ouch.

So far, our two weekends have been great for studying, quizzing each other with homemade flash cards, and running through lab demos.  During the week, the presenters rip through demos at a breakneck pace, but it can be difficult to understand every step of what’s going on behind the scenes.  Most of us have been rerunning the demos again in the evenings and on the weekends to make sure we’re comfortable with the code and the features.  For week 3, though, we’re going to have to do our studying and demos every night and stay absolutely current.

This sucks, but there’s no easy answer.  Microsoft could move the tests to Monday, but then that drags out the class longer, making it tougher for people to schedule it.  The test could be moved to Sunday (as it is for the Windows MCM), but attendees still have to travel back home.  Roughly half of this rotation’s candidates are from outside the US.

To add even more suspense, we won’t find out if we passed for a day or more.  After the lab finishes Saturday afternoon, we’re going to head to a bar, drown our sorrows, talk about what we screwed up, and toast to our success before leaving for our homes.

A walk in the park with Buck Woody

A walk in the park with Buck Woody

I’m really, really going to miss hanging out with this group of people.  The best thing about coming to Microsoft’s campus is the collection of absolutely brilliant people who show up for the party.  I got the chance to spend time with Microsofties Buck Woody, David Ikeda, Jimmy May, and Joe Sack, plus met several more who are in my rotation as candidates like Robert Davis.  I don’t want to name anybody else’s name in case they don’t pass and they want to keep it quiet, but I’ll be singing their praises once they pass, because I’m sure they’re gonna pass.  These guys are too smart for words.  This experience really challenged me, because some of the other attendees know more about SQL Server than anyone I’ve ever had the chance to work with.  It was truly an honor working with them.

I’ve been studying my rear off, and I’m fairly comfortable with the materials for today’s test.  I’d put a small amount of money on me passing today.  I wouldn’t be upset or surprised if I didn’t pass, though, because some of this week’s material has taken me way, way outside of my comfort zone.  I’m at peace knowing I did just about everything I could do to pass.  I really want to pass this one, because before I got here, I saw this week’s test as my biggest hurdle.

Now that I’m here, I see the final labs as the toughest part.  On Friday, we were given a few test lab scenarios, and that suddenly made the whole lab thing very, very real. My scenario had a to-do list with three major tasks with different SQL Server features, and one of them was a big problem for me. I tried it a few times (more than five years ago), didn’t like it, and I never put it into production.  This weekend, I had to hold my nose, stick my hand in the box, and get that feature back out.  I figured I was relatively safe – after all, I was implementing it on a brand-new standalone virtual server with no dependencies or history of nastiness.  As they say on Top Gear, how hard can it be?

Went to start it, and whammo – errors all over the place.

Brand new server.  Brand new implementation.  Bork bork bork.

So it’s because I’m incompetent, right?  Nope – every candidate took a road trip through Error City and spent time troubleshooting problems.  Four candidates tried to implement it three different ways, and they all failed to work the first time.  When a feature can’t be implemented by MCM candidates on brand-new servers, here’s your sign, Microsoft – it sucks.  Fix it, or it will continue to be the laughing stock of DBAs everywhere.  (And no, I won’t say what feature it is, because I bet you can guess.  It’s infamously failure-prone, always failing in the middle of the night when you’re on call.)

We’re coming down the home stretch.  I’ve noticed that my quality of writing has gotten worse – not just in the blog, but my handwriting.  My hands hurt from taking so many notes.  My eyes hurt within an hour of watching PowerPoint slides, and I find myself rubbing them more often.  I need a haircut.  I miss Erika and Ernie.  I’ve gained weight due to carb-laden fast food stuffed in between study sessions.

But it’s all worth it, because I’ve gained a crazy amount of knowledge too.  Now, if I can just absorb enough to pull off the big one on Saturday…

Update: Robert Davis, another MCM attendee in my rotation, blogged his thoughts on how to study for the MCM.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 11: When and How to Get In Free

I’m more than halfway through my big adventure. Candidates are starting to complain about the lack of sleep and the abundance of material.  So far this week, we’ve covered the following material:

  • 537 PowerPoint slides (and these aren’t Brent-style slides, either – one of the slides yesterday scored 15 bullet points)
  • 43 T-SQL scripts
  • 11 Visual Studio apps
  • 164 more slides of “testable material” that weren’t shown

That’s just in the last four days, plus we have another day of material today.  I’m starting to feel like Karl in Lost, strapped to a chair in Room 23, watching the Dharma brainwashing video on an endless loop.  I’ve started dreaming of DMVs – yesterday morning I woke up and said “sys.dm_active_trans” out loud, and that’s not even a real DMV name.  Any of this material can be in our exam on Monday, and then eight days from now, our 6-hour implementation lab will cover material from all 3 weeks.

I would have made a profit attending the MCM training if I had a dollar for every time an instructor said, “I never cover this in my public lectures, and you don’t really need to know this, but this is what the Master level is all about.”  It’s not just about internals – they cover hidden fields that aren’t used yet, techniques that don’t work, and back door ways to double-check that SQL Server is really doing what it’s supposed to be doing.  This week Adam Machanic covered at least a few things that nobody knows outside of Microsoft, Adam, and Adam’s technical reviewers.  It’s mind-boggling.

It’s not always useful – I won’t run out of the building ready to throw a particular feature into production – but I’m much better prepared.  I can make a much, much better decision about whether a feature is right for a given project, or why it’s not.  The endless joke about being a database administrator is that the answer is always, “It depends.”  Being a Microsoft Certified Master means knowing exactly, precisely what it depends on.

Going in, I was pretty sure I knew the answer to most of the “it depends” scenarios.  See, I think the career of a DBA progresses a little something like this:

  • Brand new DBA – “Books Online says I should do it this way.”
  • Junior DBA – “Somebody on a forum somewhere said this trace flag will fix everything, and I think they know what they’re talking about.”
  • Senior DBA – “It depends.  A lot of stuff in those forums is wacko, and I’ve been burned by that trace flag.  Here’s what’s worked for me in the past, here’s a few good alternatives we should talk through, and here’s advice from people that I know and trust.”
  • Expert – “Here’s a list of what it depends on.  Here’s four people who got burned with that feature, here’s four people who’ve implemented that feature successfully, and here’s how to get in touch with the product manager for that feature.  Between me and my peer group, we can find the toughest answers with absolute certainty in a matter of hours – or perhaps minutes.”

Being an expert isn’t just about knowing the answers; it’s about knowing the people who wrote the answers.

Getting to this level, getting to where the MCM training is useful to you, requires a heck of a lot of experience.  The training is most effective for me when I can hear the instructor explaining the tweaks and back doors to a particular feature, and I can respond by thinking, “Ah-HA!  That would be the perfect answer to ___!  I know why that’s helpful, and I know where I’d apply that knowledge.”  Today in particular, Adam Machanic covered three separate features that I’d always wanted to implement at Southern Wine (my last company).  Armed with just this one day of training, I can go back to them, steer them away from two of the features, and steer them toward one.  I bet I’ll save them multiple man-years of labor just with this one day of training alone.

When I was a production DBA at Southern, I never would have thought to attend something like the MCM.  It would have seemed completely out of my reach, way too expensive, and not relevant to my day-to-day work.  Turns out I was wrong, because there’s….

Nearly-Free MCMs for Microsoft Premier Agreement Customers

Large companies get Microsoft Premier Agreements for better support.  Premier contracts include a number of hours for Microsoft consulting services like health checks and continuing education.  Every year, companies let their Premier hours expire without using ‘em up.

You can use your company’s Premier hours to pay for your MCM tuition!

If your company has more than a few hundred employees, ask your manager if you’ve got a Premier agreement.  This is different than an Enterprise Agreement, which covers software licensing, but Premier services are often bundled in with Enterprise Agreements.

If the company has a Premier agreement, find out when the expiration date is, and how many hours are left on the contract.  Tell your manager that you’re calling shotgun – you want those hours if they’re going to go unused.  Then contact Joe Sack to get more information about how to sign up for the MCM program using your Premier hours.

There’s two reasons you should rush:

  1. There’s very few MCMs right now. There are only 3 SQL MCMs in the US outside of Microsoft right now.  Having it before everybody else is worth something.
  2. You want to get in before your coworkers. Put your name in before the word gets out about how the Premier-hours-for-MCM thing works.  Whether you’re a SQL, Exchange, Sharepoint, or Windows person, you should go for this.

Your company probably won’t foot the entire bill for MCM training, but if you can manage to use leftover Premier hours to pay for it, suddenly the bill becomes one heck of a lot cheaper.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 10: Comfort Zone

I’m kinda good at a few things.  I can tune pretty much any SQL Server to make it run faster.  I play a decent game of Extreme Query Makeover.  If you talk about your SQL Server application behavior for a few minutes, I can usually tell you where your bottleneck is.  I’ve even been known to guess an exact server configuration down to the storage setup from a five-minute Perfmon counter output.  I’ve got a core set of skills that enable me to make a pretty good living teaching people how to make their servers run faster.  I don’t get a big head, though, because I only know a relatively small subset of SQL Server.  When I open the Microsoft MVP private newsgroups, my eyes get wide at the questions – let alone the answers.

Before the MCM, if you’d have come to me with stories about a server running SQLCLR stored procedures, storing XML in the database, or using 2005′s table partitioning, I would have given you a pretty short answer: “Stop doing that.”

Unfortunately, the Microsoft Certified Master training doesn’t give me that luxury.

Adam Machanic, Japanese Snack Connoisseur

Adam Machanic, Japanese Snack Connoisseur

The MCM isn’t just about going deeper into subjects you already know and love.  Sure, some of the instructors can wax poetic about the finer points of your very favorite features, but sooner or later, you’re going to encounter a session on a topic you can’t stand.  It’s not enough to say, “That feature doesn’t scale” – your mission as an MCM is to master it anyway, because believe it or not, you’re wrong.

The MCM is about letting go of your prejudice against a feature and learning to make it work.  I’ve heard stories from instructors about candidates who angrily denounced sessions as irrelevant.  These students said they would never ever use a technique.  Those students will not be successful.  Going in, based on the prereading list, I knew I was going to encounter my old sworn enemies: CLR assemblies, XML in the database, Service Broker, and – perish the thought – replication.  As those topics came up, I kept an open mind.  After all, if anybody has a chance of getting it right, it’s the rockstar MCM instructors.  If I’m going to learn how to do CLR in the database, I would want to learn it from Adam Machanic (Blog@AdamMachanic).

I expected the instructors to come in with pom-poms and cheerlead their subject areas.  I expected them to recite a litany of ways that his favorite features ruled, and my opinion drooled.  Wrong-o: every instructor has been open and frank, explaining how sometimes things work and how all too frequently they fail.  Looking back, it all makes sense – they only want you to use a particular feature if it’s going to be a success.  They don’t want any implementation failures, and Microsoft encourages this open discussion (well, kinda open, under NDA anyway) because they don’t want failures either.  They want MCMs to walk out and have one successful implementation after another.

Like I wrote above, though, this bars me from simply saying, “I would avoid implementing that feature.”  Almost every feature I’ve seen covered does indeed have good deployment scenarios.  The problem for me is that I have to learn – and I mean really learn – how to successfully deploy them.  This means doing things that have burned you in the past, or things you’ve just plain avoided.  For me, that was SQLCLR.  I wish I would have spent a few weekends ahead of time with a .NET developer getting to know more so that I could have asked better questions.

If you wanna get the most out of the DBA training, you need DBA experience.

If you wanna get the most out of the developer training, you need developer experience – whether you like it or not.

At one point, Adam touched on a subject that wasn’t in the slide deck, then paused and asked attendees if they wanted him to spend 5 minutes talking about that subject.  He made it clear that it wasn’t part of the exam, but if attendees were interested, he could elaborate.  Some of them did, so he did.  I was left out in the cold because I didn’t have the ground level knowledge to take advantage of what he was saying.  He could have been explaining the contents of candied sweet potato french fries for all I know.

To grow as a person, you have to go outside of your comfort zone, and the MCM makes you do just that.

For the record, the candied sweet potato french fries were fantastic, and SQLCLR wasn’t too bad either.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 9: Taking Good Notes

I sit at the back of the classroom, so I get to see everybody’s laptops as they’re working.  Some folks surf the web, make travel plans, or do email.  Other folks follow along with the demos, running the scripts on their machines before the instructor gets to the next one.  I seem to have a little bit of an oddball strategy, so I figured maybe I should blog it in case it helps anybody else.

I start by keeping the PowerPoint slide deck open.  As the instructor explains each slide, I make notes in the “Notes” part of the slide.  If the slide deck already has some notes from the instructor, I make a line above their notes to show what’s theirs versus what’s mine, and I put mine at the top.  I find that instructors place very different emphasis on different parts of the slide – for example, some instructors will say, “This part here doesn’t even really matter, and I don’t know why I haven’t taken that off the slide.”  Presto, put that in the notes, and you can change the way you study.

Instructors also place huge amounts of emphasis on other points, so I make note of that too.  If a particular topic is very important, they’ll show it with their body language, pointing at the topic or waving their hands.  Those kinds of points seem to be more likely to show up on exams.

I also start a Word document, and I switch back and forth between that and the slide deck.  In the doc, I put notes about:

  • Blog topics (not necessarily blogging something straight from the deck, but more like things that occur to me while I’m watching them cover a topic)
  • Things I need to bring up with clients (like when a slide covers a solution that might address their problems)
  • Questions I want to ask the presenter later (clarifications, going down a rathole, or anything that is important to me personally but probably isn’t of interest to the rest of the class, and I don’t want to burn up the classroom time)
  • Things I find interesting, but aren’t likely to appear on the exam

The downside of my fragmented PowerPoint/Word approach is that it’s not as easy to combine all of my notes in one place.  I’ve seen people using OneNote, and looks slick, but I’m kind of averse to anything that puts more software between me & the original source docs.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 8: The First Weekly Exam

Here’s everything you need to know to pass the MCM written exams:

Before you get here, read the prerequisites.

Again.

And again.

And again.

My kind of email

My kind of email

Do the demos.  Run the scripts.  Explain them out loud.  Teach the workings to your pet hamster.  Be completely comfortable with everything covered in the prerequisite reading.  The one week of training is nowhere near enough to take you from zero to hero, as they say – if you don’t already have a very solid background in the material, you’re not going to make the cut.

I was the first guy to finish the two-hour exam on Monday morning, and as I waited for the other candidates to finish, I thought I’d done really well.  But as each attendee came out and we talked about our experiences, we realized that we hadn’t done quite as well as we’d thought.  Within an hour, we were all pretty sure we were on the borderline between pass and fail, and perhaps even trending toward the fail area.

Our results were delivered via email, and I breathed a big sigh of relief when I saw that I’d passed.  Unfortunately, two of my colleagues didn’t make it, and I was really surprised.  I wouldn’t have correctly predicted who was going to pass and who was going to fail.

Looking back at the test and looking forward at this week’s material, I’m pretty concerned about my chances on the next exam.  I’m going to have to study my rear off, because I really, really want to pass these tests the first time.  If you fail, you don’t get to retake the exams right away, which means the material is going to slowly trickle out of your brain.  Your best shot by far is passing that first exam.

I’ve started to settle down into a schedule:

  • 5 AM – wake up, read the news, hop in the shower.
  • 5:30 AM – drive to Starbucks or McDonald’s to get coffee and breakfast
  • 6 AM – arrive in the classroom to start studying
  • 8 AM – class starts
  • 6-6:30 PM – class finishes, attendees talk for a while to decompress
  • 7-7:30 PM – go somewhere for dinner
  • 8-8:30 PM – arrive back at the hotel room and crack the books open again
  • 10 PM – go to bed

I’m selfish – I get 7 hours of sleep – but I’ve seen other attendees sending emails until 1-2AM, quizzing each other through our distribution list.  I can’t operate like that.  The less sleep I get, the less focused I am during the day, and the tougher it is to really absorb some of the monstrously detailed material.  We take a 5-10 minute break every 60-90 minutes, and I find it helps to take a walk outside to see the sun and get some fresh air.

Random unrelated quote:

Attendee: “Why is it that all the instructors know you?”
Me: “I’m huge on MySpace.”

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 7: One Week Down

Whew.

The first week was taught by Paul Randal (Blog@PaulRandal) and Kimberly Tripp (Blog@KimberlyLTripp), the husband-and-wife team of former Microsofties who founded SQLSkills.com.  To call them good trainers is an epic understatement.  They know how to deliver very, very technical material in ways that illustrate it well.  I had to stop Paul at one point and ask him how long it took to build a particular slide because the animations were so good at conveying a hard-to-describe process.

“Of course,” you say to yourself mid-week, “why doesn’t everyone know that you can just XOR all the IAM pages together to double-check the allocations on each PFS page?  It’s so obvious.”

But if you hopped into a time machine, went back one week before the class started, and said that same sentence to Last Week You, he wouldn’t even understand how that was related to SQL Server.

DBAs Are On a Need To Know Basis

As a DBA, I didn’t have the time to learn about stuff like IAM pages and PFS pages.  I was too busy keeping the trains running on time, tuning applications, building new servers, and avoiding disaster.

As an MCM candidate faced with an avalanche of really, really cool learning material, there’s a wonderful dilemma:

  • Should I focus on learning things to pass the exam (and maybe ignore obscure things that interest me)
  • Or should I give in to temptation and dive into the things I find mesmerizing, and skip things that don’t call to me (at the risk of not learning something required on the exam)
XKCD - Duty Calls

XKCD - Duty Calls

For example, during our first group study, we dove down a rathole and spent a lot of time discussing the intricacies of the ghost cleanup process.  I’m smiling as I type this because we had a really fun time debating and analyzing how a particular part worked.  When we asked Paul about it the next day, he explained it, but immediately pointed out that those fine-grained details wouldn’t be on the exam.  They weren’t even in the slide deck or notes, because we’d gone so far away from what’s useful for real-world architects and DBAs.  Nobody needs to know this stuff, but we’re hard-core geeks, and we find the inner workings cool.

Go far enough down the rathole, and you become really thankful for the MCM’s biggest perk: connections to brilliant people.  As much as I love the intertubes, there’s wrong information out there.  It’s hard to put a price on accurate information, especially when the design, performance, and security of your data is at stake.  Going through this class, suddenly I can appreciate how frustrating it can be for Kim and Paul to open up a web browser.  One could spend all day correcting bogus and misleading web pages, but that costs time, which is money, and there’s not much of an ROI on flame wars.  I can even make a case that if you’re a doctor, it makes sense to keep letting people shoot themselves in the foot.  There’s good money in removing bullets.

I don’t want to give you the impression that the class focuses on obscure internal processes, though.  Paul and Kim’s training upended the conventional 100-200-300-400 progression.  Instead of starting with 100-level material like “Meet Mr. Table and Mrs. Index,” it started with how the storage engine works.  On Monday, we covered things that most DBAs think they’ll never need to learn, let alone touch.  By the end of the week, as we gradually stepped away from the internals, we had a much better understanding of why some 100-200 level concepts worked the way they do.

When Do You Need to Know?

Good senior DBAs bust their humps the first year on the job.  They get the servers set up correctly, configure alerts & notifications to find out when things break, and harden security to make sure people can’t break things.  Once they’ve built a solid foundation, the rest of their time at the company is much easier, and they’ve got the free time to dig deeper.

That’s the perfect time to go for the MCM.

When you believe you’ve got things pretty stable in your environment, when you feel confident that your servers are under control, and you want to take your knowledge to the next level, the MCM is right for you.  I’ve already learned things in week 1 that I can quickly apply to my SQL Servers right now and improve performance, reliability, and scalability.  The only thing holding me back from sending out client & friend emails is that I don’t have the time to manage the responses yet.  For example, I connected to one friend’s server, ran a troubleshooting query, and found that we need to fix the log file setups.  I started banging out the email telling them what to do, but I realized it’ll take an hour, and if anything goes wrong in the process, I don’t have the time to help them troubleshoot.

Do I Actually Know?

We’re about to find out – my first exam starts at 8:00 AM Pacific.

My biggest concern (and I’ve heard the same thing from other candidates) is the test style.  What kinds of questions will be asked?  Will they be high-level design questions, mid-level implementation questions, or low-level syntax questions?  We keep rehashing the slide decks trying to cover these questions from all three angles, but it’s hard to come up with our own test questions when we don’t know that crucial element.  We’re going to breathe a sigh of relief once we see the first question just to know how to focus the rest of our studies on the next two exams.

Candidates who fail a test keep right on going, and retakes happen later.  Training starts again shortly after the two-hour exam completes, and the first teacher this week is the colorful Adam Machanic (Blog@AdamMachanic).  I’ve already warned the candidates that he’s younger than me, smarter than me, and knows more about alcohol than me, so he’s obviously doing something right.  Or many things.

As soon as I know my results, I’ll tweet ‘em, but it may take a while.  The results are graded by hand due to the question complexity and evolving nature of the tests.  This isn’t an MCP test that’s been beta’d with thousands of candidates, so they still monitor the results closely each time.

Wish me luck!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 3: Thieves and Clerics

I played a lot of Dungeons & Dragons growing up, and part of the game involves building your character.  You picked a class like thief, cleric, fighter, and so on, and your choice determined the strengths and weaknesses of your character.  Your character’s Strength, Dexterity, Constitution, Charisma, and Intelligence scores were affected by your class.  Players roll three six-sided dice to determine their scores, and their class gives them a bonus – or a penalty – for each score.  For example, a thief character might automatically lose 3 points of Strength (no matter what they rolled), but get a 3 point bonus in Dexterity.  Roll three sixes for your Dexterity, and presto – you’re nearly unstoppable in that one particular category.

Well, there's always Access.

Well, there's always Access.

Sitting in MCM training yesterday, surrounded by people with different backgrounds (developers, development DBAs, production DBAs, project leads, support engineers), the whole thing suddenly felt like a D&D game.  Instead of Strength, Dexterity, and Intelligence, our abilities were more like:

  • On-disk structure knowledge
  • Index tuning knowledge
  • C#/VB knowledge
  • Stored procedure knowledge
  • XML parsing knowledge
  • Backup & recovery knowledge

And so on.  I might have went in with a 14 for on-disk structure knowledge, but a 4 for C#/VB knowledge.  Nobody in class has a perfect 18 all the way across the board – heck, none of us even have 14 across the board.  But this raises two interesting questions; for each subject area, what’s the starting level for MCM training, and what’s the required score at the end?  In, say, the XML area, do you need to walk in with a 10, have the training start at 9 and take you to 14, and passing requires a 13?  If only we could lay it all out on a simple chart, but skills aren’t so easy to measure.

Look at it another way – no one person teaches the entire SQL MCM curriculum, but one person is expected to learn the entire curriculum at Master level.

The attendees’ attitudes are all over the place.  Some folks are completely comfortable with the odds being stacked against ‘em.  One person noted that their chances of passing the first round are roughly 1 in 8 – they have to pass three written tests and a lab, four tests at 50/50 odds each.  (Turns out the odds are running a little worse than that – in the last rotation, only one person passed all the tests the first time.)  Other attendees are getting surprised by this news, because they’d only heard about the pass ratios without knowing about the retakes.  They thought the 60-70% pass rates meant that 60-70% of the attendees came home with the certification, but that’s not how it’s going down.  There’s going to be a lot of disappointed people.

If an attendee fails a test, they still keep going – they just have to retake the failed test later.  Retakes, even the final 6-hour lab, are done remotely.  Several MCMs and Rangers have told us to expect to fail our first test, and to just pick ourselves up and dust ourselves off.  I hear ‘em, but a few of us are so confident in our knowledge of the first week’s material that we’ve vowed to throw ourselves off the roof of Building 40 if we don’t pass the first exam.  We’re only half joking – if we can’t pass this particular week’s test, we’re completely screwed, because this is our specialty.  We feel like we came in at 16s, and Paul & Kim have brought us to 18s.  Next week, though, all bets are off.

And for the record, my favorite character was a half-elf thief.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL MCM Day 2: NDA Club

One of the classic lines from the movie Fight Club is:

“The first rule of Fight Club is: you do not talk about Fight Club. The second rule of Fight Club is: you DO NOT talk about Fight Club!”

Tom LaRock (Blog@SQLRockstar) used this line (and many others) to explain what happens at the MVP Summit, and I had to come back to it after my experience yesterday at the Microsoft Certified Master training.

Microsoft Certified Masters get trained on not just the current version of SQL Server, but past versions as well.  Paul Randal and Kimberly Tripp have done a great job throughout of saying, “This covers 2008, but if you’re doing this on SQL Server 2005, then ___ applies, and if you’re using SQL Server 2000 then ___ applies.”  We’ve even talked 6.5 and 7.0.  Before the training, a few readers asked why someone should pay $20k for training that isn’t applicable when the next version of SQL Server comes out.  Sitting in the training, the answer’s really obvious: it’s about answers.  People still ask me questions about SQL Server 2000, especially when I present on DMVs, and it’s so helpful to get the 2008 training in the context of how it became to be the way it is.

During yesterday’s training, someone asked a future-feature question and there was some quick discussion about NDAs.  I feel for Microsoft employees who have to deal with this; all day long, they’re working on projects with tomorrow’s software, but whenever they run into an outsider, they have to stop and ask what the audience’s NDA covers.  I was sitting in the audience armed with information I’ve learned under three different NDAs:

  • MVP-level NDA
  • Quest Software MS-partner level NDA
  • MCM-attendee-level NDA

It’s funny to see who knows what first.  The focus of the MCM isn’t on future versions – it’s tough enough just to get trained on the way things are today – so MCM candidates don’t get the lowdown on vNext.

I hate posting stuff like this because I don’t want you, dear reader, to think that I’m bragging about what I know.  I could go on for days about the things I don’t know that are way more valuable than the things I know.  Bear Grylls knows six ways to kill me with my NDAs and live on them for a week underwater.  If I gave you the choice between listening to the NDA stuff I know for an hour, versus watching a free Kimberly Tripp video on indexing strategies, you should choose the latter.  If that link doesn’t take you straight to Kim’s video, use the right-side menus to search for her under speakers.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube