A number of hiring managers have asked me the following question over the years: what key qualities should I look for in a SQL Server DBA? Often times the key qualities needed are very specific to the customer. Perhaps they have a large replication installation and really need someone sharp on that part of the SQL Server stack. Other times the client needs a SQL Server DBA that can wear numerous hats and support a large environment. This circumstance requires a special person to keep everything running smoothly. In other situations, having the right fit for the team is most critical. Check out this tip to learn more about SQL Server DBA key qualities.
As the problem statement alluded, technical skills are sometimes the focus for a candidate search, and other times fitting into the team or being able to meet the unique business goals is most critical. I know in one circumstance before I started Edgewood Solutions, I was hired specifically because I had experience with SQL Server Upgrades. At that time, the company had over 100 upgrades that needed to be completed, so that experience helped to set me apart as a candidate for that opportunity.
On the other side of the coin, there are soft skills or intangible attributes to me that are needed by SQL Server DBAs to help any organization. To me these are qualities that are not necessarily found on a resume, but can really make or break a DBA based on his/her unique position in the organization. Let's dive into these items.
Productive Under Pressure
SQL Servers go down. IO issues are occurring on one SQL Server and another has intense memory pressure. Emergency code needs to be promoted to a production SQL Server database to fix a client issue. Five different development managers are breathing down your neck for project needs. How do you handle pressure? These events could be occurring simultaneously, in the same day or in the same week. How you handle these types of situations as a DBA is key. Do you think being productive under pressure is a key quality for SQL Server DBAs?
Identifying issues is generally no problem for you or the user community when something is broken. Correcting them immediately, applying a stop gap measure then designing, testing and implementing a solution, is another story. This is where your technical skills really come into play and your knowledge of options to address an issue can really shine. Just because we are SQL Server DBAs does not mean the best solution to every problem is in the form of a stored procedure, SSIS Package or configuration option. Truly understanding the issue and implementing the correct solution in a rapid manner is easier said than done. The right solution may be technology on the fringe of your expertise where you have to dive in, figure it out quickly and move on to the next issue.
Understand Both the Business Needs and Technology Landscape
SQL Server is generally the core software application for many applications and just knowing how SQL Server works generally does not cut it. Understanding the data and processes are just as critical with more of a focus on business intelligence to identify opportunities for the organization. Further you need to apply the correct solution for the problem at hand. As an example, the business may be relying on a manual process that is time consuming and error prone; by understanding the business needs and technology options you can remedy the situation with an automated process.
Willingness to Learn and Open Minded
As technology professionals, there is a need to continuously learn to keep your technical skills sharp and be sure to offer the proper recommendations and implementations for all of your projects. By continuously learning, hopefully this will give you an open mind to consider alternative ideas and experiment with other technologies that will help round off your knowledge.
Experience to Know When to be Firm and When to be Flexible
You can't get experience out of a book. Hands-on experience comes with time, successes, failures and seeing through the mess to identify the root cause issues. This is where you need to figure out if the issue is people, process or technology. Further, you need to think about the impacts of the decisions being made. Do not have blinders on when decisions are going to have significant impacts to other departments, applications or processes. Experience matters, therefore leverage it.
Trust, Honesty and Integrity
As should be the case in all professional positions, trust, honesty and integrity should be at the core of all business relationships. As DBAs, I think we need to raise the bar well beyond professional standards based on the criticality of our position, data access and accountability to the organization. In many respects, the DBAs have to keep in mind they need to protect their organization's data just as much as they need to protect their customer's data.
In numerous organizations, I see the DBA Group in the middle of a number of groups such as Users, Developers, Admins (Windows, Network, Storage, etc.), etc. I find that at times communication is not at the correct level based on the audience, which causes frustration among team members. Being able to effectively communicate both in writing and verbally (one on one, in a small group and in a large group) is a critical quality that not every professional has mastered.
Now here is your opportunity to share what qualities you believe are key for a SQL Server DBA. Do you agree with this list? Are critical qualities missing from this list? Share your thoughts with the community in the comments section below.
Last Update: 1/25/2013
About the author
Jeremy Kadlec is the CTO @ Edgewood Solutions, co-founder of MSSQLTips.com, Baltimore SSUG co-leader and SQL Server MVP since 2009.
Being "firm"? And the manager says "Thanks for that firm input, I don't care, we're doing it my way". This is followed by the left turn into the goat pasture and then you hear "You should have been firmer". This is the same manager who says they don't make mistakes. It's a challenge.
One of the additional qualities that I would expect to see is not that the DBA knows every little thing about SQL Server, but that the DBA knows where to go to look things up and that they understand what it is that they found on their search.
I'd also want to see someone who is a little anal about their work. A DBA who takes a few seconds extra and looks up the syntax on what we might consider simple tasks, such as CREATE TABLE, is prefereable to one who shoots from the hip and probably gets it wrong on the first attempt. In addition, someone who has built up a personal library of Very Useful SQL Code over the years is to be treasured.
Friday, January 25, 2013 - 1:35:06 PM - Jeremy Kadlec
To me communication is a skill that can be taught and learned. I think this is the case with many aspects of life. I think if you have the desire to communicate effectively and work towards your goals, they are achievable.
Many times after we (DBA's) resolve the issue, the resolution is not properly documented due to various reasons. The DBAs need to have a passion to write small wiki docs on resolution with the code snippets properly kept in the SQL Toolkit on a shared location.
This comes handy to resolve when a simialr / same issue comes after a few months. This also helps the other DBAs in that group.
Saturday, January 26, 2013 - 9:31:20 AM - Jeremy Kadlec
Very true, all these qualities are very much required not only as a DBA, but to be a successfull IT professional. One important quality you need as a DBA is never to panic. Always check wheter the basics are handled properly. Like you said, Just because we are SQL Server DBAs does not mean the best solution to every problem is in the form of a stored procedure, SSIS Package or configuration option.
Monday, January 28, 2013 - 9:19:15 AM - Jeremy Kadlec
A lot of great points, the one thing I would add is that 99.9% of the people in the world don't understand database engines. The DBA needs the skill of knowing how much to explain to management to get a favorable decision. And what to leave out....
Friday, July 19, 2013 - 7:27:12 PM - Jeremy Kadlec