I'm a forty-something Microsoft SQL Server DBA of 12+ years, a devoted husband, and a father of two young boys (with another coming soon!). I have been a DBA at a university, at a major bank, at a healthcare system, and I now work as a consultant with customers across the United States.
This month’s T-SQL Tuesday
is hosted by Boris Hristov (blog
) and his chosen topic is “Interviews and Hiring” – specifically interviewing and hiring of SQL Server Professionals.
This is an interesting topic to me since I have given dozens of interviews over the years and conversely have taken very few – probably less than ten.
As an interviewee it is always interesting to watch for the curve ball or the trick question, and it is actually a little disappointing those few times it doesn’t come.
Most of them are pretty mundane but thrown in with actual technical questions, often to try to break the interview's rhythm:
- What is your SSRS experience?
- What is the difference between putting filter criteria in the WHERE clause and in the JOIN clause?
- Why is the sky blue?” (Blue light has a shorter wavelength and therefore is scattered by particles in the air – or maybe “Because IBM bought it” although this becomes less and less relevant as IBM becomes less and less relevant.)
Others are meant to be nerd-funny or start pseudo-religious arguments:
- Star Trek or Star Wars?” (Trek – DUH!)
- What...is the air-speed velocity of an unladen swallow?” (African or European?)
- My personal favorite “Why can’t your cross the streams?” (“It would be bad” is acceptable but the better answer is “Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light.”)
As an interviewer my curveball questions usually come as a follow-up to some answer given to a straight question – for example, when I was working at the University of Nebraska-Lincoln and giving interviews for our Business Computing group:
- Why do you want to work for us?
- I have heard you have good educational opportunities and because I want the stability of working for a public institution.
- Have you done your research – we had large budget cuts the last three years running – do you consider that stable?
Questions like this are useful because they not only put the interviewee a little off-rhythm but they also raise a relevant talking point for further discussion.
I also like asking the funny/nerd questions (“Which of the thirteen dwarves of Thorin
are you most like and why?”) because it opens the door to the interviewee that I am a humorous, (and at least moderately geeky) employee and that the workplace has that tone as well (if it didn’t have that tone then I wouldn’t be there in the first place to be interviewing you!)
You may have noticed that I have brought up the concept of throwing an interviewee off-balance or off their rhythm a few times during this post – I want to reinforce that this isn’t because I am mean or a jerk, as many interviewees seem to think after hearing about an interview like this. After a relatively successful response to an “off-balance question” I always tell the interviewee that I see an important part of any DBA’s job is the ability to respond to the unexpected, even while focusing intently on something else. We spend too much of our careers - whether as a company DBA, a professional consultant, or a managed services DBA - shifting gears at a moment’s notice. It never fails that when I am working on a major year-long project that has a deliverable Friday and I suddenly have to respond to a page that just came in for a disk full – and then five minutes later another page for a server down!
Another important related skill for a DBA that many interviews don't cover is determining which fire is more important – the answer to this is always “It Depends” – not just because that is the right answer to most IT questions 95% of the time, but because it really does depend. Maybe the server down is for an internal infrastructure server at Client A that is important but can wait an hour, while the Disk Full from Client B is on their monster OLTP cluster that runs all of their online business – suddenly Disk Full sounds pretty important, doesn’t it?
I have always been a fan of the soft skills questions such as the ones described here over the hard technology questions. While we do have to ask technology questions to know whether the interviewee understands the difference between a server and an instance, several key items that were new in SQL version XXX, or why we should almost always configure Max Server Memory, I am not a fan of the BOL-style questions – “what is the third parameter by position of sp_add_jobschedule?” or “What are the Registry Keys that you can edit to enable SQL Agent mail from the command line, and what is the extended stored procedure you use to do so?” I have always believed that as long as you understand the concepts and the processes, I can teach you the specifics of the technology.
The technology changes too fast to keep up with every little bit and byte that changes between versions – I would rather hire someone who has spent 10-15 years troubleshooting, researching, and figuring out how to make things work by the seat of their pants than the 10-15 year person who happen to know the answers to the specific BOL questions that happen to be in the interview, but doesn't know how to do basic online research (basic = Google
/Bing), doesn't read blogs or newsgroups, and doesn't know how to use Twitter to ask for #sqlhelp
Do you have to blog and tweet to be a successful Senior DBA? Definitely not - but I find as I spend more time as a Senior DBA and interacting with other Senior DBAs, that more and more of them do blog and tweet (even if just for #sqlhelp) and even if they don't blog themselves they do read the top blogs.
Just because you do know the third parameter in sp_add_jobschedule – who cares?
99% of the time (or more) I can look it up if I really need it, and if I can’t look it up, what are the chances that of the billions and billions
of things there are to know about SQL Server that I will know the one piece of minutia that is relevant.
(Oh - by the way – the third position of sp_add_jobschedule for SQL 2012 is @name, and the registry keys for enabling SQL Agent mail
are HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent\UseDatabaseMail and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent\DatabaseMailProfile and they would be edited by using master.dbo.xp_instance_regwrite.) #IHadToLookThemUp #TheMoreYouKnow
Usually I end my posts with “Hope This Helps”, but in this case I will end with this: