This week I’m focusing on the Microsoft Certified Master program. I’m making a run at the MCM certification for SQL Server 2008, and from the outside, the whole thing looks pretty overwhelming.
How do Microsoft certifications work?
Microsoft exams are about $125, and people usually self-study for them if they’re knocking out exams one at a time. When you pass any one exam, you become a Microsoft Certified Professional (MCP). That one designation by itself doesn’t hold much weight.
Microsoft has designed several groups of exams that roughly line up to job descriptions. If you take the 70-432 exam (SQL 2008 database implementation) and the 70-450 exam (designing and maintaining a database), then you’ve earned the right to call yourself a Microsoft Certified IT Professional (MCITP) for SQL Server 2008 database administration. How hard are these exams? Well, there’s been some debate in the past about whether you really need experience in order to pass the tests.
Training companies offer boot camps; in a single week of long-working days, trainers cram attendees’ brains with everything they need to pass the tests, plus they take the tests that same week. Attendees don’t need experience working with the certification subject areas – they just need general experience working with SQL Server in some related area, like programmer, network administrator, or junior DBA. They’re basically taking a week off and writing a $5,000 check to get their MCITP.
The controversy comes in when you start to ask whether a certification from a boot camp really means anything. I’ve worked with boot-camp DBAs in the past, and within a month of the training, they’ve forgotten most of what they learned. Is the attendee just writing a check for their certification, or are they getting a training value too? If they truly wanted training, a crash-course boot-camp covering the entire MCITP subject spectrum is a pretty bad way to do it.
What’s the Microsoft Certified Master program?
It’s a three-week on-site program in Seattle that costs $18,500 (hotel, meals, airfare, vacation time not included). Microsoft staff and highly-regarded outsiders (Adam Machanic, Greg Low, Kimberly Tripp, Paul Randal, etc.) train attendees on really advanced topics that they probably haven’t worked with in that depth before. During the event, attendees take a series of tests, and if they pass ‘em all, they’re a Microsoft Certified Master.
Okay, you caught me. From the outside, the MCM program’s mashup of training and tests looks an awful lot like a boot camp, but there’s a few key differences.
The boot camp application process consists of writing a check, whereas the Microsoft Certified Master program has a rather hefty list of prerequisites:
You must hold MCITP certifications for both SQL Server 2008 database developer and database administrator
One page document detailing a project you’ve contributed to, with details about your role and your contributions
One document you’ve authored demonstrating your deep knowledge of SQL Server
5 years of experience installing, configuring, and troubleshooting SQL Server 7.0 or newer, plus at least a year with SQL 2005 or newer
Thorough understanding of SQL Server design, architecture, OLTP, HA, DR, tuning, storage, security, etc
The MCM leads review the applications and give you the thumbs up or down, but unlike boot camps, simply getting in the door isn’t a guarantee that you’ll get certified. Check out the list of SQL 2008 Masters, and count the number of people who don’t show “Microsoft” as their employer. As of this writing, more people have walked on the moon than non-MS folks have achieved a SQL 2008 MCM.
It’s expensive, and the odds are stacked against you.
So why on Earth – or the moon – is Quest sending you?
My talented and gracious employer, Quest Software, builds a lot of software for – and with – SQL Server. We’ve got stuff to back up SQL Server, to make SQL Server go faster, to develop SQL Server stuff easier, to monitor SQL Server, stuff for SharePoint’s SQL Server databases, and more. Even our non-database software ties into SQL Server, because many of our products store data in SQL Server repositories. We’ve got a few thousand employees, many of which are tied to SQL Server in one way or another. (Our expense reports are done in Oracle, but I’m working on that.)
Since coming to work here, I’ve been totally blown away by the complexity of the SQL Server questions, like:
Is there a way to get DMV information back faster? Some DMVs take too long. (And I’m not talking about the index ones either.)
Can we track what’s fragmenting the virtual address space?
<NDA> (Well, I can’t tell you some of ‘em!)
The more we know about SQL Server, the better our software gets. We sell more licenses, we take less support calls, and we do things our competitors can’t. Consulting companies are sending people to get their MCM for the same reasons – they want an edge in the market that will help ‘em close more deals, raise their hourly rates, and support clients better.
Yeah, but why is Quest sending YOU?
I know, right? It’s bizarre. We have a company chock full of people who really, really know SQL Server, and somehow I got lucky on this one. Here’s the answers I came up with:
Everybody else was too valuable to be out of the office for 3 weeks
They got tired of me blogging about Lady Gaga and the Slap Chop
All those edible bouquets I sent my boss Christian finally paid off
Okay, maybe there’s another reason: I blog, write, and present. Because I put myself out there, Quest gets twice the bang for the buck. They get marketing value out of sending me because I’ll be blogging about the process and how it ties back to things I can do at Quest. Whether you’re a consultant or an employee, part of the value of the MCM is the value your clients perceive, and how much they’re willing to pay for it. The more visible you are, the more you can leverage your image to get the company to invest in you. I know I say this a lot, but if you want to get ahead long-term, you need to be blogging, presenting, and writing. The blogging part will tie into another entry later this week about the MCM process, too. Even if you don’t work for a software vendor or a consulting company, you’d be surprised by how excited your company executives get when their employees are featured in publications for their achievements.
Another reason is that I’ve chosen to keep my career on the technical side rather than the management side. I’ve dabbled enough in management to know that I suck at it, and that I really don’t enjoy working on those skills. I’d rather dive into something technical and make bits jump thr0ugh hoops. I think of the Microsoft Certified Master program as a PhD for modern geeks.
In tomorrow’s entry about the MCM, I’m going to vent about one of the prerequisites for applying to the MCM program: the 70-433 and 70-451 exams.
When SQL Server 2008 came out, I heard a lot of grumbling at PASS from production DBAs. They didn’t like the focus on business intelligence, and they felt like there wasn’t enough meat on the bones to solve real-world production problems.
When SQL Azure came out, they grumbled more. Developers love Azure because they can use SQL Server without talking to database administrators. DBAs dislike Azure because it circumvents the security, disaster recovery, and tuning features we’ve got in the real thing.
“SQL Server 2008 R2 has been primarily focused on enhancements in the BI area to support the upcoming releases of Office 2010 and SharePoint 2010. This left precious little development resources to devote to improvements to the basic relational database engine in SQL Server 2008.”
The three improvements in R2’s engine are support for >64 cores, unicode compression, and improvements to concurrency in high volume situations. That’s it. Read it again if it makes you feel better, or read it backwards and pretend there’s another three, ‘cuz that’s all you’re gonna get.
SQL Server Licensing for Virtual Environments
It gets worse – R2’s licensing has an ugly change for shops who use virtualization. Right now, if you buy SQL Server 2008 Enterprise Edition now by the CPU, you get unlimited virtualization rights. If you’ve got a 4-socket virtual host and you buy 4 sockets of Enterprise Edition, you can run as many SQL Servers on that host as you want. From Microsoft’s SQL Server 2008 Licensing Guide:
“For enterprise edition there is an added option: if all physical processors in a machine have been licensed, then you may run unlimited instances of SQL server 2008 in one physical and an unlimited number of virtual operating environments on that same machine.”
You may not be running SQL Server widely in virtualization environments yet, but ask yourself how many SQL Server 2000 and 2005 instances you’re running today. SQL Server doesn’t just go away – the instances you install today will still be in production for years to come. They might not be virtualized today, but they’re gonna be virtual years from now, and today’s licensing saves you a fortune.
Microsoft sees that coming, and they’re changing it in R2. Review the SQL Server 2008 R2 Editions PDF and you’ll find that R2 Enterprise Edition doesn’t come with unlimited virtualization. To get that feature, you have to spring for the new Datacenter Edition, which costs around $60k per CPU socket.
Buy Now, Upgrade Later
If I was a DBA with a budget to buy SQL Server licenses this year, I’d make that purchase now. In May, Enterprise Edition’s price is going up, and it will have less licensed features. I’d buy it with Software Assurance anyway, so I’ll get R2’s new features if I want them. If I didn’t want those new features, I’d still have the flexibility of running unlimited SQL Server 2008 instances in virtualization.
Just a fancypants name for a linkpost. I originally scheduled a Fusion-IO drive review to go live today, but I’m still working with them to iron out some issues, so that’ll come the week after next. Next week, I’m covering the Microsoft Certified Master program.
Using Perfmon to Capture VMware Host Statistics – I haven’t tried this yet myself, but it looks awesome. I’d love to be able to capture Perfmon stats for my database servers and include the host’s usage levels too. If anybody’s used this, let me know.
Removing Columns Doesn’t Decrease Table Size – I read the title and I thought Michael Swart was pulling my leg. The fact that I learned something by reading this makes me think I’m not ready for the MCM program. I have moments like this whenever I read a bunch of blog posts in one sitting, and I’m glad Michael blogged this.
Presentation Zen: Storytelling Tips from Ira Glass – this guy hosts a really compelling storytelling show on NPR that might just be the best thing on the radio. Just reading the article title alone made me say, “Wow, I know where my presentations are going next.”
Stephen Fosketts on Vendor Blogs – I work for a vendor, but I never stopped to think about whether people might consider my blog to be Quest-sponsored propaganda. I’m pretty hardcore about transparency, and I’d never dream of being anybody’s sock puppet. Stephen’s excellent series made me stop to think about how I portray myself and my content, and it made me realize that I have to do better. I know I’m not misleading anybody about anything, but if a stranger walks into this blog, how do they know I’m not a typical vendor blogger? I gotta work on that.
PASS Acquires SQLSaturday – okay, see, here’s where I have to do a good job of telling you what I think as a community member versus what I think as a vendor.
Brent the SQL guy says: “This is great! Now there’s a logical progression to events: we have monthly local events, yearly regional events throughout the year (SQLSaturdays), and a couple of big continental Summits (Seattle & Europe). The local events can promote SQLSaturdays, and they can all promote the Summits! HQ will give SQLSaturdays the support they really needed right? Plus, vendors have just one touch point to sponsor everything in the US SQL community.”
Brent the vendor guy says: “PASS keeps telling me HQ is overworked, and now they have to manage SQLSaturdays too? Local chapters were already promoting SQLSaturdays anyway. The PASS organization already failed at promoting regional events with the Community Connections program that you probably didn’t even know existed, and there’s the problem. What’s going to be different here? And about that one touch point – we still have to talk to every local chapter who wants money, because money doesn’t flow down evenly to the local chapters. We’re still going to be writing all kinds of checks.”
Brent’s consensus says: “The reason SQLSaturdays succeeded was Andy Warren, Brian Knight, and Steve Jones. These guys have consistently been able to kick start amazing things and hand it off to other people once it’s up and running. This might work, but it’s up to PASS now to prove it.”
Brent the SQL guy says: “Kevin is absolutely, without a doubt, the most friendly and humble community member I have ever met, and he deserves this award and so much more.”
Brent the vendor guy says: “Kevin is absolutely, without a doubt, the most friendly and humble coworker I have ever met, and he deserves this award and so much more.”
PowerPivot Cookery – Andrew Fryer explains PowerPivot by cooking a meal and cleaning up afterwards. Watch this for two reasons – one, you’ll learn PowerPivot, and two, the built-in links inside the video are really compelling. This one video made me rethink the way I deliver video at SQLServerPedia, and we’re starting to move to YouTube.
The Cranky PM exposes bloatware – yep, working at Quest, it’s pretty much like this too. “We can’t get rid of that feature! Someone, somewhere might be using it!” This is how we end up with Toad’s infamous options screen that actually has a search box because there’s so many options. (I’m not sure whether that was coming from Brent the SQL guy, Brent the vendor guy, or both.)
Use One Login to Run DMV Queries – empower your junior DBAs and developers to query DMVs that would normally require a higher level of permissions.
Which Media Center is Right for You? – in-depth comparison on Lifehacker between Boxee, Windows, and XMBC. They didn’t include Apple TV, and they shouldn’t. I’m an Apple fanboy, and I do own an Apple TV, but lemme tell you that it is one seriously niche product. It’s delightfully easy to use, but like many of Apple’s products, it doesn’t do everything the competition does. If you want the absolute easiest way to rent videos, play music, and show photos, and if you organize your stuff with iTunes and iPhoto, then there’s a chance you’ll like the Apple TV. I’ve got a bunch of AV gear, but when we want to watch movies, we inevitably end up using the Apple TV because it’s just so gosh-darned easy to use.
Paul Randal’s Doing Performance Testing – if you’re interested in how he tests table loads and what he looks at for performance metrics, you’ll enjoy this series.
Why the iPad Isn’t Good for Browsing – I died laughing when I saw this. The author is trying to say that the iPad sucks because it doesn’t have Flash, and golly, without Flash, look at all the web sites that won’t render! Unfortunately, that post backfires – look at the sites he’s using as evidence. Me personally, I *hate* sites that rely on Flash, and the sites he’s using are great examples of sites I abhor. Flash is heavily abused in banner ads, games, and other crapware. Farmville? Seriously? I’d pay NOT to see that. (I do wish my iPhone and my upcoming iPad would do Flash though.)
You’re mad as hell, and you’re not gonna take it anymore, so you decided to start looking for another job. You put your resume on HotMonster, and within a matter of minutes, the calls from recruiters started pouring in. Here’s what they’re going to ask, and how you should answer.
“Can you send me your resume?”
Your answer: “Yes. What’s your email address?”
Have a nicely formatted Word doc with your resume ready to go at all times. Right now, during the call, open a new email, type their email address in, attach the doc, and put your name in the subject. Hit send. Do not answer another question from the recruiter until you’ve hit send. Don’t put anything fancy in the email body, don’t thank them for their time, just get your resume in their hands immediately. You want them to read through it right away so that they can ask you any related questions while they’ve still got you on the line.
Don’t worry about what they’re going to do with the resume. They’re going to stick it into their database and try to match you up with potential job opportunities. If you match, they’ll call you up and ask for your approval to submit you for the job.
“What’s your current salary?”
Your answer: “I’m looking for a position in the $XX’s. If the job has spectacular benefits – or none – we can adjust that number.”
Recruiters will follow up with, “Yes, but what are you making now?” I can be a jerk sometimes, and I’ve been known to answer, “I’m getting paid really crappy wages, getting really crappy benefits, and doing way too much work, and that’s why I’m looking for a job. If you wanna hook me up with another really crappy job, let’s just end this call now. If you’d like to find me a job that I’d love to take, I’m looking for a position in the $XX’s.”
Tailor that answer to fit your (much more upbeat) personality. If they keep asking for your current salary, there’s your sign. I talked about this in my post about Salary Negotiations During the Interview.
“Can you make this change to your resume to match the job?”
Your answer: “Yes, as long as it’s honest.”
As a DBA, I did a lot of things in my day-to-day work. When going after a particular job, a recruiter asked me to include my experience with using SQL Server Management Studio and installing SQL Server on local drives. I hadn’t bothered to include that on my resume, because I figured every DBA does that – it comes with the territory. The recruiter didn’t see it on my resume, and she wanted me to have the best shot possible at making a good first impression. Good recruiter.
When going after another job, a recruiter asked me to say I had replication experience. I didn’t. She said, “Go fire up SQL Server, get the book out, set up replication once, and that’s all you need. Trust me, you’ll learn on the job.” If she was willing to lie to the company like that, then she’d be just as willing to lie to me. Bad recruiter.
There’s a whole lot of gray area in between, and I can’t coach you on that. Your mileage may vary.
“Can you come in for an interview?”
Your answer here depends on how bad you need another job. If you need another job pretty badly, then yes, you need to go in to meet them, and you should bring a dozen roses. On the other hand, if you’re happily employed and they’re trying to lure you into another gig, it’s up to you. The recruiter might indeed have an amazing job for you, but that’s the exception rather than the norm.
Recruiters do want to meet you before they send you off to their trusted clients. They don’t want to look bad for sending in a sloppily dressed mess who can’t string a sentence together without staring off into space. I understand where they’re coming from, but at the same time, they don’t need to meet me if they don’t have a position available right now. There’s one headhunter company that aggressively asks for face-to-face interviews without actually having any positions – they imply that they might have something, but they want to see you first. They’re slimeballs, and they don’t respect your time. It’s fair for you to protect yourself from those kinds of requests.
When I’m happily employed, my response is, “I’m not really looking right now, and I wouldn’t want to alienate my employer by sneaking off during work hours to meet with recruiters. That would send my boss a really bad sign. If you have something that sounds like a really good fit for me, go ahead and tell me about it now. If it sounds really attractive, I’d be happy to meet you for lunch near my office, but let’s get the details out of the way first.”
“Are you working with any other recruiters?”
Your answer: “Yes, but I understand how the recruiting process works, and I commit to you that I will let you know whenever any recruiter tries to submit me at any company, no matter who it is.”
When Recruiters Meet
Recruiters make money – a lot of money – when they submit a candidate for a job, the candidate takes a job, and the candidate stays on the job for X months. They make so much money that they will fight desperately for their fees. If two recruiters submit the same person’s resume for a job at a company, the company may throw out the candidate altogether rather than deal with these cat-fighting recruiters.
Recruiters want you to work exclusively with them. They’ll promise to work really hard for you, but they say you have to trust them and only work with them so that everybody’s protected. But if you’re like me, you don’t know whether a recruiter has lots of connections or none. I didn’t want to exclusively hook up with some junior recruiter who’d never placed anybody before. That’s why I wouldn’t stick with any one recruiter no matter how many beautiful promises they made me. I talked more about this in my post, Recruiters are Not Your Friends or Your Enemies.
“Have you seen any positions out there that interest you? I can get you in the door.”
Your answer: “I’ve just started looking, so I don’t know yet. Have you seen any positions that are a fit for me?”
Recruiters have their own list of companies that they work with regularly. When these companies need a person, they call their favorite headhunter first. The bigger companies even have contracts directly with one specific recruiting company. Whenever a recruiter calls you, they know exactly what positions are available at their own clients, but they also want to submit you anywhere else that you might be interested. They want to represent you everywhere, because they’ll make money off you no matter where they submit you.
If you get your foot in the door at a company, you can sometimes negotiate a signing bonus or a better salary if there’s not a recruiter involved. This doesn’t always work – heck, it doesn’t even USUALLY work – but if you’ve got in-demand skills and a good business head, you can pull it off. That’s one reason why you might want to submit yourself directly to companies that post jobs rather than asking your recruiter to submit your resume.
The recruiter will say they’ve got contacts inside the company – and they might. They’ll say they’ll be able to push your resume to the top of the pile. Even better, though, would be if you had your own contacts inside the company who can vouch for you personally. This is why it’s so important for you to network, and I talked about that in my post on How to Get a Better Job.
“Can you send this job ad to your friends?”
Your answer: “Yes, as long as it includes a job description and a salary.”
If a recruiter’s desperate enough to ask for help from strangers, that means they’ve already exhausted their network. Nobody in their network is interested in this particular job. Maybe the demands are too high, maybe the salary is too low, or maybe the recruiter just flat out doesn’t have any friends. All of those are danger signs.
Don’t simply forward bad jobs along to your friends. Rather than having 10 people deal with a bad job, filter it out right away by asking for the job requirements and salary. Most recruiters will balk, and that’s fine. I talk more about this in my post about How to Reply to a Recruiter Email.
“If you pay me, I’ll work harder for you. Whaddya say?”
Your answer: “That sounds interesting. Can you give me some references from other people in my profession?”
There are good executive talent agencies out there at the C*O level. You, my friend, are not at that level. The techniques and contacts that executive agencies use to place their C*O friends won’t work to place their SQL friends.
If you’re still tempted, take the cost for this recruiter, think about how much time it would take you to make that money, and ask yourself what else you could do in that same time. If it would take you 40 hours to make that money, why not take those same 40 hours and:
Write a guest post for someone’s blog or do a podcast with them
All of those things will get you more exposure to the SQL Server community than hiring a talent agency, which brings me to my final point.
If you’re looking for a job, tell your trusted friends.
The SQL Server community members know what it’s like to look for a job, and they know other people who might be hiring. They are your fastest route to a good job. They’ll put your resume on the top of the pile, or better yet, you’ll be the only resume in the pile. When you’re good, and when your peers know you’re good, they’ll create positions for you or they’ll sneak you right in without going through a whole public process.
My answer: it depends. (Hey, I’m a DBA, right? Isn’t that always the answer?) My favorite salary negotiation book recommends postponing the salary question as late as possible during the hiring process, but I don’t think that’s realistic. I don’t go house shopping without looking at prices.
How to Give Your Salary During the Interview
When you’re desperate to get out of a bad job, you have to play ball. They’ve got something you want. You shouldn’t lie, but you shouldn’t give them an exact dollar amount, either:
“My current salary is in the seventies, but that’s part of the reason why I’m looking for other opportunities. My current company doesn’t offer a competitive salary, doesn’t pay for training, and doesn’t share on-call rotations. It’s a great place to get started and prove yourself under fire, but they haven’t been rewarding hard work. I’m looking for a company where I can work hard, keep my skills sharp, and get rewarded for keeping their most valuable data safe.”
With that answer, they’re going to be hesitant to offer you a salary similar to what you’re making now, and they’re going to think about the training package. During conversations like this, you have to make sure to point out that you’re willing to bust your hump. Even better, build them a 30-90 day plan of what you’d like to accomplish as you take over responsibilities.
When Not to Reveal Your Salary
If you’re happy with your current job, and someone is trying to sweet-talk you into changing companies, then you’ve got the upper hand. You have something they want. In that case, I approach it with:
“Right now, I’m really happy with my salary, but it’s only a part of the picture. I’m also happy with my manager, my coworkers, my training benefits, and the work we’re doing. If I just wanted money, I’d be a hired gun consultant by now. Let’s make sure the rest of our needs fit before we talk money.”
Segue into a discussion about how you’d like to go to industry conferences and why it pays for them to send you. If they’re interested in having the discussion, then they’re interested in your well-being as an employee. If they don’t even want to talk about things like that, well – you just learned a little something about them.
If they keep pressing for your salary, don’t give them your current number – give them the number it would take to get you to switch. They’re going to balk. They’re going to say the number’s too high. It doesn’t matter what number you quote – they’re going to haggle. If they’re a good company, they never overpay for anything. They’re going to say you’re crazy and that you’re out of touch. You can respond with:
“I know you’re used to paying a lot less – but are you happy with what you’ve been getting at those rates?”
I guarantee you that works, because they’re the ones who sought you out.
If you’re happy at your current position, stand your ground. Several times in my career, I’ve had companies tell me my “switch” salary range was ludicrous, but they came back to me weeks or months later with a close offer. If you’re good – and if you’re reading blogs like this, you’re good – then companies will hire idiots cheaper, get their databases shrunk, and come crying to you for help later. Be confident in yourself, never stop learning, and never stop networking.
When to Lie About Your Salary
Never. You’re an IT professional, and they’re a businessperson. Guess which one of the two is closer to con artist. You can’t lie anywhere near as well as they can, and they’ll sniff you out miles away. The instant they know you’re lying, they’ll lose respect for you, and that’s the end of your happy employment before it even starts.
Mark Richman (Blog – Twitter) wrote a thought-provoking post about why he never bills by the hour. He uses a fixed-rate, value-based billing system; he works with the client to build an exact estimate first, comes to an agreement on the price, and then starts work. I do like that approach, but I haven’t been able to make it work for my own side work (performance tuning).
I like Mark, and I subscribe to his blog because he makes me think about my stances. I’ll quote each of his points, and then explain why I disagree.
“1. There is a cap on your investment. You know exactly what is to be spent and there are no surprises.”
When you take your car to the mechanic, there’s two reasons why they ask for your phone number: to call you when the car’s done, and to call you if they found more things the estimate didn’t cover. It’s up to you, the customer, to decide whether or not you want to put the car back together without fixing it, or whether you want to eat the costs for the other things they found.
You can has surprise.
The only times I’ve seen a perfectly estimated IT project was when the project manager swept all surprises under the rug:
“We won’t tell them about that emerging problem – we’ll just wait until it actually jumps out on its own and bites them in the rear, and then it’ll clearly be unrelated to the work we’re doing here. Otherwise, they’re going to say we found it and we need to fix it even though it’s out of spec.”
Fixed billing means that every new problem turns into a blame game – with hourly billing, the politics are completely removed. Decide if you want to fix the problem, and decide what it’ll cost – rather than padding the initial bill with wildcard numbers for potential problems that might pop up down the road. In the comments on the original post, Mark and others suggest that the answer to new problems is to submit a new proposal – but wait, I thought there was a cap on the investment and there wouldn’t be surprises? Hmm….
“2. There is never a meter running. You do not have to worry each time my help is requested that I might be here for an hour, a day, or a week.”
As a consultant, my worst nightmare is a client who expects to snap their fingers and have me show up instantly – and permanently. I’m no genie, and you don’t get unlimited rubs on my lamp.
There’s a word to describe people that you can call on for unlimited help at any time: employee.
“3. It is unfair to you to place you in the position of making an investment decision every time you may need my help. Otherwise, you’re trying to determine the impossible: Is this an issue that justifies a $2,000 visit or a $500 phone call. No client should ever be in that position.”
I feel the exact opposite: there is nobody better than the client to determine how painful an issue is. If you don’t feel that the issue is worth paying me for a few hours, then let it wait until our next scheduled meeting. If the issue is causing your business a ton of pain and you see value in paying me to fix it, then pick up the phone and let’s make the magic happen faster.
“4. Your people should feel free to use my assistance and to ask for my help without feeling they have to go to someone for budgetary approval. This only makes them more resistant to sharing their views, and at best delays the flow of important information.”
Just one more item on the agenda...
I like my clients. If I’ve got a relationship with a client, I genuinely care about their team and what they’re trying to accomplish. However, even my best friends have to respect my time. The best way to illustrate this is with internal meetings. How many times have you been sucked into time-wasting meetings that don’t have an agenda and don’t accomplish anything? This is what happens when nobody values time. If each person in the meeting had an hourly price, and that price floated over their head in a bubble, you’d better believe meetings would finish a lot faster.
I encourage my clients to email me anytime, no matter how small the problem. If it’s something I can fix over email, I do it without charge. Like Mark, I want to encourage the flow of important information, but time-consuming meetings and phone calls aren’t the only way to get information across. They’re the most expensive ways, and I want to cost you less.
“5. If I find additional work that was unanticipated but must be performed, I can do it without having to come to you for additional funds. In those instances, legitimate, additional work would otherwise be viewed as self-aggrandizing and an attempt to generate addition hours or days.”
If the client trusts the consultant, then they won’t see it as self-aggrandizing or a push for more billable time.
If the client doesn’t trust the consultant, then it doesn’t matter what billing system is used – the client’s going to suspect the bill is padded.
“6. If you find additional, related work that must be done, you can freely request it without worry about increased costs.”
Under fixed billing, it’s up to the client to *prove* that the work is related and that it must be done. Fixed billing creates this conflict between client and consultant, and this review process never ends.
Under hourly billing, you can bring me any work you’d like – related or unrelated. If your project changes scope midstream, it’s not a problem. Whatever you want me to do, I can do without arguing about whether it’s related. I find this relationship works better both as a consultant and as an employee – I just want to deliver satisfaction, not a set of fixed deliverables, because nothing’s fixed.
“7. The overall, set fee, in relation to the project outcomes to be delivered, is inevitably less of a proportional investment than hourly billing.”
I’m not quite sure what this is saying. If it’s saying set fees are inevitably lower than hourly, I just don’t agree. The word “inevitably” needs evidence.
“8. If conditions change in your organization, you wonít be in the difficult situation of having to request that the project be completed in less time. The quality approach is assured, since the fee is set and paid.”
Translation: all sales are final.
With hourly billing, if the client’s conditions change, their options are always open. If you decide you’d rather have internal staff complete the project, you can do that. If you’d like to bring in more consultants, you can. If you just want to pull the plug, you can.
“9. If I decide that additional resources are necessary, there is no cost to you and I can employ additional help as I see fit.”
I'm not sayin, I'm just sayin.
If a consultant wants to work more without getting paid more, then it doesn’t matter whether they’re using fixed billing or hourly. They can just do it.
On the flip side, if I find out that LESS resources are necessary, the client is screwed under fixed billing. Or is Mark saying he’d refund some of the price? In which case, that’s not fixed billing….
“10. This is the most uncomplicated way to work together. There will never be a debate about what is billable time (e.g., travel, report writing) or what should be done on site or off site.”
The key to successful fixed billing projects is building a perfect spec before the work starts – and who pays for that? Before the consultant and the client can agree on a set of deliverables and a price, they have to build that set of deliverables. Building the list of deliverables takes time and effort – but who pays? It’s complicated. What if a consulting company helps you build your set of deliverables, but then you shop those deliverables around to other companies – and decide to go with another company? Do you pay them? Do you have to renegotiate the deliverables with the new company, especially if they disagree about related work?
Under hourly billing, it’s simple:
If I’m doing something for you at your request, you’re paying me.
As Editor-in-Chief at SQLServerPedia, one of my jobs is to check out what other wikis are doing, see how it’s working for them, and steal their ideas apply their knowledge. We used to try nominating an Article of the Month every month, but frankly, that just wasn’t working. People told me they don’t like to jump start articles all by themselves. So how do the big boys grow wiki articles?
Every month, Wikitravel.org chooses a single article to be the Collaboration of the Month. Authors focus their efforts on making this one article better, and then the following month, that article is featured as the Destination of the Month. It’s been really successful for them – read the comments about their 2009 collaborations, and check out how the editors celebrate the contributions from different authors.
Love it! I added a SQLServerPedia Collaboration of the Month page to focus on a different article each month. The page lists a number of ways you can contribute information. Our goal is to keep each bullet point to a minimum amount of work so that you can knock out a bullet point in an hour or two of work and raise your hands in victory.
For February, we’re focusing on the Wait Types article. Jason Strate (Blog – @StrateSQL) asked if he could help flesh out that article because there’s not a good repository for waits out there. I needed the exact same information for next month’s virtual training event. Presto – I love it when a plan comes together.
Flesh out skeleton pages whenever possible – some wait types are just complete unknowns right now, but some are fairly well understood (think CXPACKET)
Add queries in the T-SQL code library to check waits
Contributed content doesn’t have to be an exclusive at SQLServerPedia – if you’ve already written something and you’d like to copy some of that material into the wiki post, we’d love the help. Please email me first at Brent.Ozar@Quest.com before you copy any material, though, because I have to make sure you’re the rightful owner. I can’t have people copy/pasting somebody else’s work, and I’ll want to keep your email on file giving us permission to use the content.
I know it’s intimidating, but you – yes, you – are qualified to edit the wiki! Get yourself an account at SQLServerPedia, and there’s an Edit button at the top of every single page. Here’s a few links to help get you started:
How to Review Pages – includes the bare minimum standards for public articles.
And I hate to have to say this, but please don’t email me a list of changes for a wiki article. I love you, every single one of you, but I’m not your secretary. The magic of the wiki is that anybody can contribute, and you are anybody.
How SQLServerPedia Helps You Back
If you’ve written a great blog post about the Collaboration of the Month topic, or if you’ve been thinking about writing one, now’s your chance – add it to the Related Reading section of the article. After the one-month blitz finishes for the Collaboration of the Month, we’ll feature that article prominently in a webcast or podcast. This is a chance to bring a lot of new eyeballs to your blog.
We can’t feature every single post on the article, unfortunately, and the Editors reserve the right to prune that list. We’d like to keep it to 5 related blog posts per article, and we’ll favor wiki contributors over those who haven’t contributed.
Finally, I’d like to give something back to the contributors. I already know what kinds of prizes you want to win, but I need your help figuring out how to give a prize away each month as part of the Collaboration of the Month. Do we do a random drawing from everyone who contributed to the article? Do we try to judge the most valuable contribution?
Tom LaRock (Blog – @SQLRockstar) built a web site for his upcoming book, DBA Survivor, and he’s running a contest. Take a look at the banner photo of the site, and caption it:
DBA Survivor Caption Contest
My captions are:
“Somewhere out there, a database is crying out in pain. I can feel it.”
“So this is what an Oracle DBA’s office looks like?”
“I wonder if I could throw a developer through this window.” (Inspired by @SQLDumbAss.)
“Is that the SQLBatLight in the distance?”
“I finally found a view in this company that I don’t have to maintain – the Access guy washes the windows.”
Here’s how to enter the caption contest. Comments are disabled on this post because I don’t want people thinking they can leave a comment here and enter the contest.
The SQLBits conference in Great Britain videotapes their sessions and makes them available for public viewing. This weekend, they announced that last fall’s sessions are online now – and it’s all free!
Here’s my Performance Tuning for Race Car Drivers presentation. (Yes, I do insult Americans within the first 30 seconds, but I don’t think I do that again through the rest of the presentation. Maybe.)
If you like these, take a minute to thank them for this free training. I really applaud Simon Sabin (Blog – @Simon_Sabin), James Rowland-Jones (Blog – @JRowlandJones), and everybody else at SQLBits who puts on such a killer free event for the community, and then goes above and beyond by even making the video sessions completely free. Go get your learn on!
Want to learn about SQL Server in the cloud? I’ve got something for you too – check out the latest episode of RunAs Radio. I talked to the guys about Azure, which goes commercially live today.
Every IT professional should have a bug-out bag in the trunk of their car with enough stuff to let them hit the road for 24-48 hours straight. This gear helps you react more confidently to minor problems and major disasters. Here’s what I’ve got in my bug-out bag:
A polyester polo shirt. Hardly the pinnacle of fashion, but polyester can be rolled up for months at a time without holding permanent wrinkles. If I spill something all over the front of my shirt right before I need to be seen in public, this gives me a little bit of an insurance policy.
A couple of old t-shirts. These can serve as apparel or rags, whatever’s needed at the moment.
Swimsuit trunks. Because sometimes an opportunity for sailing or swimming just presents itself, and I’m not too fond of skinny dipping.
A power inverter. Plug this into your cigarette lighter, and you can power a couple of electric outlets for things like laptops, cell phone chargers or a coffee bean grinder. (Yep – I used that after a hurricane. Forgot to grind beans ahead of time for my Bialetti Moka coffeemaker that runs off a gas stove.)
Jumper cables with instructions. Every now and then somebody’s car needs a jump-start, and I never remember how these are supposed to clip on. I’ve tried the kind that plug in via cigarette lighters and had miserable luck.
A pocket road atlas. In my disaster recovery webcast, I explain that you might not be able to rely on the internet connection in your fancypants phone. This little pocket atlas helps me find routes around problems.
A padlock. I move around a lot, and every now and then I need to lock up a U-Haul truck or a storage unit.
Some tools, including an adjustable wrench, needle-nose pliers, and a screwdriver kit with socket fittings. I’m not handy by any means, but I can lend these tools to someone who can actually fix something.
A self-powered radio/flashlight/charger. I bought this Eton FR150 for $30 last year, and it’s a slick little device. It’s a small weather radio that also doubles as a cell phone charger, and it’s powered via hand cranking or solar cells. The manual says that 15 minutes of cranking equals around 1 minute of talk time, and I hope I never have to find out. It’s easy to crank, and the weather radio works great.
I’ve also got a few more things that aren’t pictured:
Bottles of water
A box of energy bars
A pair of old blue jeans
A pair of sandals (good for boating or hiking)
Phone charger and cables (I keep those in the glove box)
Copies of my insurance paperwork
In the webcast, I also explain other things database administrators should keep in their bag, like install CDs, license keys, and contact lists. I’m lucky enough not to have to support any production applications at the moment.
You can build a bag just like this for under $50 using things you’ve already got around the house. They’ll do you much more good in your car trunk. Hurricane season is coming again this year – why haven’t you built a bug-out bag yet?