DBA Stress Management

  • I work as a DBA in a small shop with 20 developers. The demand for service is insatiable and my time is extremely fragmented. (Not to mention after-hour deploys.) Devs drop by my cubicle for help while I’m in the middle of other issues. In addition to our Microsoft Sql Server farm, I’m responsible for the Admin of our SharePoint and TFS farms, writing SSIS packages, query tuning, converting old COM+ objects to COM object. It’s crazy. The company is talking about getting a junior DBA to help me out, but first I want to see if anyone has thoughts on how to deal efficiently with this situation.

    Should we implement a “Take a number: Serving 1,2,3… “ for non-urgent issues, like a bagel shop? Should I work by appointment only? Should I routinely block the first hour of each day with a personal appointment to myself so I am not available for meetings during that time? What techniques have worked well for you?

    Barkingdog

  • Barkingdog (8/28/2012)


    In addition to our Microsoft Sql Server farm, I’m responsible for the Admin of our SharePoint and TFS farms, writing SSIS packages, query tuning, converting old COM+ objects to COM object. It’s crazy. The company is talking about getting a junior DBA to help me out, but first I want to see if anyone has thoughts on how to deal efficiently with this situation.

    *blink*

    My word. Sharepoint alone can be a multi-man job. That's... a lot. I've been there though in small shops.

    First thing to implement is a big old sign that you can flip down when you're in code-trance trying to get something important done. "Send an email if it's not on fire, I'm busy." That will help (only help) with the constant interruptions.

    Second, I'd recommend you get the boss to farm out the COM conversions. It's a lot of tedious work but can be reasonably contracted. A 3 month contract at a reasonable rate will probably get that off your plate entirely.

    Next, I'd definately block out a section of time daily (even if it has to move around) for about 2 hours a day so you can get work done in spite of the million meeting managers. You're too spread across the company for them to know the impact of the others, so you'll have to handle that yourself.

    Finally, and to visually drive home a point, every task you've got 'due' stick on a notepad. Get yourself a wall or whiteboard and 'prioritize' these items as necessary. When you're not sure, drag your boss over and have him review the list with you and ask him where it falls. You're too busy to try to deal with the political wrangling, let him do it. You might possibly be the six million dollar man but you just can't be in two places at once.

    That's a rough position. You'll have to move slowly. The DBA is the least of your worries, honestly. Sharepoint isn't easily transmitted except through painful experience which will eat a lot of your time. COM conversion isn't even in a DBA's purview, usually. TFS will depend on how much is actually involved for you, but that should be pretty light as an admin. SSIS is something you can hand off to a real Junior, but query optimization usually takes time to learn the ins and outs to do well, which is more training time you'll have to take. You probably really need another II on staff just to handle the majority of the database requests so you can concentrate on, and clear off, the extraneous workload.


    - Craig Farrell

    Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

    For better assistance in answering your questions[/url] | Forum Netiquette
    For index/tuning help, follow these directions.[/url] |Tally Tables[/url]

    Twitter: @AnyWayDBA

  • IMHO, hiring a junior DBA from the outside isn't going to cut it. You actually need to stop working and start teaching. You have 20 developers to chose from. From those that you think have the right attitude, take 2 of them under your arm and teach them things they need to do query tuning, handle 90% of the questions the Devs are asking you, get 1 or 2 of them up to speed on SSIS, etc. Have them start doing code reviews with you moderating the review. Teach both sides. It'll be a bit tough to do at first but it'll pay off huge down the line. Then, split the group of 20 developers in 2 and assign each group to one of the two people you trained with the single instruction to "pass it forward".

    Published standards and a wiki on how to do things will help a whole lot, as well.

    The bottom line is internal training and you're the key to it. I teach at every shop I work for and it pays off in spades for everyone involved.

    --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.


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

  • Evil Craig ----

    All very good ideas. I'll try some of them and see if the Junior DBA will be appropriate too.

    Barkingdog

    P.S. Are you any relation to the famous "Dr. Evil?" );

  • Jeff--

    >>> You actually need to stop working and start teaching.

    Another sterling idea that I will pursue. In the past when I tried to teach some elements of query tuning, the devs were interested, but their boss not as much. The boss felt they should spend most of their time developing code, not tuning queries, which was seen as the DBA's job. (So we bump into long-held job role assumptions but I'm still going to

    see what I can do with the training role. )

    Thanks,

    BD

Viewing 5 posts - 1 through 4 (of 4 total)

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