Evaluting a DBA

  • Comments posted to this topic are about the item Evaluting a DBA

  • Heh... so a DBA doesn't need to know what a Clustered Index is???

    Sorry... Unless you're trying to hire a TRUE SYSTEM ONLY DBA, I find that laughable and even a bit disgusting.

    Of course, the term "DBA" has been so bastardized over the last 20 years, you can't tell what you're getting nor even asking for anymore.  It's like the old commercial where "If it doesn't say Sunkist, you don't know what you're getting". 😀

    It reminds me of when I was interviewing someone who had a Phd in Mathematics (and I DID verify that).  You might think that someone applying for the position of "Lead Developer" that also has a Phd in Mathematics might just some something about numbering systems.  I drew the following on the board (1 4 base 16 is how it's interpreted) and asked him to convert it to base 10 .

    He told me he would need a pencil and paper or a calculator to do the conversion.

    You have to ask advanced people the simple stuff first or your going to hire an idiot.  I've seen it happen way too many times.  It's like the "how do you get the current date and time in T-SQL" I ask as the very first question of every interview and it has been an awesome litmus strip for how the rest of the interview was going to go.

    Don't assume because the person has a whole can of alphabet soup after their name that they actually know anything practical. They just might not know how to use the can opener. 😉

    If they're insulted by you starting with simple questions, then you don't want to hire them for that reason either,.

     

     

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Heh... I'll give you another one... I interviewed a guy that claimed to be an expert at tuning SQL and T-SQL.  I asked him what a clustered index was and he said he never used them.  Thinking he might be some kind of genius that figured out some magic method, I asked why.  His answer was (and there's no way I could have envisioned this even as a joke) that he never worked on Clustered Servers.

    Yeah.... "ex spurt".

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • If I was looking for a lead DBA beyond the technical experience I would be looking for someone who

    • Keeps calm under pressure
    • Is good at explaining things to more junior colleagues and junior colleagues aren't scared to approach
    • Good at managing and communicating upwards
    • Has a breadth of technical experience but isn't scared to say "I don't know" or "I need to look into that"
    • Knows where to look to get answers quickly
    • Has a "toolbox" of approaches and techniques that they are willing to share
    • Actively looks to increase their knowledge and to share it.
    • Looking to improve ways of working.  Willing to try new techniques. Open minded.

    A lead position is so much more than just a technical role

  • Ask someone if they know why an RDBMS is called relational.

    The majority of candidates will give the wrong answer. This doesn't mean they should be rejected - they just need to be curious about what the right answer is - and about exploring further.

    In smaller organisations, people skills and business knowledge are more important than in a larger company where a DBA role may be purely technical.

     

  • Jeff Moden wrote:

    Heh... so a DBA doesn't need to know what a Clustered Index is???

    ...

    You have to ask advanced people the simple stuff first or your going to hire an idiot.  I've seen it happen way too many times.  It's like the "how do you get the current date and time in T-SQL" I ask as the very first question of every interview and it has been an awesome litmus strip for how the rest of the interview was going to go.

    ...

    Jeff, before I even clicked on the comments, I knew you'd be here with GETDATE().  🙂

    This litmus test is so basic, the recruiter could request it from a potential candidate before even setting up the interview. I agree that once a candidate makes it as far as the technical interview, it's pointless to ask: "What is a clustered index?", but something I will ask is along lines of: "What type of columns are good candidates for a clustered index, and what are the potential consequences of clustering on the wrong column?". Whenever I'm asked to participate in a technical interview, many times it's part of a panel, so I only get to ask two or maybe three questions, so I have to be economical about what I ask.

    The way I see it, any type of question that a DBA would be asked while on the job - that's fair game for a technical interview. Developers routinely look to the DBA for advice about data modeling (often times after it's been deployed to production), but I don't get questions on the job about GETDATE() - because that's just too easy to Google.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • David.Poole wrote:

    ...

    It reminds me of when I was interviewing someone who had a Phd in Mathematics (and I DID verify that).  You might think that someone applying for the position of "Lead Developer" that also has a Phd in Mathematics might just some something about numbering systems.  I drew the following on the board (1 4 base 16 is how it's interpreted) and asked him to convert it to base 10 .

    He told me he would need a pencil and paper or a calculator to do the conversion.

    ...

    Related... Ask them to convert 0x09 (hex) to decimal.

     

  • Ask someone if they know why an RDBMS is called relational.

    Is no one going to take the bait?

  • joe.lebaron wrote:

    David.Poole wrote:

    ...

    It reminds me of when I was interviewing someone who had a Phd in Mathematics (and I DID verify that).  You might think that someone applying for the position of "Lead Developer" that also has a Phd in Mathematics might just some something about numbering systems.  I drew the following on the board (1 4 base 16 is how it's interpreted) and asked him to convert it to base 10 .

    He told me he would need a pencil and paper or a calculator to do the conversion. ...

    Related... Ask them to convert 0x09 (hex) to decimal.

    Ooooooo... BWAAA-HAAAA!!!  Ya know, that's actually a pretty good one!  Definitely a "litmus strip" test there!

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • David.Poole wrote:

    If I was looking for a lead DBA beyond the technical experience I would be looking for someone who

    • Keeps calm under pressure
    • Is good at explaining things to more junior colleagues and junior colleagues aren't scared to approach
    • Good at managing and communicating upwards
    • Has a breadth of technical experience but isn't scared to say "I don't know" or "I need to look into that"
    • Knows where to look to get answers quickly
    • Has a "toolbox" of approaches and techniques that they are willing to share
    • Actively looks to increase their knowledge and to share it.
    • Looking to improve ways of working.  Willing to try new techniques. Open minded.

    A lead position is so much more than just a technical role

    I totally agree but, especially for a DBA that will end up being the proverbial "Shell Answer Man" for all things to Developers, you actually DO need to know the technical stuff... and during an interview, I'm going to make damned sure they're actually qualified in the highly technical area known as "T-SQL". 😀

    Remember what YOUR definition for what an "Exceptional DBA" is?  I do and I'll never forget that because it's so very true.

     

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • will 58232 wrote:

    Ask someone if they know why an RDBMS is called relational.

    The majority of candidates will give the wrong answer. This doesn't mean they should be rejected - they just need to be curious about what the right answer is - and about exploring further.

    In smaller organisations, people skills and business knowledge are more important than in a larger company where a DBA role may be purely technical.

    Heh... ok... other than the "R" standing for "Relational" as a part of the "Relation DataBase Management System", I'll bite.  What answer are YOU looking for?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • What answer are YOU looking for?

    Why is it called relational?

  • Eric M Russell wrote:

    Jeff, before I even clicked on the comments, I knew you'd be here with GETDATE().  🙂

    Heh.. I certainly have cut the rug for that one. 😀

    Eric M Russell wrote:

    The way I see it, any type of question that a DBA would be asked while on the job - that's fair game for a technical interview. Developers routinely look to the DBA for advice about data modeling (often times after it's been deployed to production)

    Precisely.  That's why I also ask questions about Clustered Indexes and the like... especially if they stumble on the GETDATE() question.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".
    "Dear Lord... I'm a DBA so please give me patience because, if you give me strength, I'm going to need bail money too!"

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Eric M Russell wrote:

    Jeff Moden wrote:

     Developers routinely look to the DBA for advice about data modeling (often times after it's been deployed to production), but I don't get questions on the job about GETDATE() - because that's just too easy to Google.

    It's easy to google, it's also very easy for developers to not appreciate the fact that getdate() includes a timestamp.

  • Some more questions for the senior candidate

    What do you understand by closure in a relational context?

    What transformation rules would you apply to simplify queries and check constraints?

     

Viewing 15 posts - 1 through 15 (of 37 total)

You must be logged in to reply to this topic. Login to reply