This chapter focuses on developing non-technical skills that can help separate you from every other DBA within your organization. Why is this important? In our opinion, the nontechnical skills place you in the top tier of DBAs and ultimately help you make more money. We have both been successful professionally in a short period. We would like to share with you some of the things that we have done to grow rapidly in our profession.
In order to excel in any profession, you have to be good at it. There are no ifs, ands, or buts about it; if you're not a good database administrator, then you will not excel in the DBA role. Just because you're not a good DBA today, does not mean you can't be an outstanding DBA within a couple of years. You just have to set your sights on the goals you want to achieve and work hard to accomplish them.
Part of being a good DBA is to face reality. Be honest with yourself about what you know and what you do not know. Be honest with others as well. Know when you can do something, and know when to ask for help. And be prepared to compromise.
You do not have to be the best DBA within your organization in order to surpass the other DBAs. There is nothing wrong with striving to be the best. Understand that there will be DBAs who know more about a topic within SQL Server than you do. SQL Server is too large for you to be an expert in everything. So strive to have more overall knowledge about SQL Server than most, be able to discuss various SQL Server topics intelligently, and be really good at some topic within SQL Server—find a niche that interests you, in which you can develop a deep expertise and be recognized for it.
Throughout your career, you will perform actions that are not necessarily the best and someone will criticize you for those actions. Depending on what you did, who caught it, and how bad it was, you may be heavily criticized in an unfriendly way. In order to excel as a DBA, you have to take in those words, regardless of how harsh they are, learn from them, and move on. Whatever you do, don't take criticism personally and start doubting your ability or skill set. As good as you are, you can't do everything right the first time. There is no shame in making a mistake; just don't make the same mistake over and over again.
Unless you run your own company, you might as well accept the fact that things will not always go your way. As strong-minded as DBAs are sometimes, it can be hard to realize that the decision makers will not always agree with you. When that happens, don't let it bother you. Your job is to provide your recommendation, but the decision makers will ultimately make the decision. There are two things that we want you to keep in mind when you see that things aren't going your way:
As long as you can accept the points discussed in this section, then you shouldn't have a problem excelling as a DBA. These are points that we have learned over time and wished someone would have shared with us early on.
While you are increasing your knowledge of SQL Server, you should work on developing a reputation within your organization. Do you want to be known as the DBA who always needs help solving problems and never gets your work done on time? Or do you want to be known as the go-to person who will get the work done and solve problems? You're reading this book, so we know the option you have chosen. The following list contains some ideas that will help you on your way to building the reputation that you want:
Being accountable also means that you may have to accept responsibility for problems that you don't think you caused but cannot prove that someone or something else caused it. People will always blame the database for problems. That means, as a DBA, they will blame you for those problems. We know that the database is not the problem in most cases, but proving that is sometimes a little more challenging. You must choose your battles; without proof, accept responsibility and don't point fingers.
As we conclude this section, we hope you understand how important it is to be good at what you do in order to excel as a DBA. Your reputation is what will play a heavy role in determining promotions and pay increases. Work hard at creating a reputation that you can be proud of.
In order to excel as a DBA, you have to be willing to go above and beyond your required duties. Going above and beyond means you have to be willing to work long hours, work on assignments or projects outside of your job description (if you are a DBA II, do senior DBA work), and put forth an extreme amount of effort in everything you do. Going above and beyond means you don't do just the minimum to accomplish assignments. Add all the bells and whistles to make sure the process you create stands out.
Going above and beyond also means taking the initiative. Following are some types of projects you can take on to show management and your teammates that you are serious about doing more:
But we're going to warn you: Trying to change existing processes won't be easy. There are a lot of people attached to existing processes, and people are usually against change. Don't get discouraged when they resist. However, it's hard for anyone to resist when the performance of your newly created process is substantially better than the old process. So gather statistics on both processes, and show everyone why your way is the best. Let your results convince them.
Communicating effectively is another way for you to distinguish yourself from many other DBAs. Many DBAs do not communicate well with non-technical people. Some even struggle to communicate with fellow DBAs. In most cases, the problem isn't a lack of communication skills. The problem stems from an inability to explain a point at a level that the target audience can completely comprehend. The following sections give some tips that may help.
To prevent yourself from using too many technical details, you should try to talk to the technical level of the majority of your audience or the most important members of the group (which may consist of some end users on a conference call, a customer, or a meeting of various people). Make sure those people clearly understand what you are discussing before the conversation ends. You can always clarify things for the smaller group that may not have caught all of the presented information.
Think about the information needed to fulfill the expectations of the majority of the group. If the majority of the group in question consists of non-technical people, then you should provide them with a high-level overview of the content you are discussing. Most of the time, non-technical users want the result. They are less concerned with the details surrounding how the process will work. They pay you the big bucks to figure that out. On the flip side, if you are in a meeting with a group of DBAs discussing an issue where they are expecting detailed information, then you should not discuss the issues at an overview level. For all of the levels in between non-technical people and other DBAs, you should adjust your content accordingly. You should set a goal to become knowledgeable enough such that you can present the content at varying levels of technical detail, but still get the point across effectively to the various people you communicate with.
Sometimes, when you are talking to your target audience, you may have thought that their technical level is greater on a topic than it really is. Other times, you may explain something in a manner that is not clear enough for the group to understand your point. Regardless of the cause, you need to be able to determine when the group you are talking to doesn't “get it.” You all know the look—blank faces, consistent nods, no follow-up questions, and other empty methods of them agreeing with you.
If you want to be in the top tier of DBAs, then you need to recognize the look and be knowledgeable enough about the topic to explain it differently. You should also be patient and ensure the group that it does not bother you to explain the content so that they will understand it. Patience is really important. Depending on the group, it may take time for them to figure out what you are talking about. Regardless of how long it takes, spend the time asking questions of the group to make sure that they really do understand the information you are presenting. They will appreciate your efforts.
There's also a danger sometimes in explaining too much detail. Many of us are so passionate about SQL Server that we sometimes provide too much information when asked a question. When asked questions about what columns to add an index on, we provide detailed explanations about reviewing the execution plan, checking the indexes that are currently available, comparing the reads versus writes on the table, and 30 minutes later we have bored the developer to death. Sometimes it's enough to say, “Add an index to columns A and B with an INCLUDE column of C.”
Your audience really does care about what you have to say, but often not at the same level of detail that matters to you. Look for signs of restlessness and boredom. Learn when to summarize. Learn when to say simply that a given approach to a database problem will perform better, and when to launch into great detail about why that is the case.
A good strategy is to summarize first, while being prepared with hard facts to back up your statement. When you tell developers that you need to include a column, be prepared to explain why that is the case, should they care enough to ask. Some will be very interested in that level of detail. Others will not be interested at all. The trick is to learn to detect the level of interest from your specific audience and to respond appropriately.
One aspect of being a good communicator is the ability to be a good listener. You have to pay attention to what people are saying in order to accurately and effectively answer their questions and concerns. Let's be honest—sometimes we have a hard time listening to what other people are saying. We over talk them, assume we know what they want, and then just start talking. Oftentimes, if we would just listen to people, we could solve more problems and answer more questions.
To be a good listener, you have to be an active participant in a conversation. Follow along with the conversation, ask questions, and provide feedback. If you are not interested in the conversation, then try to find a way to make yourself interested.
As you probably know by now, being a DBA can be stressful. Processes will break, systems will go down, and you will experience major performance problems at times throughout your career. As you continue to excel as a DBA, you will have to learn how to handle the pressures of dealing with high-stress situations.
Prepare in advance for stressful situations, and you will increase your chances of not panicking when it is time for you to perform. What do you need to prepare for? Chapter 12 discussed practicing your recovery strategy and documenting information needed to recover if your server goes down. Use the monitoring techniques in Chapter 14 to proactively monitor your server and hopefully prevent performance problems from occurring in your system. Lastly, you have to prepare for the unexpected.
Understand that you cannot prepare for everything. You will sometimes experience problems that you haven't experienced before. The best way to overcome a lack of experience is to read more blogs and participate in the SQL Server community (also refer to Chapter 18). That way, you minimize the types of issues that you haven't seen before.
Unfortunately, the day will come when you have to deal with a disaster. Management and others will remember how you handle these situations, so take advantage of the opportunity. Depending on the criticality of the situation, you may not have time to implement or practice some of the things that we list in this section. Just keep them in mind and utilize what you can when you can.
There is nothing wrong with asking someone to stand over your shoulder. With the pressures of a crisis, you are more likely not to be thinking as clearly as you normally do. Depending on the time of the issue and the number of hours you have been working, fatigue may start to set in. That can also cause you to make more errors than normal. Take advantage of having a second pair of eyes to validate the decisions you make, especially the important ones.
After you have the system back up and running, you need to make sure you wrap up the situation properly. The following list contains some of the steps that we follow after the dust settles.
We know you may not have a lot of time to spend preparing for a situation that may never happen. However, those of you who prepare for different situations and have a plan for dealing with a crisis will often solve the problems faster and remain calm during the crisis.
It is important to have excellent leadership qualities to excel as a DBA. Regardless of your career ambitions, as a manager of DBAs or a lead DBA, you have to be an effective leader to make it to the top. A promotion to a leadership role does not make you a leader. You cannot force people to follow you. You can find leadership characteristics all over the Internet; however, the following sections provide you with some information that we feel will help you become a leader in the eyes of other DBAs.
In order to be a leader, you have to be able to make tough decisions. There is no easy way, but someone has to do it. We all know what those decisions are—decisions where you struggle to make up your mind about what the best course of action is, decisions where you are going to be appreciated for making the right choice and getting the system back up quickly, or cursed for making the wrong decision and increasing the downtime of the application. If you want to excel as a DBA, then you are going to have to be ready to make the tough decision when the time comes, and then justify your recommendation.
Situations will arise where you have to defend your recommendation against another. Make sure you can back it up thoroughly, but be prepared to consider opposing points of view. Don't let the person against whom you are defending your recommendation intimidate you. No one is perfect; no one knows it all. If you support your argument well enough, then you have accomplished your mission. Your recommendation doesn't have to be chosen in order to prove that you are ready to make tough decisions. You just have to show the decision makers that you are ready to take on that role. Do a good job supporting your argument, and the decision makers will listen to you a little more the next time.
One thing that you must do when discussing your recommendation is keep your ears open. Often, DBAs have a habit of not listening to other people when they disagree on the best approach to solving a problem. If you fall into that category, then you cannot be that way if you want to be a leader. If you aren't listening to the point that others are making, then you may end up making the wrong decision. Being the decision maker doesn't mean that you have to use your ideas all the time. It means that you have the responsibility of making the best decision for the situation that you are in. That recommendation can come from anyone. If you aren't listening to what they are saying, then you will likely miss that information.
A good leader will make other DBAs better. You can do this with a variety of methods, like sharing with them the cool things that you learned from reading this book or other articles online. The following list provides you with some of the different things you could do make the other DBAs around you better.
We can't talk about many things you can do to make others around you better. However, the point we are making is that you shouldn't purposely try to create a gap between yourself and the team. Don't keep all of your knowledge and experience bundled inside of your brain. Share the information; don't intentionally create a knowledge gap between you and everyone else. Sharing information will make a stronger team, and management will recognize that you are the source of its strength and reward you accordingly.
As we conclude this chapter, we hope that we provided you with some good information to help you get to the next level professionally. We implemented a large number of these steps in our careers, and that is what helped us get to where we are today. We hope that this information benefits you as well.
You should always strive to constantly become better at what you do. Chapter 18 talks about being an active member of the SQL Server community and other methods for learning outside of work. Combine the information that you learned in this chapter along with the information you will learn in Chapter 18 to help you put together a plan to excel as a DBA.
18.226.88.110