Double Check

  • Comments posted to this topic are about the item Double Check

  • We do the double check thing for every piece of SQL that hits the database in the form of Peer Reviews. It's prevented a good number of "accidents" before QA even knew it existed.

    I agree... good documentation is essential as is the "transparency" you spoke of. I teach everyone everything I can... I've never felt in fear of losing my job for that. If I ever do, it'll be time to go anyway. 😉

    Great set of editorials, Steve.

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

  • Agree, majority of DBA's are one man show, a fellow DBA or network guys can take backup restore trouble shoot at SQL server level but the database design and any other regular process information is hardly known by every one there is usually one main guy in each company atleast i have seen it, who knows all about the company database and system from front end to common issues and solutions. If he/she is not there, rest of the staff is clueless.

    Also one problem with documentation (atleast places i have worked) is that initially documentation is created but after some time process is changed and no one updates the documentation.

    Having some one you can share the job (audit, teach,learn distribute workload) is not only helpful for auditing purpose but he can cover up for you. I am not a morning person but another DBA is there early morning to make sure all my process were successful and i cover him in evenings so there are benefits of working as team. He can also point out the mistakes i have made just because i was lazy to follow guideliness. 😎

    Still exceptions specially *political reasons* when you cant share the work and cant follow the rules. 😀


    Kindest Regards,

    Syed
    Sr. SQL Server DBA

  • Of course, being "indispensable" is not a good position in which to find yourself. Companies aren't comfortable with being beholden to one person, since it gives that person too much negotiating leverage, so the companies put a lot of effort into lessening that reliance either by sharing the skills around or obsoleting the system that requires those skills.

    In short, whenever I see I'm the only person who knows something important, I try my damnedest to share that information around. It's job protection in the long run.....

    Semper in excretia, suus solum profundum variat

  • I hadn't thought about the additional benefits of transparency until reading this. It certainly would take some worry out of leaving for a bit. Training people on everything you do also opens you up for the opportunity to take on more challenging projects as well as promotions. I have worked with some people who are "indispensible", so much so that they can't be promoted.

    Transparency also gives you more credibility as an employee.

  • Syed (6/17/2008)


    Also one problem with documentation (atleast places i have worked) is that initially documentation is created but after some time process is changed and no one updates the documentation.

    That's one of the things I've tried to stress to folks at work and on the forum... documentation get's out of date or get's lost... unless it's part of the code. We require our developers to update all comments in the code when they make changes and, of course, any new code must be fully documented. Doesn't take much time to do (about 5 minutes for every 100 lines of code or so) and has caused the research time necessary to find the right code to modify for changes to drop down from an average of about 16 hours to about 16 minutes.

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

  • I'm not entirely sold on the idea of having someone else do my job for me while I'm gone. I do agree there needs to be a system of verifications to make sure I'm doing things correctly. However, something a former boss said in a department meeting has really stuck with me. "If you aren't missed while you are gone [on vacation, sick, etc.] why are we paying you in the first place?"

  • majorbloodnock (6/18/2008)


    In short, whenever I see I'm the only person who knows something important, I try my damnedest to share that information around. It's job protection in the long run.....

    Not only that, but it means you are not the only person they can call at 3AM when something goes wrong. I'm sure it makes some people feel important when they are considered the 'expert', but get real, how important are you really?

    In my experience, just about everywhere I have worked has had enough work yet to be done to keep everyone busy for a lifetime. Why people want to hoard information and forever be tied to a single process or project for their entire career, or at least a long time, is beyond me. Personally I get board working on the same thing long term and am glad after awhile to load-shed it to someone else so I can move on to a new project or process.

    If it was easy, everybody would be doing it!;)

  • majorbloodnock (6/18/2008)


    Of course, being "indispensable" is not a good position in which to find yourself. Companies aren't comfortable with being beholden to one person, since it gives that person too much negotiating leverage, so the companies put a lot of effort into lessening that reliance either by sharing the skills around or obsoleting the system that requires those skills.

    In short, whenever I see I'm the only person who knows something important, I try my damnedest to share that information around. It's job protection in the long run.....

    I have to, respectfully, disagree. If we don't have a specialty area where we are the only person knowledgeable, why are we employed in the first place? Why not just have Joe accountant maintain the database since he knows something about SQL? My former employer regularly acknowledged that they would be in a world of hurt if I ever left (and they still are evidenced by the number of calls I am still regularly receiving). My current boss has made it clear she doesn't want to know how to do my job. That is why they hired me.

  • It's important for a company to not have someone who is indispensable. It isn't that they have too leverage over a company, it's that they might just quit or, as NBC here in the States found out with Tim Russert, they might just drop dead one day.

    At one job I had, I gave a month's notice, but my replacement sat down with me for only one hour on my last afternoon to go over his responsibilities. Even though I left everything well documented, they called me several times over the following week because they blew something up by not following proper procedures.

  • jim.powers (6/18/2008)


    majorbloodnock (6/18/2008)


    Of course, being "indispensable" is not a good position in which to find yourself. Companies aren't comfortable with being beholden to one person, since it gives that person too much negotiating leverage, so the companies put a lot of effort into lessening that reliance either by sharing the skills around or obsoleting the system that requires those skills.

    In short, whenever I see I'm the only person who knows something important, I try my damnedest to share that information around. It's job protection in the long run.....

    I have to, respectfully, disagree. If we don't have a specialty area where we are the only person knowledgeable, why are we employed in the first place? Why not just have Joe accountant maintain the database since he knows something about SQL? My former employer regularly acknowledged that they would be in a world of hurt if I ever left (and they still are evidenced by the number of calls I am still regularly receiving). My current boss has made it clear she doesn't want to know how to do my job. That is why they hired me.

    I can certainly understand what you're saying, Jim, but, as you say, I respectfully disagree.

    Being a specialist is not the same as being indispensable. Certainly, no-one where I work currently knows as much about MS SQL Server as me, so I earn my money, but there are others who know enough about databases in general (in this case, Oracle DBAs who're far better DBAs in general than me) to be able to keep the company ticking over were I to be hit by a bus. That makes me useful without being irreplaceable, and that keeps me away from being perceived as a risk by the company.

    Many years ago, when I first joined my current company, we had a bespoke application written by an employee who was a very skilled programmer. The application was a form of CRM system, and was written in C++, with a SQL Server back end. However, the company had got itself into a position where they couldn't force the guy to provide full and complete documentation without upsetting him, and he knew damn well that if he got upset and left, the company would be in the do-do. Net result, he was guaranteed a job for as long as the company kept using the system. This, of course, was an unacceptable position for the company to be in, so it simply changed processes until the system was unnecessary and then fired the programmer for failing to do what he was asked to do. For this reason, I feel very uneasy being in a position where the company cannot get by without my services (and mine alone). If I can't share that knowledge, my alternative is to raise the visibility of their dependence on me so that they're well aware I'm not trying to take unfair advantage of that position.

    Of course, if the company is happy with that total reliance, then I'll still take the money and do my job.

    And, in answer to your question about letting the accountant do the job if he knows his SQL, I'd say, "why not?". Most of our IT department have been promoted from within the company, many from outside the department. If you can see the necessary skills, why not make use of them?

    Semper in excretia, suus solum profundum variat

  • You are there to make things better, drive the use and efficiency of SQL Server forward. Training someone to bring up the rear so when you're gone things still move smoothly is prudent.

    If you boss doesn't see that. He or she is an ID10T and likely isn't someone that the company needs. It's poor practice and if management also hoards information like this, they can cause just as many problems. That's how Enron and other problems occur.

  • jim.powers (6/18/2008)


    If we don't have a specialty area where we are the only person knowledgeable, why are we employed in the first place? That is why they hired me.

    True, they hired you for your expertise. In the case of a company where you are the lone ranger DBA, for example, such as in a small company, you are correct. But there should be someone else who has at least enough knowledge to get thru a week if you not there. Plus, the processes should be stable enough to run without constant human intervention. At the very least, there should be written procedures so that normal processes can be carried out, and for things that do need human intervention, then someone else in the company should be trained to do that. Why would anyone want to be tied 24/7 to their job? That's not job security, that's insanity.

    I would hate to think I was running a company and was totally dependent on a single individual that had all the process knowledge in their head and had no written documentation as to what he was responsible for. If anything ever happened to that person, then they would have a serious issue that could potentially threaten the health of the company. At least with processes documented, should something happen to that person, a new person can be brought in and should be able to at least keep things running.

    If it was easy, everybody would be doing it!;)

  • Most of these replies seem to be from people who work in companies that have people who *could* act as backup if the interest and will was there. I wonder how many people are like me and work for such small agencies that there really isn't anyone else to do the job. The job being that one person does the DBA work, designs apps, develops apps, trains users, creates user documentation, etc. There is no one else to do any of these tasks.

    I figure I haven't done my job well if everything can't run smoothly for a couple of weeks without me or anyone to physically be present. I automate everything, from backups/maintenance to monitoring, etc. Sure those things need human review and things break down from time to time, but my systems should be able to get by for a good chunk of time without human intervention. I take vacation every year without problems. My job is important and my systems are integral parts of the jobs of over 100 people. (They do pay me for a reason.) And I certainly couldn't be gone forever. But a week or two? Your systems can't run that long without you? Really?

    That said, I fanatically document everything and keep that documentation up. The documentation is for my own maintenance needs and against the day when I win the lottery and never have to work again. I consider such preparation a vital part of my job. I not only document what I did, but also: why I did it that way, what alternatives I considered and discarded and why, and what ideas I want to do in the future when there is time and/or need. Sometimes my documentation is bigger than my code. I can get rather chatty with myself. So, this kind of documentation does take a fair amount of time. Yet, I consider it non-negotiable no matter how big the pressure to get more things done. Someone else MUST be able to understand what I did and be able to make changes without bringing down the house.

    No one, not even a person in my position (where staff routinely say in half serious voices, "You can never leave. Never.") is indispensable. If I was abducted by aliens tomorrow, someone else might take some time to get up to speed and the company will definitely feel some pain, but it would all work out. I've done everything I can think of to make that future transition as easy as possible.

  • Over the years I have tried to give as much information to as many as would listen and still believe that to be the best way to do business. I do not care who knows how to do my job or if they do it.

    When they become good at it then I can go do something more interesting. That way we never stop going forward nor stop learning.

    Tell them what they want to know and tell them every time they ask. We are not building a kingdom and it is not about me, it is about providing a much needed service.

    Have a great day!:)

    Not all gray hairs are Dinosaurs!

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

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