The above personality traits sound like bad news. In most areas of life they certainly can be. That being said a DBA needs to have a certain aspect of these to best do their jobs.
As I blogged about in “Checklists, Recipes and Algorithms“, I describe other careers where a keen eye to detail and a mental preparedness for worst case situations are important. I tend to find that the most successful DBAs are those who come across as paranoid. This tends to result in them wanting more control over how their environments (see… “Their Environment” I told you, it comes off as being a control freak.) This in turn results in a worry about the little things that can turn into a resume altering situation.
If you don’t believe me, look at this recent blog post by Paul Randal (@PaulRandal, blog). He is the self professed “most paranoid person on the planet in terms of backups, corruption, HA, etc.” I won’t argue with him and I’ll give myself the label of second most paranoid person in those same terms.
If you are, or want to be a DBA the question you have to ask your self is: Are You?
How can these traits be seen as positive?
Paranoia – Again it’s not the best choice of words. Maybe “realist”, “careful”, “cautious”, “protective” would be better terms. Paranoia implies a lack of rationality and the fears that a DBA should have are entirely rationale:
- Data Breaks –> The cause could be malicious intent, accidental, user created, I/O subsystem “created”, corruption, etc. Data can be lost or become unavailable. Like I blogged about in “Where Do I start?!?!” the most important ability of a DBA is recoverability.
- Security Threats Exist –> From within or from without they exist. Overconfidence here means compromise and a long walk to the CIOs office.
- Not all code is perfect the first time –> Even if your crack development team wrote it, even if your star vendor sold it. Do you just and implement it without question, without preparing for problems? You are setting your company up for failure if you do.
Having the “This instance can go down” or “that code can cause a problem” mentality (guilty until proven innocent) means you will catch a problem more likely. If you presume everything is A-OK all the time then it could take a large exception to that rule of thumb to teach you a lesson (and give you a new career path).
This leads to a certain “control freak” philosophy. You don’t want the entire organization in the system as System Administrator fixed server role (you don’t even want the entire DBA team to have that level of rights). You don’t want code slammed into production without a proper test plan and documentation trail. You don’t want people trying to help without the right knowledge undoing your efforts.
DBAs always say no… That’s a myth but it’s joked about in most companies (we are also called disk sponges at most places but that’s another post 🙂 .) A good DBA won’t always say no but they shouldn’t be afraid to say, “Wow! let’s slow it down” or “Not like that”.
Are you assertive? If you aren’t you will be walked over and that can and will backfire. You need to be sure of your standards and enforce them equally. Even to the developer who is older, has been their longer and has that “rules slow us down, we have dates darn it!” attitude.
If you are “paranoid and controlling” you will know why you have the standards. You will know why you should say no and you will know the potential results. That should help you stand your ground and work towards a great solution.
That’s the key –> A good DBA will say “Not yet” but won’t turn around and walk away. Be approachable, work to help people understand how to get to the standards. Teach a brown bag lunch (even if you don’t feel ready the questions you don’t have answers to at the training are all learning opportunities for you, step out and try it). Work side by side with developers. Approach project managers and tell them why involving the DBA earlier will make a difference. Eventually people should start to learn that the paranoia is for their good. They’ll see you as what a DBA should be – an advocate for the helpless, innocent (usually innocent anyway) data of the company.
You are there to be ready to assist when things go bad after the first 40-50 hours of the week. You do this by having that paranoid, controlling attitude for the first 40-50 hours of the week, hopefully reducing the overtime break fix work.
I had submitted an abstract to the SQL PASS 2009 Community Summit in the professional development track. Since I was helping rate abstracts and in that track, I down voted my own session pretty heavily and it missed the mark. It was titled “Iceberg, Dead Ahead!” and I was going to talk about various real life disasters and the attitudes and actions that either made a positive or – far too often – negative impact.
When you look at real world disasters in any field you can far too often see some apathy by some or many involved. People ignoring small issues that multiply and cause catastrophes. People with a very optimistic attitude assuming the best ignoring “acceptable errors” are not behind all disasters but they are behind too many. Sometimes a bit of paranoia and someone being assertive with standards could have made a difference.
Step outside of SQL Server and ask where else can this attitude help?
Ever take a course involving firearms safety? The top 3 lessons hammered into you are: The gun is always loaded, keep your finger off the trigger until ready to fire and only point the muzzle at what you are comfortable with bullet holes in. Even if you just unloaded it, just verified it three times you still follow these rules. Why? Because it’s the comfort and over confidence that leads to mistakes. If you break the rules once you will again and it could be the wrong time.
Do you ever double check that you locked a door? I don’t mean go back and check 75 times but if you presume you could have made a mistake or been distracted and double check you will be that much more likely to leave with a door locked behind you.
Do you presume a fire will never hit your house, office, hotel? If so you don’t know where the nearest exit is, you haven’t thought through what you would do and you are not prepared. Statistics show you are more likely to die in a fire than someone who prepared. Again, I am not saying walk around in a set of turnout gear with breathing air on your back. I am saying look at exits, plan escapes, think about the unlikely (but possible) and think about your reaction to that.
Do you always ignore the safety procedures on your flights? Nose into a book and not even pay attention to what type of plane you are flying on for this trip? Where is the nearest exit to your seat? Where is a second exit? The folks who landed on the Hudson River in January of 2009 would tell you that this information matters. They will even tell you that the instructions on how to use your seat as floatation device aren’t there only because of federal regulations. I bet they all listen intently on every flight now.
So are you fine? Is your environment invincible? Or are you a “paranoid” DBA? Add a healthy “paranoia” to your toolbox!
Another reason for this paranoia is that so many people have just enough access to bring your server to its knees. Windows admins can kick off nasty virus scans, developers can write tediously slow code, end users can roll their own cross join reports, you name it. At 5pm, it really does feel to me like I’ve fended off the nasties for another day.
These "qualities" also make for a good security professional. There’s a saying we have in security:
"Just because I’m paranoid doesn’t mean someone’s not out to get me."