In the last year or so, there have been a lot of articles, blog entries,and forum posts on the kinds of technical questions hiring managers can ask a prospective DBA candidate in order to determine their technical proficiency. While technical skills are important for a DBA, I think a lot of hiring managers place too much emphasis on hard technical skills, and don’t place enough emphasis on the characteristics (personality traits) that DBAs need to have in order to be successful. In the rest of this blog entry, I want to suggest some characteristics that I think all DBAs should have.
Below, I have listed each characteristic, a brief explanation of it, and three questions you might consider asking that can help you tell if if a job candidate has that characteristic or not. While some of these questions include technical aspects about being a DBA, what you are wanting to determine is how well the job candidate fits a particular characteristic, not to judge the technical part of their response. There are no wrong or right answers below. What you are looking for is to see if the job candidate has the characteristics that you think make for a good DBA, and by asking these kinds of questions, you will be one step closer in determining if a particular candidate is best for your organization.
Enjoys Technology: If a DBA doesn’t enjoy technology, what’s the point of being a DBA.
Enjoys Challenges: A DBA’s life is once challenge after another. If a job candidate doesn’t like challenges, then he shouldn’t be a DBA.
Good with Details: A DBA’s job is all about small details, and doing them correctly.
Embraces Change: A DBA’s work is always changing, and you want someone who can keep up with fast-paced change.
Enjoys Learning: Database technology is constantly changing, and a successful DBA must keep current.
Accepts Responsibility: DBAs take on a lot of responsibility, whether they realize it or not.
Maintains Professionalism: I define professionalism as respect for others in an organization, which is important, as DBAs often work with a lot of different people.
Trustworthy: DBAs are privy to many company secrets, and you want to ensure that they are capable of keeping them.
Dependable: If you can’t depend on someone, who wants them around?
Can Work as Part of a Team: DBAs are almost always part of a larger team, and need to know how to work well with others to accomplish common goals.
Can Communicate Effectively: DBAs have to communicate with many different people to successfully execute their job.
Listens Well: Listening is just as important as communicating.
Realistic: DBAs need to be realistic about what they can and cannot do given the resources they have available to them.
Patient: Many DBA tasks take a long time, or it takes time for decisions to be implemented. DBAs must understand that patience is an important virtue.
Enthusiastic: You want a new DBA to land on his feet running when he starts his new job, and being enthusiastic about the job, and about being a DBA, is a good sign of this.
This is a long list of characteristics and questions, and if you asked them all, your interview might take hours. If you are a hiring manager, I suggest to pick out those characteristics above that are most important to you, and then ask the job candidate several questions about them. In some cases, you will know right away if a candidate meets the characteristic, and other times, you may have to follow up to be sure. In any event, by asking these kinds of questions, in addition to technical questions, you will end up with better information in which to select the best candidate for the job.
This is a good list, though I think you might drop some of these out for some jobs. For example, a production DBA is a fairly routine, boring job. There are changes, the person needs to be able to learn about new platforms, but someone driven to change and grow would likely be bored as a strict production DBA that managers instances.
these are good points to not only to become a dba but also to become good software professional.Software development is life long learning process.having the maintaions qualities a person can do great in software .
adding some points..
.complete knowlwdge of software develpoment life cycle.
.should not be bore with daily routine work
This is a very useful post.It highlights all the key aspects required for a dba.What in your mind is the best sdlc of a dba.
Wow Steve, you should come visit us! I am a production DBA and we cover over 300 DBs in both Oracle and SQL Server instances. Our environments are constantly keeping us busy with patches, job management, production changes and the related change management tasks not to mention the monitoring and tuning challenges we have for everything from major ERP systems to E-Commerce, HR, Payroll, Manufacturing systems and a host of other applications. As a production DBA I can honestly tell you we are not bored in the least! Just ask my customers, they sometimes have to get in line and wait for a opening.
I don't think been a Production DBA is boring as Steve said. In my case take care of a production database that changes every second with 10000 concurrent users and take care of performance in good shape is a challenge. Just imagine that execution times of queries can change from 10 milliseconds to minutes in any moment because execution plan changes and trouble shoot this in a financial institute with a lot of pressure behind you. That's not a boring job, believe me.
I like the list very much. Good article.
I am an Oracle DBA and just actively starting on SQL Server for last two years, but yes most of your post has a lot to do with both Oracle and SQL Server environment. My experience with Oracle production is not as bold as you stated, but it can be sometime and we usually find other things to do to fill in the gap.
Thanks for the post.
Albert Zaza
I think you are making a big assumption that production DBA's are bored and do routine work....not so in my case...
A very Nice Article!
Excellent Article
also.. to be able to let go and take a vacation.
Good article Brad and I agree with Steve that a lot of production DBA work can be mind numbing, however these are the things we'd try to automate. Also what some find interesting others might not.
As regards the question "Do you like your work to be fast-paced, or slower, and more leisure-like?" would you seriuosly ask that?
Enjoyed the article!
"As regards the question 'Do you like your work to be fast-paced, or slower, and more leisure-like?' would you seriously ask that?"
Sure. I would not look for a specific answer, but to see how the candidate answers it, and then use that answer, along with the other answers, to get a better feel for the candidate. I would be looking for consistency of responses (the more consistent, the better), and also try to determine if the candidate is just trying to say things that please me, or is willing to give authentic answers. This is not always easy to tell, but that is the goal of these kinds of questions. I am looking for someone I can trust, who is willing to give an honest opinion, and who is willing to do what it takes to get the job done.
Fair comment. Maybe it's me but the question seems to be overly biased toward the first option as option 2 would indicate laziness. Maybe if it was rephrased as
"Would you like your work to be fast-paced and frenetic , or slower and more methodical?"
For Production DBAs (rather than Dev DBAs) I think you really want a mix of attitudes: a solid OPs person who is nitpicky and reliable, concentrating on stability and ensuring routine; and someone more interested in and able to research and implement the newer stuff, so that you can develop and update systems. Either on their own is insufficient, both together can constitute a great team. In any case, the questions would help identify an individual's particular characteristics; then it's up to you to decide which type you are after.
Really Nice Article!
Re fast-paced, I think that's kind of the point, it's almost a trick question. I think a good database administrator doesn't hurry. You can make mistakes that way. You want to plan ahead and do it right.
Furthermore, in a large organisation, some of the database maintenance role is liable to be filled by phlegmatic people whose work year doesn't contain a lot of excitement or surprises. If database work is exciting then either you're doing it wrong, or you just now found out how to do it right. Neither is good.
First of all, congratulations for this excellent article! It provides a very good idea about what kind of person should you hire as a company and also what kind of skills you can develop if you want to be a DBA or even a good professional in any IT area.
I strongly agree with Marco A. Herlindo and Jerry Sommerville when they say that being a production DBA is not a boring job at all. Of course there are some frequent and repeated tasks but there are also others who require very cold blod and a precise mind , like for example a performance issue when a financial institution is stucked and the market close in 30 minutes or a corruption issue on a sunday night when you just have few hours before the daily operation begins (in case your system is not 24 x 7). A production dba has a lot of responsability on his/her shoulders, in fact they even have to fix things when the development dba forget to configure something properly. Being a development dba or a db architect is interesting cause you have more time and calm to research very specific scenarios and to plan new stuff, but they also have some repetitive tasks like configuring replications or set backup policies or to correct the same developer mistakes 'n' times.
I think that the ideal is to be involved in both or if the company is very big, to switch sometimes people from one area to the other... as a DBA has to be creative and also sharp.
I strongly agree with Marco A. Herlindo and Jerry Sommerville when they say that being a production DBA is not a boring job at all. Of course there are some frequent and repeated tasks but there are also others who require very cold blood and a precise mind , like for example a performance issue when a financial institution is stucked and the market close in 30 minutes or a corruption issue on a sunday night when you just have few hours before the daily operation begins (in case your system is not 24 x 7). A production dba has a lot of responsability on his/her shoulders, in fact they even have to fix things when the development dba forget to configure something properly. Being a development dba or a db architect is interesting cause you have more time and calm to research very specific scenarios and to plan new stuff, but they also have some repetitive tasks like configuring replications or set backup policies or to correct the same developer mistakes 'n' times.