Tag Archive: dba

I Think You’re Exceptional. No, Really.

A funny thing happened on my way to becoming a judge in the 2011 Exceptional DBA Awards.  But to get there, I gotta tell you a story about my dark past.

I used to be a developer.  No, wait, it gets worse: I coded web pages in Classic ASP, aka VBscript.  My idea of reusable code was stuff that I could copy/paste into multiple web pages.  I didn’t have a QA team – our idea of testing was to run it a few times on our own machines, and then keep an eye on it after we deployed it to production.  To me, the word exception will always remind me of exception handling, one of the many things I didn’t do well as a developer.

The bad news was that my code sucked, but the good news was that I knew it.  I wasn’t destined to be a developer, and I started transitioning into database administration instead.  I loved SQL Server, hardware, and performance tuning, so I began interviewing for jobs that would let me focus on that.

Along the way, I had a job interview that didn’t go well.  It was a company with offices in multiple states, and part of the interview involved a phone discussion with the head DBA in another state.  The DBA asked me, “If you wanted to monitor for exceptions and problems on your SQL Servers, how would you do it?”

I answered immediately without so much as a thought: “I’d buy an alerting package from a vendor.”

The DBA drilled down deeper, asking me how I’d build an alerting system with things like DMVs and SSIS, but I refused to budge.  I explained that my code simply sucked, and that it would take me way longer to build a collection utility – and even when it was done, it’d be garbage.  The DBA asked if I would use any of the freely available scripts at places like SQLServerCentral.com, and I could hear the DBA’s anger and dissatisfaction through the phone at my replies.  I just didn’t want to hassle with rolling my own software.

Needless to say, I didn’t get the job.  However, that experience pushed me harder to hone my skills. In my epic post Rock Stars, Normal People, and You, I documented my grueling struggle to take control of my databases, my career, and my life.  It was a long, hard road, and it all started with one simple thing:

Guess which one of us is not in IT.

Working in IT for a wine company is hard. Really.

I spent time in the SQL Server community.

I started reading blogs, watching webcasts, and attending presentations.  As I got my confidence up, I realized I could give back too, so I started presenting my own stuff.  The more I gave back, the more addictive it became.

I know you’re exceptional too – because you’re here.

When I go out and talk to people at conferences, SQLSaturdays, and user groups, I talk to people about what blogs they read.  Most of ‘em don’t have time to read blogs.  You’re already in the minority just by being here – you’re taking time out of your day to advance your knowledge.  You’re not getting paid to read my blog.  You’re doing this because you love what you do, and you love to learn.  That’s exceptional.  It’s outside the norm.  Sure, I know, you think you’re just one of thousands here in the online community, but it’s easy to forget that simply by being here, you’re already ahead of the curve.  You’re ahead of the tens of thousands of database professionals who never take the time to read blogs, watch webcasts, and attend presentations.

Red Gate just launched their annual Exceptional DBA Awards contest to honor people like you.  Yes, you.  And I want you to go enter.  Stop comparing yourself to the people up on the podium, and start comparing yourself to the people who never even bother to show up to free conferences in their own town.  You’re exceptional.  Stop thinking of it as blowing your own horn, and start thinking of it as being proud of what you do.  I know you love what you do, because you’re here reading this blog.

Trust me – I’m judging the contest.

I’m honored to say that Red Gate invited me to join Brad McGehee, Rodney Landrum, and Steve Jones in judging the 2011 Exceptional DBA Awards. We’re looking for people who don’t just do their jobs, but they go above and beyond – spending time reading blog posts, answering questions online, and giving back to others.

I’m really honored to be a judge because it’s a champagne moment for me.  See, several years ago, when I was struggling through that job interview with The DBA?  That guy was Rodney Landrum.

He was right to turn me down, because at the time, I wasn’t exceptional.  I didn’t read blogs.  I didn’t know DMVs well.  I didn’t give back to the community.  But you, dear reader, are already far ahead of where I was.  You’re exceptional, and it’s time you threw your hat in the ring.

Go visit ExceptionalDBA.com today and learn more about this year’s contest.

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.

Website - Twitter - Facebook - More Posts

Top 10 SQL Server DBA Interview Questions

I’ve put together my best questions to ask during an interview when I’m hiring a senior database administrator for Microsoft SQL Server or Oracle.  I don’t expect any DBA to ace all of these – I’m not looking for easy questions, but rather for the top ten questions, tough challenges to let the really good DBAs shine during the job interview.

10. Solve the FizzBuzz problem with SQL code.

Here’s a quote of the FizzBuzz problem:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

Challenge the DBA to do this on a whiteboard with pseudocode.  The code doesn’t have to be perfect syntax, but we’re looking for the ability to solve this problem clearly and quickly.  I’d ask this of any type of DBA, production or development.

There’s countless ways to do this, but I’m almost not as concerned with their technical accuracy as I am with the way they approach the problem itself. Do they get excited? Do they scribble out a few different ideas? Are they stunned at the thought of having to actually write T-SQL? Do they make excuses?

9. I’m a manager, and you’re my Senior DBA. Explain to me why we shouldn’t switch to MySQL or Oracle.

A senior DBA should have a basic grasp of the advantages and disadvantages of the major database platforms.  They’ve probably answered this question before, too – if not from a manager, then from a developer who’s whining because they think Platform X is better than Platform Y.

I also want to see senior DBAs that can clearly explain a very political concept without taking it personally.  My ideal DBA knows when his platform isn’t the right fit, and has no problem suggesting other ideas.

8. I’m a developer. Explain why I need a unique key on my table.

And really pretend that you’re a developer.  If you’re a DBA manager, bring in one of your toughest developers to play bad cop.  Challenge them – does it really improve performance or manageability?  How do you know?  Is it just your opinion, or where’s the proof?

If they can explain it in clear, easy-to-comprehend terms, that bodes well for their ability to communicate with other teams.  Speaking of inter-team communication…

7. A project manager needs a new SQL Server. What do you ask her?

Use a brochure from any third party application (like Microsoft Project Server or Blackberry Enterprise Server) and say the project manager wants to set this up.  I want the DBA to ask questions like:

  • How big will the database be?  (Leading to questions about whether we can add the database to an existing server)
  • How critical is the database?  (Leading to questions about clustering, disaster recovery, high availability)
  • What’s the company standard on virtualization?  (Can we save money by using a virtual server)

If the senior DBA candidate comes back with a shocked look and doesn’t know where to begin, then they haven’t done a lot of deployments.  That might be fine if your shop rarely does new deployments, or if you’re hiring a development DBA, but they still should have some basic knowledge about sizing.

6. When and where does the local user group meet?

I’m not asking if they regularly attend, I’m not asking if they speak, I’m not asking if they run for office.  At the senior DBA level, I’d just be thankful if they were at least vaguely aware that user groups existed.  Huge massive bonus points if they’ve been involved with the community, and I’d skip the next question.

5. Can you give me references from other DBAs and developers who aren’t at your company?

I want to know that they’ve got at least a couple of people they can call when the going gets rough and the servers catch fire.  These other references could be mentors, or could be people they’ve mentored or just worked with along the way.

I expect to get terrified looks, and I’d answer those by saying, “I don’t want to raise any red flags by calling people at your current employer, and I’m sure you know people who’ve left your company and moved on.  I just want to talk to people who’ve worked with you on projects or on problems.  I won’t ask for your level of technical competency, because these other guys can’t judge that.  I just want to know you’ve interacted with them.”

I know, it’s creepy, but here’s the problem: there’s a lot of fakers out there with all the right answers, but no actual experience.  At the senior level, for somebody with five or more years of experience, they have to have met other people who can at least verify they’re database administrators.

4. How do you learn new things?

When new versions of database servers come out, how do you prefer to learn how to use ‘em?

Ideally, I want to hear a DBA say they build their own server under the desk when the beta comes out, and start hammering it and getting their arms around it long before it gets released.  Not everybody has that much time, though – they might be stretched to the breaking point at their current job, with barely enough time to get their work done, let alone train on new versions.  In that case, I like to level-set them by saying, “You’re coming to work here because we’re not that kind of shop.  I want you to keep your knowledge current.  How much time per month do you need to keep current, and how would you do it?”

Some DBAs learn best by going to offsite training classes, and can’t budget their time well enough or maintain a train of thought to learn inside the office.  As a manager, you want to know that before you hire the person, so you can build that training budget into their salary.  (You don’t want unqualified employees, do you? Yeah, you probably do – I’ve worked for you, ha ha ho ho.)

3. What third party database tools are your favorites?

If somebody’s been doing database administration long enough to claim the title Senior DBA, they’ve built up a little wish list of database management tools they’ve seen along the way. Tool types might include:

  • Data modeling
  • Change management
  • Backup compression
  • Performance monitoring
  • Alerting

If they had a $X tool budget for their workstation, how would they spend it?  Forget corporate standards – I want to know what tools they’d use if they could pick on their own.  I’m not asking what software they’ve had experience using, because they might work somewhere so cheap that they’re restricted to native tools only.  They have to have at least seen some ads for products that looked cool, though.

I might follow up with questions about tools we were using in-house already by saying things like, “We’re currently using Product X for monitoring.  Have you seen it?  What’d you think of it?”

This does two things: it gives me an outside opinion about other tools out there that my DBAs could be using to do a better job, and it tells me how much the job candidate has seen.

2. Ask stressful questions.

In one of the earlier questions, you probably found an area of weakness for the DBA’s knowledge – heck, nobody’s perfect.  Go after that weakness.  Challenge it, make them uncomfortable, and really push their buttons.

This is your one chance to see how they handle stress before the brown stuff actually hits the fan.  Ideally, a senior DBA is someone who’s had their cage rattled more than once, and they’re comfortable under the gun.

No, don’t use an actual gun during the interview – but that reminds me of a plastic slot machine I used to keep on my desk at the office.  When you pulled the lever, it shot water straight at you like a squirt gun.  Always fun to see how somebody handled that one, but I wouldn’t let job candidates pull the lever.  That’s a little overboard!

1. Why are you here?

Zoom out to the big picture.  Tell me why you’re in this chair right now.

Is this some sort of career plan? Have they heard good things about the environment from another employee? Are they looking for an employee discount on products?  (It doesn’t work at wine & spirits companies, just for the record.)  Or are they just desperate?  Nothing wrong with desperation, but remember that desperate employees are desperate for something, and you’d better find out what it is.  If they’re desperate for money, it’s going to color the judgements they make.  I’m not worried about someone stealing data and selling it as much as I’m worried about someone taking the job and then bailing out shortly thereafter for just a little more money from somebody else.

Top DBA Interview Questions That You Don’t See Here

I’ve seen DBA managers asking questions about tough challenges that had come up recently in the shop, such as, “Pretend you have horrible TempDB contention, really seriously bad load, and you have to fix it.  What do you do?”  The candidate would then name off all kinds of answers while the DBA manager sat back and said, “Nope.  Didn’t work.  Tried that too.  Nope.”  The DBA manager feels more and more smug while the candidate feels more and more frustrated, and the end result is a DBA manager that thinks the candidate isn’t good enough for the job.

The problem with that scenario is that the DBA manager expects the candidate to be able to answer a question that had already stumped their own staff.  I always want to grab that manager and say, “Look, if I was interviewing YOU with this question, you’d have failed, because you couldn’t figure it out in sixty seconds either!”

If you’re going to ask a candidate a technical question, my rule of thumb is that it should take your existing staff the same length of time to answer the question.  If a technical challenge took your staff three days to figure out, then you should expect the job candidate to take that same length of time to answer the question!

Want help interviewing your DBA candidates?  Check out our services.

Brent Ozar PLF Team

Brent Ozar PLF is a boutique consulting firm focused on understanding your environment and strategy. We partner with you to objectively identify pain points and develop solutions that align to your business goals. Your experience comes first; we share our knowledge and expertise to help you.

Twitter - Facebook - More Posts

8 DBAs talk about their jobs

OdinJobs.com interviewed eight different DBAs from completely different backgrounds and careers.  The one thing we’ve got in common is that we blog, but outside of that, we’ve got wildly different points of view about the career and what we like about SQL Server.

I shall now copy/paste Jason Massie’s hard work at listing each person’s blog URL and feed, because I have no shame:

The Panel Blogroll

Inside the articles, the links don’t work too well, so you can jump to the three parts from here:

I love reading articles like this because they tell me a lot about the people answering the question.  I got a chuckle out of Pinal Dave’s answer to the question about the differences between production DBAs, development DBAs, and SQL Server Developers.  (Pinal – if you read this, no, we are not all the same, and I’ll buy you a drink at PASS to tell you about some horror stories there.)

More DBA Career Articles

  • Moving from Help Desk to DBA – a reader asked how to do it, and I gave a few ways to get started.
  • Development DBA or Production DBA? – job duties are different for these two DBA roles.  Developers become one kind of DBA, and network administrators or sysadmins become a different kind.  I explain why.
  • Recommended Books for DBAs – the books that should be on your shopping list.
  • Ask for a List of Servers – DBA candidates need to ask as many questions as they answer during the interview.
  • Are you a Junior or Senior DBA? – Sometimes it’s hard to tell, but I explain how to gauge DBA experience by the size of databases you’ve worked with.
  • So You Wanna Be a Rock & Roll Star – Part 1 and Part 2 – wanna know what it takes to have “SQL Server Expert” on your business card?  I explain.
  • Becoming a DBA – my list of articles about database administration as a career.

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.

Website - Twitter - Facebook - More Posts