May 10, 2007 at 6:08 pm
Last week I polled you on Junior DBAs and what was a good set of skills they should have. It didn't go quite as planned, and it seemed lots of people want to argue about whether we should have titles, salary, etc. Those are all great points, but the reality is that titles exist, we need to grade people out slightly, and this is one way.
So...
This week I moved on to senior DBAs because I think they're the next easiest to define. It's the mid-level that I expect to be the hardest to figure out. I'll leave that one alone for a few weeks since I think that it's less interesting and I'd like to address a couple points that people raised in another poll next week.
So here's the poll:
What's a Senior DBA?
We're mainly talking SQL Server here, someone that does administration or development, but I would think that a senior level person wouldn't be frightened if someone dropped them on Oracle, DB2, or PostgreSQL. They should be able to figure out how to connect and how to translate their skills into basic work on other platforms.
But it's the SQL Server skills that are harder to determine. I think that a senior level person may or may not be specialized in one of the subsystems. I guess lower level people could be experts at some particular system, like SSIS, but for the most part I'd expect that someone at this level is definitely stronger in some areas than others.
The top level of this area is hard to define. I'd like to think all SQL Server MVPs are senior level, but I'm not sure if that's true. I'd like to think I'm a senior even though no one mistakes me for an MVP.
On the experience side, I may be setting my bar too low, but I could see someone with 5 years of intense SQL Server responsibility and experience, someone who's really worked to learn the product, being a senior level DBA. I wouldn't expect most people to be at this level and it would be the rare individual I'd grant this status to with less than 7 or 8 years of experience.
For skills, I'd expect at a minimum that any issue that came up, the person would feel confident digging into BOL and other resources to get it working. That includes merge replication, even if you've never used it. That includes setting up Service Broker without ever having implementing a messaging systems. You get the idea.
I think backup and restore is critical, so I'd expect that any backup/restore scenario could be handled, including point in time or named transaction restore. I'd expect the individual to also understand the high availability technologies (all 4) and know where when to implement them as well as understand how to structure a backup scheme to meet business needs.
A senior person should be familiar with SSMS/EM inside and out, including all types of administration: SQL Agent, jobs, multi-server jobs, alerts, mail, service account choice and implications, server name changes, and any database rename/move/alter that is needed. Security should be a strong part of their job with groups, roles, users, logins, etc. being something they can easily set up. A senior should understand the schema as well and how it fits in the old owner/object model. I expect you can profile and performance monitor a server.
On the T-SQL side, I don't expect you to rival Ben-Gan or Ken Henderson, but I do expect you to be able to write queries with lots of tables, CASE statements, GROUP BY, ORDER BY, HAVING, TOP, and pretty much any clause. I expect stored procedures and functions, TVFs, and before long, CTEs. I'd also expect you can tune queries, spot cross joins, cover queries, and find unnecessary columns or qualifying clauses.
I'd expect that you have some solid experience in some aspect of SQL Server: SSRS, SSIS, SSAS, Service Broker, replication, something. It's hard to spend a decade or more with SQL Server and not have gotten some good experience in some area. It's possible, and if you are a generalist then you should be comfortable having to delve into any area if required.
For a senior the biggest thing I'd expect is some good database design skills and business knowledge. You should understand how to work with other people, mentor them, and ensure that you work with SQL Server in an efficient and effective manner for the business, not because something is cool. A senior needs to make things better, not maintain them the way they are.
Lastly, I'd hope a senior person to contribute in some way to the community. Maybe it's a little self serving at this site, but since most of us have asked a question or received help at some point, I'd hope that if I'm paying you senior dollars, you do senior, professional work.
Steve Jones
May 11, 2007 at 6:53 am
I think the ability to jump into something you are unfamiliar with and make it work might be the biggest thing for a senior DBA. After 12 years of this there are still some gaping holes in my skill set, but none that scares me if I need to do it.
Also the ability to apply previous knowledge to new situations is one thing that I value, but that is not really a senior position trait, but for everyone. I try to teach the developers I work with how to write, and nothing is as infuriating as the same question being asked over and over. I had this from a junior DBA back in the dotcom days, drove me nuts. I think eventually he went back to being a teacher.
Also don't think the number of years make that much of a difference. If you have been in the same job for 10 years, you might be very good at what you have been exposed to, but be very limited in the width of your knowledge.
One thing too, is the ability to know when you do not know. Personally I think I know a lot less now than I did 8 years ago. I had ALL the answers back then
May 11, 2007 at 7:28 am
As I have been in the industry for a short time (6 years) I have had to do everything from simple DBA to extream networking to very defined troubleshooting. I have found that my knowlage is belittled greatly by what I can google online. I belive that skills are less important that an ability to think outside the box. Senior to me denotes resposability not knowlage. Senior implies management not an abiltiy to do but an ability to organize and controll.
My 2 cents.
Thanx,
Dave
May 11, 2007 at 8:35 am
It has been my experience that “Senior” in a job title is subjective and varies from company to company.
At my last place of employment, “Senior” was synonymous with Team Lead. Unless the “Senior” DBA left the company, no one else could be a “Senior” DBA, even if they met or exceeded the qualifications for “Senior” DBA as written in the HR job description.
At my current place of employment, “Senior” means that you have a very good working knowledge of the product, you have a demonstratable track record of applying that knowledge correctly for a number of years, and that you can give advice on how to improve the system.
I would agree with my current company’s philosophy. Until a person is to the point where they can regularly give advice on improving the system as opposed to only operating the system, they have not graduated to a Senior level.
May 11, 2007 at 9:03 am
I believe that a senior DBA is anyone who has been in the field for longer than a year without either being canned or institutionalized.
May 11, 2007 at 9:10 am
One thing I learned when networking with other DBAs at the local user group or PASS is that there is always someone who knows more than I do about any given topic. I am a genious at Bryan Cave but would be fish out of water the first day anywhere else, at least until I had a chance to learn where the problems are and what needs to be done.
As far as giving back to the community, it not only helps the community it also helps you. I have learned so much answering questions on the forums. Also, when you write an article or give a presentation on a subject, you dig a little deeper and learn even more about it.
Aunt Kathi Data Platform MVP
Author of Expert T-SQL Window Functions
Simple-Talk Editor
May 21, 2007 at 7:49 am
To me, a senior DBA starts with a minimum of 1-2 years experience.
I know some people don't like to say years of experience have anything to do with what a senior DBA knows, but after several years of working as a DBA, I have to disagree. Experience gives you knowledge of your hardware, applications and end users. This knowledge translates into being able to better anticipate problems and easily resolve the ones you didn't see coming. Sure, anyone can learn SQL Server if they take the time, but it takes an experienced (or senior) person to know within 30 seconds if the slow database issue you're having is caused by a badly written function, a network card going defunct or a page file that simply isn't large enough for the I/O going on. And there are certain 'undefinable' problem-causing factors that can't be anticpated by those who have never worked in the field before.
A senior DBA also knows certain aspects of SQL Server well enough to do 90% of his/her duties without looking it up in a book. Yes, BOL and Google are wonderful resources, but if you spend your day looking things up every five minutes, or heck, even once an hour, either you are working on incredibly complicated stuff that has never been done before or you're not as skilled in SQL Server as you think you are. EXAMPLE: A good SQL Server DBA shouldn't have to look up doing restores and backups in BOL every time she does them. Even if they are scheduled jobs that no one ever has to look at, a senior DBA should at least know how to do them in EM/SSMS without using BOL.
Notice the above said "his/her duties". I'm speaking specifically what a senior DBA is expected to do, not of things that are considered out-of-scope of her day-to-day activities. I wouldn't expect someone who designs SSIS packages all day long to know how to create cubes in Analysis Services without BOL for example.
Definitely a senior DBA should be able to mentor junior team members, pick up the slack when someone is sick or everyone is overloaded with projects, debug queries swiftly and efficiently, answer complicated "Why does SQL do this" questions, know (at very least) SQL Server's different components and the basics of activating those components and integrating them with current applications as necessary, take control (or lead) dba project implementations when necessary and consider alternatives that no one else (BAs, PMs, End Users) has thought of when creating projects. And senior DBA should know enough about the system she's admining to make decisions regarding its health and stability.
Lastly, a senior DBA is someone who can admit she doesn't know everything, but knows where the information she needs is and understands how to implement the answer once it's been found.
May 21, 2007 at 8:13 am
As much as I like Joe's description, Brandie, I think you've got a good description there.
May 21, 2007 at 8:17 am
I have to admit, Joe's description is a pretty good one. @=)
Viewing 9 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply