Click here to monitor SSC

What Counts for a DBA: Passion

Published 20 January 2011 5:58 pm

One of my first questions, when interviewing for a DBA/Programmer position, is always: “Why do you want this job?” The answers I receive range from cheesy hyperbole (“I want to enhance your services with my vast knowledge”) to deadpan realism (“I have N kids who all have a hole in the front of their face where food goes”). Both answers are fine in their own way, at least displaying some self-confidence, humour and honesty, but once in a while, I’ll hear the answer that is music to me ears…

I LOVE DATABASES!

Whenever I hear it, my nerves tingle in hopeful anticipation; have I found someone for whom working with database isn’t just a job, but a passion? Inevitably, I’m often disappointed. What initially seemed like passion turns out to be rather shallow enthusiasm; the person is enthusiastic about working with databases in the same way he or she might be about eating a bag of Cajun spiced kettle chips; enjoyable, but not something to think about too deeply or take too seriously.

Enthusiasm comes, and enthusiasm goes. I’ve seen countless technical forum users burst onto the scene in a blaze of frantic question-answering, only to fade away within days, never to be heard from again. Passion, however, is more of a longstanding commitment. The biographies of the great technologists and authors of the recent past are full of the sort of passion and engrossment that lead a person to write a novel non-stop for a fortnight with no sleep and only dog food to eat (Philip K. Dick), or refuse to leave the works of the first tunnel under the Thames, even though it was flooded (Brunel).

In a similar (though more modest) way, my passion for working with databases has led me to acts that might cause someone for whom it was “just a job” to roll their eyes in disbelief. Most evenings you’re more likely to find me reading a database book than watching TV. I’ve spent hundreds of hours of my spare time writing blogs and articles (some of which are only read by tens of people); I’ve spent hundreds of dollars travelling to conferences, paying my own flight and hotel expenses, so that I can share a little of what I know, and mix with some like-minded people. And I know I’m far from alone in this, in the SQL Server community.

Passion isn’t everything, of course, and it isn’t always accompanied by any great skill, but in almost every case, that skill can be cultivated over time. If you are doing what you are passionate about, work turns into more than just a way to feed your kids; it becomes your hobby, entertainment, and preoccupation. And it is this passion that gives a DBA the obsessive stubbornness, the refusal to be beaten by even the most difficult problem, which is often so crucial.

A final word of warning though: passion without limits can turn weird. Never let it get in the way of your wife, kids, bills, or personal hygiene.

17 Responses to “What Counts for a DBA: Passion”

  1. BuggyFunBunny says:

    I’ve been hanging around here for a few years, and I sure do view databases (even SQL Server) as a “calling” which is sorta, kinda like a “passion”. All of the places I’ve managed to find employment have been in spite of this calling, alas. Perhaps it’s different on the other side of the Pond, or with SQL Server centric venues (my main database has been DB2/LUW for some while), but “passion” isn’t what’s rewarded.

    Certainly, the advent of multi-core/processor SSD machines will have a profound impact on how RDBMS applications are built. The transition just isn’t happening fast enough to suit me.

  2. The Dougtor says:

    OK, I love databases, and believe it or not, I have been constructing and building them since 1964.

    Each trip through a new version or a new database is a like an archialogical dig, there are always fascinating artifacts that turn up, interesting discoveries, and the read through is like a second hand mind meld. And the more your read it the more ideas you get about how you can use the data, improve the schema, etc.

    Unusual thing:

    Years ago got frustrated by MS Query Analyzer, built my own that is like QA on steroids. (FindSQL – GPS for the Database)

    It allows you to build ( and in some cases it will self construct) one or more custom knowledgebases by database type and version, that knows all relationships and coded field values, and synonyms for same columns .

    And then you can use the program to audit/mass check the db for rule violations, then assist in correction, and it lets you learn the db as you go by being an electronic ER diagram, plus much more.

    Strange thing I did with it?
    Used it to automatically generate a complet relationship tree, then make one single query to read all columns of all related tables, then I automatically/programatically created and I printed a ~ 6′ ER diagram, then I generated the SQL statement through the program and set it loose (Query Fits on 7 pages of 8 1/2 by 11). Both the ER diagram and SQL Query now are part of my wall paper in the Office. The database had about 600 tables in it in that version at that time.

    It actually ran, but of course, not enough resource on the server to complete the query:)

  3. Arles says:

    Passion is writing an incredibly complex SQL statement and calling it “beautiful!”

  4. timothyawiseman@gmail.com says:

    People can be passionate about any number of things.

    I personally have a great passion for logic. Databases, done well, are merely one manifestation of that and I try to work hard to be skilled in diligent in my work with databases, but in my very rare spare time I also like to branch out to other applications of logic and read about mathematics and work on things such as Project Euler questions.

  5. saran says:

    Once I got a bit wild when somebody said “SQL has trouble handling more than a million rows”.

    Similarly I get upset
    – when I see “sp_” procedure names,
    – varchar used lavishly from 100 to 4000 bytes,
    – nvarchar used every where, even though not needed,
    same kind of statement used as subqueries inside a query that runs for pages, instead of splitting it into views and functions (even though I am a DBA, I rewrite those queries, split it and show developers how it should be done)
    - crazy about upto the second restores

    Am I passionate about SQL or egoistic?

  6. BuggyFunBunny says:

    @saran:
    same kind of statement used as subqueries inside a query that runs for pages, instead of splitting it into views and functions (even though I am a DBA, I rewrite those queries, split it and show developers how it should be done)

    Am I passionate about SQL or egoistic?

    Sounds like your “developers” are application language folk (coders), and not database developers. Beat them until the morale improves.

  7. Louis Somers says:

    My motto, for a long time used to be “I HATE DATABASES”, and the “language” SQL in particular.

    Why should we distinguish multi-dimensional-arrays with different names depending on their dimension? A database is just a list of tables, tables a list of rows, rows are lists of cells, which may be lists of characters. Why should we address this multi-dim array using an interface that accepts a string (of all types) as its only parameter, populated with a Stupid Quirky Language statement that needs to be parsed and interpreted at the other end (sigh).

    Of course I could never defend my principles and conviction to my employers satisfaction, so I was forced to learn, work with and after a while even appreciate some features that made me more productive than doing it all myself.

    Lately I got a job where I needed to learn a 4th generation language called Clarion. It doesn’t use SQL (at least not at the application level), actually you cannot even write SQL querys. It has it’s own “Data dictionary” which is the heart of the application. Relations and indexes are defined there. No constraints!!! Whoohoo, sounded like utopia!

    Well, lets get started: to access a collection of data one needs to first sort the table correctly using predefined indexes, then set a pointer (cursor equivalent) to the first desired result. Then after stepping through each record from that point an extra check is needed to see if the precondition is still met (on the client!)

    I have to agree that for a coder, Clarion has a more gradual learning curve and keeps one more “in control” and informed of the inner guts of what is going on. I find myself speechless trying to find arguments to convince my Clarion colleagues to move on. How can I derive them of that low-level (4th generation remember) control and present them ADO or SQL. To be honest, I doubt that SQL would performs any better in this particular scenario (local database app).

    Somehow I find myself quietly liking SQL, even those annoying constraints that demanded inserts in a particular order… seem to be not that bad after all. On the other hand I really love the 4th generation feature where I can choose to pass my parameters in processor registers instead of on the stack :-) but… oh well…

    In the end “being productive” is the driving passion, embracing techniques which become associated to that passion.

  8. drsql says:

    @BuggyFunBunny So this is just the first of presumably many posts on the great characteristcs of a SQL Server professional, and passion is just the tip of the iceberg. I have worked with the nutty type who went home and worked on their own for hours and those who worked 8 hours a day and no more. It is just one quality of many but, you have to admit, when someone loves what they do, it is a lot more fun than the person who just doesn’t care.

    Think of it in terms of the person who cleans your hotel room. You can tell immediately between the one who loves what they do (nicely folded towels, perhaps a towel bunny created for your kid, clean everything) and those who are just getting by (ice bucket filled with yesterday’s water, dirty stuff left around, etc). Clearly these people havve a thankless job, but one of them does it with love, the other does it to try to get by. Passion wins every time.

  9. drsql says:

    @Louis Somers,
    >>In the end “being productive” is the driving passion, embracing techniques which become associated to that passion.< <

    I disagree with you a bit here. If your passion is just being productive, or as most people say “getting it done”, then that is your primary goal. When I was a young man (debatable) working at Wendy’s as a night manager, the goal was to get done and get out. So many times we left messes for the morning people in the name of completing, or sometimes even tossing pans (yeah, I was caught and punished :) .

    Of course, this is but the first of hopefully many posts on what makes a DBA great, and passion is just the first of many, more or less equivalent characteristics that I started with because it is a bit uncommon. Admittedly, given the rest of your reply, I can tell that you aren’t likely one of those “just get finished” types, but it is also clear that you aren’t strictly into databases like someone who would call themselves a DBA/Data Programmer.

    For us data only programmer types, our goals are to give up low level control and cede control to the SQL Engine, a goal which requires a different mindset than the cursor oriented programming that so many languages require.

    In any case, thanks for the reply.

  10. drsql says:

    @timothyawiseman@gmail.com said:
    People can be passionate about any number of things.

    Let’s hope. This was the point of the final statement:

    “passion without limits can turn weird. Never let it get in the way of your wife, kids, bills, or personal hygiene.”

    Particularly the last one…

  11. DBA Dave says:

    For me it all started in about 1984 with a Commodore 64. That fired my original passion for computing. Tremendously. BASIC and assembler. But to me, it was just a hobby as I could not see any examples around me of people actually working on computers. I lived in a small rural town.

    Long story short, in 1999 while working on the phones in a call centre, I was taken by one of the IT dev guys into their area. I chanced upon some VB6 code, which was interesting as it was not unreadable as I supposed it might be.

    And then I was shown some SQL script. A schema diagram of the company’s main database was also displayed. And that was it. Something in my brain responded in a way that seemed so natural, so at home. The relationships and the way of describing them through SQL just clicked. My brain shifted up a gear.

    I was offered 3 month trial as a DB dev. I threw myself into studying the SQL language and server admnistration. Now I am a passionate professional senior DBA for an internation company.

    Everyday is a pleasure to come to work. Everyday is an opportunity to learn something new about this database thing. Everyday is an opportunity to do something better than I have done it before.

    But I devote the evening to my family. But, when the kids go to bed, then I can start again. Some nights. I generally use this time to delve into the more arcane side of this database thing, freewheeling and following my curiosity rather than a production need. More akin to dreaming than wakefullness.

    The other nigghts, there is the Commodre 64. I own three. I still write programs on it.

  12. Louis Somers says:

    @drsql said: I disagree with you a bit here. If your passion is just being productive, or as most people say “getting it done”, then that is your primary goal.

    You have a point, however I meant “being productive” in the sense of knowing one’s tools and how to use them. Not merely keeping the golf players happy (boss and customer), but handing the product over to the test-team, and making them feel so non-productive :-)

    I guess the word “satisfaction” might fit better. I also can totally agree on the different mindset. Once I was forced into a DBA’s seat because “one-eye is king in the land of the blind”. I had put some constraints on tables but was demanded to remove them instantly because it would bring the deadline into danger. I understood the other developers who had made their estimates based on what existed, however I had to decline to take any further responsibility.

  13. drsql says:

    @louisSomers Satisfaction is a great title for a later edition of the blog :) And I like the One Eye comment, though I am not sure if it would be offensive to someone :)

  14. Louis Somers says:

    :-) I’m not ashamed to call myself one-eye when it comes to databases, not considering myself a DBA even though my wooden leg sometimes forces me that way. I’m captain coderrrrrrrrrr, sorry, my hook got stuck.. (hope my wooden leg doesn’t read this)

  15. [...] ‘tenacity’, I mean working passionately at some task until you complete it, it kills you, or what you were working on isn’t needed [...]

  16. [...] attempting to solve a homework problem in Calculus.  I believe that the difference was that I was passionate about the video game, and certainly far less so about homework where people used the word [...]

  17. [...] of their capabilities alone and the speed with they could complete their part of it. Many of us are passionate about what we do, to the extent of being hobbyist DBA/programmers in our spare time. Yes, working [...]

Leave a Reply