How I Became a SharePoint 2010 MCM
I recently attained the Microsoft Certified Master for SharePoint 2010 certification. I have long wanted to write about the experience, but honestly didn’t know how to begin. After quite a few conversations with friends and colleagues, I thought I would share some insight about the process. I am not writing this to dissuade you from pursuing MCSM… in fact, quite the opposite. I think many more SharePoint professionals need to attend the program to receive the most amazing training that they will ever receive anywhere. That said, you should also understand what it takes to achieve certification and what the rest of the Masters went through. They didn’t just attend a training course and then get a certificate of completion, this is a true measure of your mastery of the technology.
IT WAS A LOT OF WORK
Mrs. Robertson, my high school English teacher, would scream at me for putting that heading in all caps, but I mean every single word of it: IT WAS A LOT OF WORK. The MCM certification is just that, a certification. You might be familiar with the Microsoft Most Valuable Professional (MVP) award which is given to recognize technical leaders who contribute to the community in a meaningful way. I was lucky enough to be an MVP at one time and cannot speak highly enough about the hard work and dedication for these people. Where MVP is an award that recognizes technical leadership within the community, MCM is a certification process that requires multiple tests. The program requires that you pass 4 certification exams (two for IT Pro, and 2 for Developer) before you even qualify for an interview to determine if you are accepted into the MCM training program. Once you complete the training program, you have to pass the mother of all written tests, by far the hardest written test I’ve ever taken (worse than my Calculus 3 final exam in college by far). Finally, you sit for a qualification lab test that took every minute of 8.5 hours to complete, a test that I joke most consultants would bill at least a month of time to complete the same amount of work. It was grueling, and worth every minute. It was one of the most difficult and yet satisfying achievements of my career.
My interview was with two people, both MCMs, and they grilled me on technical aspects of the product that I had never considered, let alone had any real world experience with. I honestly don’t know of too many people who would have enough technical experience to approach that interview with confidence, let alone have much confidence left after the interview. They asked me about some of the roughest edges in the product, how to solve problems on a global scale as well as how to solve very specific smaller complex problems. I thought I knew a lot about the product, but I was seriously questioning my abilities once I got off the phone. Somehow, I passed, and they gave me feedback on areas that I needed to focus on in order to be successful with the program going forward. For me, unfortunately, the things that I needed to focus on were precisely the things that were emphasized and central components of the training program.
There are two formats for the technical training portion of the program: a three week immersive training course where you are on site the entire time, and a one week on site plus 10 week remote training course. After talking with colleagues who had gone through the experience, they thoroughly recommended the three week course as the better option. For me, I found that the three weeks on site provided me the best opportunity to succeed as I was able to work side by side with friends until the wee hours of the morning in the lab away from the distractions of work and family. Yes, I said the distractions of family, as much as it pains me to say that this program requires that you set aside all personal responsibilities to focus. I didn’t feel that I would be disciplined enough to attend the training virtually.
The material in the program covers a broad set of topics. For instance, simply saying we covered “ECM” means that we covered document sets, holds, metadata navigation, document ID, retention policies, IRM, workflows, content organizer, and a bunch of other topics. For each topic, we examined the timer jobs required, the interaction of processes (holds leverage search), the limitations of various capabilities, common issues that people have with various functions, and the recommended approach for applying it. We covered things like the content migration API, discussing what information is retained and what is lost, and the implications of using this in various scenarios such as content deployment.
Monday through Friday for three weeks we arrived in the lab around 7:00 am, took a few very short breaks and an hour for lunch, and were bombarded with incredibly deep technical training until around 6:00 pm, sometimes later. The material is all 400 level, you are not introduced to things like search or user profiles, but rather it is assumed you already know how this stuff already works. They teach you the deep inner workings of how things work, like a fantastic deep dive on user profiles by Spence Harbar or another incredibly deep dive on search by Neil Hodgkinson. This training is an invaluable part of the program where you hear some of the most common issues and things that cause the most support cases for the product team. You learn from people who know this stuff more than anyone else.
For each of the modules below, we went into detail about what service applications are used, the required permissions, the implication of topology choices, services required and where they should run, how to manage them and how to troubleshoot them. Below is a summary of various topics covered, I am asked quite often what kind of information is covered in the course. This is not an exhaustive list, I am probably missing a few and some of these are way deeper than I suggest in this list.
- ECM – everything mentioned above plus WCM.
- Governance – creating a governance plan.
- Planning and Information Architecture – planning topologies and how you might segment information based on requirements. Did you know that TechNet has a bunch of information on planning?
- Multi Tenancy – how to configure multi-tenancy, why you shouldn’t do this for an on-premise farm, and design considerations.
- Service Applications – how they work, core components, how to create your own service application.
- User Profile – My Sites, social, architecture, provisioning, synchronization, troubleshooting, dependencies, interactions with managed metadata and search, enterprise considerations.
- Identity – Kerberos, FBA, constrained delegation, claims.
- Search – Everything from how to provision the search topology, what services are running where, what service accounts are used and what can be federated or delegated, how the crawler works, how search stores information and where, and what happens when you query.
- Search Customization – custom search pages, result refiners, extending search web parts, best bets, scopes, XSLT for core results, BDC results, people results, crawl extensibility.
- Business Continuity Management – recycle bin, list export and import, site backup and restore, farm backup and restore, mirroring, log shipping, SQL Server Always On. How SQL backups work and what mirroring and log shipping are really doing, what databases can use log shipping and why.
- Upgrades – how to upgrade, best practices, things to watch out for, how to handle customizations and site definitions, how to troubleshoot. How to patch, best practices for patching.
- Capacity Planning – how to determine the requirements for your farm and how to test your farm to determine if it can handle the load. How to monitor the farm once deployed, and how to address constraints.
- Developer – workflows, data access technologies, schema-based deployment (declarative vs. imperative deployment), web templates, LINQ, REST, application lifecycle management, feature upgrades, management and monitoring custom solutions.
- Workflow – Developing, configuration, troubleshooting, performance tuning
- Business Connectivity Services – capabilities, APIs, PowerShell, security, search, augmenting user profiles, custom connectors, throttles and limits, performance tuning.
Pretty daunting list? Admittedly, there are going to be topics you are strong at and topics you are not as strong at. Prior to attending the training, you should spend quite a bit of time with the pre-reading materials. We joked that it is basically, “read all of TechNet and all of Steve Peschka’s and Spence Harbar’s blog.” From the list above, that’s not far from the truth. The one thing that I didn’t write but is common to all of the modules: PowerShell. You need to know PowerShell, and if you aren’t comfortable with it before training, you sure the heck will be afterwards.
Keep in mind that this was what we covered for SharePoint 2010 MCM, the list of materials has changed since then.
I was a good student in college, I achieved Dean’s List for the last 2 years of college and generally was able to get by with taking notes, memorizing for tests, and then forgetting most of what I learned after finals. This simply won’t work for this program: you must bring a broad set of experiences with you or the training will be over your head. This is a test of experience and stamina. Being attentive for 9-10 hours per day to deep technical content is exhausting and you get to the point where you start trying to figure out “do I really need to listen here or can I zone out for a minute, can this possibly be on the test?” The answer is yes: this is probably on the test. The information presented in class covers topics that you are expected to already know, just with more detail than you might already know. For instance, you might already know a thing or two about ECM, but do you know all the services required to make everything work as expected? The more familiar you are with search, user profiles, identity and authentication and claims, and service application federation before you attend the class, the more you will get out of the class. If you are hearing a topic for the first time (admittedly, much of it was brand new to me), then you are going to struggle. The MCM certification is just as much a test of what you learned in class as it is your own experience, and it’s really difficult to master a concept you just learned about.
The Hands on Labs
You are given an environment to practice hands on labs to bolster the training that you receive during the day. The training lectures runs Monday through Friday from around 8:00 am to 6:00 pm, so you spend as much time nights and weekends working on the labs as you can. There are some labs that are relatively short, only taking a few hours to complete, while others may never be completed. We were often in the lab until midnight or 1am working on problems, surviving on little sleep while knowing we needed to be alert during the training lectures. Weekends were consumed with these labs as well as studying for the written test. You have to balance your time practicing the things you think you know with the things you are not as strong with.
These labs are not detailed walkthroughs, they are often just a description of a task that you need to accomplish that may seem deceptively easy yet take days to complete. At first, I was frustrated at the lack of direction in the labs and how open-ended they were, but I came to love this about the training course. Rather than show you one way to accomplish a task, you are forced to learn how to do the task on your own and understand various aspects of it. The second-to-last sentence in the lab was usually “verify that a document shows up” or “verify that the search result shows this”. The last sentence was usually a question like “what else could you do with this” or “how else could you accomplish this?”
Here are the HOL topics that were covered.
- Logical architecture and governance
- Content migration
- Basic upgrades
- Complex upgrades
- Business Continuity Management
- Capacity Planning and Performance
- Custom service applications
- Visual Studio workflows
- Platform security
- Schema based development
- Search topology
- Search customization
- Business Connectivity Services
My favorite lab was the Topology lab. You are handed this lab on the first day, and wow is it trial by fire. Given a set of servers, provision various services with a desired topology. This lab took me almost two weeks to complete because I was stuck on one problem and couldn’t solve it. Time management is a huge part of this course, spending 2 weeks on that one lab was, in hindsight, stupid because I should have spent more time on the other labs making sure I was prepared for the qualification lab. However, I now have a very firm grasp on user profiles and will never forget that the user profile service must be started before provisioning tenants! You need to work through the hands on labs in order to prepare yourself to pass the written test or the qual lab, it is vital that you work through as much of the labs as possible. Time management is key.
I rarely ate dinner out, opting to have food delivered just so that I could get more time in the lab. On weekends, I would try to start a load of laundry while studying notes and then I’d go back to the lab so that I could work with peers, asking for help on some of the more difficult assignments. It is a delicate balance of sleep deprivation and will power. I attended during fall, during college football season, and I just wanted to go to a bar and watch an NFL game or the Georgia Bulldogs play but instead I buried my face in the glow of the computer monitor to keep practicing, keep studying. Those who know how much I love football know this took tremendous willpower.
To put in the work required means you really have to put aside all other commitments. You aren’t going to be effective if you are having to excuse yourself for a conference call when the instructor is going over material that you really need to hear. You really need to make sure that you can excuse yourself from work during the course duration. The hard part means that you need to stay off email, Facebook, and everything else. I was lucky to have a very supportive group of friends at work who covered for me while I was gone, sent reassuring emails telling me that everything was going great and to keep working hard, and chastised me to get the heck off Facebook and Twitter. I can’t thank you guys enough Chad and Eric.
I have a loving wife and two young children. Every day with them is precious to me, and I fight to create work and life balance, although that often means that I am working from home and they know to find me in my home office. I travel frequently, but usually only for a few days at a time. For the MCM program, I got an apartment near campus and lived there for 3 weeks by myself. There was a 2-hour time difference that meant when I woke up at 6:00 am (recall the sleep deprivation that I emphasized before), my kids were already at school. When I was eating lunch, they weren’t yet home from school, and when training was done at night they were already in bed. I missed my kids so much it hurt. By the end of the second week, I damned near had a breakdown when I checked my voicemail and a tearful daughter said “I miss you daddy.” It gets really hard to focus on listening to technical training all day and then working all night in a lab when all you want to do is to hear your family say I love you. My wife was fantastic, she wouldn’t tell me about any of the times the kids got in trouble, when the oven broke, about a tax audit letter we received, she just wanted me to focus. We usually spend so much time talking to each other every night that this was something we both very much missed while I was away at the program, she didn’t have me to share her highs and lows every day and that really made an impact on her.
On weekends, we tried to use Skype, and it was wonderful to see everyone’s faces and hear their voices… but it was only fleeting. I have to admit that this was something I fully didn’t realize how much it would impact me. I didn’t realize at all how much it would impact my family.
The commitment isn’t just you, it’s your family as well.
The Written Test
Once the three weeks of training have concluded, there is a written test. This is not like any other Microsoft certification test that I have ever taken.
I have long questioned the value of Microsoft certification tests, there are so many stories of young kids passing tests or, worse, people passing tests who have never used the technology before. A friend of mine decided to see how many certifications he could achieve within 2 months, most he had little or no experience with, and he achieved 6 of the 8 he attempted. Simply put: this test is nothing like that. During the lectures, I would often listen to the lecture and try to think of what questions could be asked on the test. I made up my own set of questions that I thought could be fair game on the test. Not even close.
The questions were way harder, and often required you to put multiple complex concepts together to arrive at an answer. There should be a camera outside the door as people leave the written test just to see their reactions, many F bombs are dropped by even the most experienced and attentive students. You are under NDA, so you cannot talk about what’s on the test to each other or compare notes, you can only acknowledge each others’ frustrations. You can’t even blow off steam by going to a bar and drinking too many beers because you are now looking forward to the next day where you take the qualification lab.
Many people do not pass the written test on the first try. To me, this is the hardest one to retake because it requires that you study all of your notes and re-read TechNet and Peschka’s blog and Spence’s blog making sure you understand the finer points, realizing you aren’t getting the same test a second time. One strategy is to do a brain dump of as many questions and topics that you saw and what you aren’t sure if you got right and make sure you study those concepts. You really do not want to put off the retake for too long because it becomes increasingly hard to find the time to study like this.
My strategy during the program was to focus my attention towards studying for the written test as much as I could because I knew that would be harder for me to attempt a second time. I passed the written test on the first try, and I was admittedly shocked to see that I passed it.
The Qualification Lab
You are given a lab environment and a set of tasks to complete in 8.5 hours. The test was open-internet, so you could research whatever you needed to, but honestly if you were looking it up in the first place your chances of passing are very slim. It’s nothing that an average SharePoint professional couldn’t reasonably achieve in a month’s time, but you are given just 8.5 hours and are graded on your ability to complete the tasks as described.
Let me emphasize here… a month’s worth of work in 8.5 hours, done accurately. Either you know it or you don’t. If you know it, you can do it quickly and accomplish it within the time limit, if you are unsure then you are going to waste a bunch of time trying to figure it out. The clock is ticking.
A boxed lunch was served, although I didn’t eat much of it because I didn’t want to lose any focus on completing the tasks. It is stressful, because we all know how easy it is to forget a seemingly small step only to spend hours troubleshooting something. Forget one timer job, and you can find yourself beating your head on the keyboard. This is where it is vitally important to have paid attention in class as well as having experience.
I failed the qualification lab. Twice. It was that hard, and from speaking with many others who have attempted the course, they agree that the combination of the written test and qualification lab are more than an accurate measure of the level of competency expected of an MCM. It is stressful, realizing how many times you are trying to accomplish the task as written and fumbling on things you know how to do, things you do every day for work. I remember thinking during my first attempt at the test that I had a reasonable shot at passing… yeah, not even close. The three weeks of lecture and demos, the late nights in the lab, the 16+ hour days on weekends, all that bolsters what you are expected to already know, it doesn’t teach to the test, and there’s only so much partial credit given for incomplete tasks. Simply put, it was by far the hardest test I have ever taken because you had to be both thorough and fast.
The first time I took the test I honestly wasn’t prepared. I did horrible, but that was my strategy the whole time was to focus on the written test and then plan to retake the qual lab. The second time I took the qual lab, I failed by only a few points and it was completely time management that did me in. I knew all the material, I just took too long to do some of the tasks and the clock ran away from me.
I finally passed the qualification lab on my third and final attempt. The first time you take the qualification lab, you are in a room with the proctor. Your retakes can be done remotely while a proctor monitors you.
Maybe it took more for me to accomplish this certification than it would for you, maybe you have more experience than I did going in and you wouldn’t struggle as much. Plenty of people pass the written and qual labs during rotation. You should be prepared for what happens if you don’t and understand that if you didn’t pass the first time, you are really going to have to apply yourself to be able to pass the second time.
Many people do not pass one or both of the tests on the first attempt. Some of the MCMs that I look up to most (including some of the instructors) failed one or both parts on the first attempt. Some of the SharePoint hardcore geeks that I look up to did not pass and decided not to even attempt a retake. It’s hard to think about making such a huge time investment (pre-reading study, independent lab practice, three weeks of very long days of lectures and labs, two grueling tests) and then having to make yet another huge time investment afterward. For some, they recognize that they don’t have it to give. For me, I wasn’t about to give up.
After attending the program in person, you have 2 retake attempts before you have to repeat the entire program. I know quite a few people who attempted it and decided not to pursue it after failing the first time, recognizing the amount of work that it would take to prepare for a retake.
Prior to attending, I spent quite a few long hours at my desk at work trying to understand search and user profiles. I spent about a week (which is way too short) studying the pre-reading list. After attending the training program, I studied nights and weekend for over a year. I gained new experiences through working with the product day in and out with customers, bolstering my experience with the product. I presented on some of the material at conferences, and made sure that I was able to cover the areas that I did poorly on. I studied nights, weekends, holidays. I was lucky that many of the customer issues I was handling for work were directly related to the material that I was studying and that gave me additional experience. I felt like I lived, breathed, ate, slept, and dreamed of SharePoint. I drove my family crazy by sitting in my office making up scenarios with the product and trying to solve them to make sure I knew how things worked instead of enjoying time with them outside. On vacations I was distracted, I spent an absurd amount of time focusing on making sure that I was ready for my third and final attempt. I rarely blogged, and when I did I tried to blog about the topics that I was studying. Yes, I worked nights and weekends and busted my tail preparing for my 2nd qualification lab attempt. For my 2nd attempt at the qualification lab, I thought I was ready… I barely failed, but it was still a failure. That only strengthened my resolve that I was going to finish what I started.
For the third qualification lab attempt, I worked nights and weekends and holidays and on vacation. The problem was that it was getting tougher to focus. I still had a day job, and I was now focusing less on SharePoint 2010 and more on SharePoint 2013. I was traveling all over the world teaching developers about the new features in SharePoint 2013 for the Ignite program. I was recording videos for MSDN, editing them, reviewing them, and re-recording them and doing much of that during nights and weekends. That stuff helped me study through experience, but it threatened to reduce the amount of studying that I could do to prepare for the third attempt. I finally had to put everything else on hold and focus for a few weeks solid to prepare. Yes, I took vacation just to study for MCM.
This is the part that many don’t plan on, the aftermath of the program. If you don’t pass the first time, it takes a dedicated effort to make sure that you are ready for the next attempt. It takes quite a bit of sacrifice. It’s sometimes hard to explain to my non-technical friends that I sacrificed a significant amount of family time in order to pass a certification exam. This program consumed my life for most of 18 months to the point that I questioned what possible benefit could I receive to justify all this hard work other than a title to add to my resume. I thought several times about quitting, but I just couldn’t quit, that’s not who I am. Instead I sacrificed quite a bit to accomplish a goal that I had set for myself.
I failed the first and second attempt at the qualification lab, and finally passed on my third and final attempt. Funny enough, I am glad I had the opportunity to take the lab three times as I was able to see a wide number of real-world scenarios that made me go back to my lab at home and work on them to completely understand them for the next test attempt. Even if I didn’t understand them enough to pass the test the first time, I sure the heck understand them now! The level of experience that I took away from just the qual labs and studying is invaluable.
This was a personal goal, a way to prove to myself that I could take my skills to the next level. Looking back on where I was before I started this program, I can say it was definitely worth my time to better myself as a SharePoint professional. I learned so much throughout the program and made so many friends through the experience that professionally it was worth the investment. I can now speak much more confidently about how the product works. I now have a network of peers who went through the same certification process and passed, and I have this incredibly rich network of professionals to draw from. I can sit in a room with the lead architect of a Fortune 50 company and provide factual guidance on how something should or should not be implemented. I gained the respect of my peers because I showed so much dedication to finishing what I started.
For me, this was much more than trying to just get a promotion at work. Actually, I haven’t yet realized any monetary rewards and I’m not sure that I will, but I have gained a few new opportunities that otherwise I would not have had. For me, the real payoff was the sense of accomplishment, something I can show my kids that I didn’t give up and that I worked extremely hard to achieve a goal. Not everyone will appreciate just what it took for me to accomplish this goal, but my family knows.
I did it. I set a goal, I worked hard but not hard enough, then I buckled down and really pushed through. I am proud of myself, and not at all ashamed to tell anyone how hard I worked towards this goal. I don’t brag about being an MCM and don’t flaunt my credentials, in fact it was a tremendously humbling experience. That said, I am not at all bashful about telling you how hard I worked to get there. And I certainly am telling my kids.
There is nothing more valuable to me than being able to show my kids that it was tough, but if you work hard you can achieve your goals. Once you accomplish your goals, sit back, reflect, and appreciate the hard work that you put into it and share that with others.