P A R T  5

images

Conclusion

C H A P T E R  17

images

Secrets to Excelling As a Professional DBA

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.

Be Good at What You Do

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.

Face Reality

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.

Accept That You Are Not the Best

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.

Accept and Learn from Criticism

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.

Accept That Things Won't Always Go Your Way

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:

  • Learn to compromise: When it appears that things will not be going your way, then it's wise to start compromising. One tactic you can use is to figure out what you like about a proposed plan that the decision makers are leaning toward, then start talking positively about that aspect of the plan. When it appears that you are coming around to their side, try to rally for a little piece of your plan, the part that you can't live without. Don't be as aggressive as you might have been initially; just try to make a good case for why the process will benefit as a whole if that piece of your plan is added to their plan.
  • Remember the pecking order: Regardless of how much you disagree with the plan that the decision makers come up with, the only thing you can do is provide your recommendation. At the point when you realize that their minds are made up, try to figure out how to make their plan better rather than talking until you're blue in the face. At the end of the day, they are paid the big bucks to make the big decisions. Your job is to make sure they are successful.

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.

Build Your Reputation

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:

  • Be dependable: Your customers, your manager, and your team all need to know that they can depend on you. From completing your assignments on time to helping out other team members with their work (even when you are not asked and when it requires you to work on weekends), make sure you are a person who everyone knows they can count on. If you say you're going to do something at a certain time but forget, then you won't be representing yourself very well. Find a way in your environment to continuously show your management, team, and customers that you are a dependable member of the team.
  • Be accountable: You are not perfect. You will make mistakes. But as long as you always admit your mistakes, you're more likely to be believed when bad things happen and you say that you did not cause the problem.

    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.

  • Be the go-to person: You should always strive to be the go-to person within your team. When management, customers, or other members of your team start to depend on you to help them through tough situations, then you can tell you're becoming that go-to person.
  • Be the problem solver: Strive to be the person who everyone seeks out to solve tough problems. If you want to specialize in one area, like performance, then become the performance problem solver. However, if you want to be the best of the best, then work hard at being a problem solver in all areas within your environment.
  • Achieve the unachievable: We know that projects will come down the pipeline without enough time to accomplish the tasks. Work hard to become the person who's requested to work on projects with impossible timelines. Everyone respects the person who completes the impossible assignment and gets management or customers out of a jam. On your way to becoming one of the best DBAs in your organization, you will need to pull off a couple of projects like this.

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.

Go Above and Beyond

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:

  • Take on new projects: Perhaps there is a problem that needs a solution. Because you and your teammates are busy, no one does anything to resolve the problem or come up with a solution. That is where you come into play. Take on those types of projects on your own time. Come up with solutions—not just a solution to the problem, but also a solution that blows everyone away with your in-depth knowledge of different technologies and concepts. Take advantage of the projects that need work and that everyone else ignores.
  • Challenge the norms: In most organizations, processes and procedures created years ago are still in place. Technology has changed so much over the years that the processes are inefficient and need to be rewritten. Unfortunately, most people are hesitant to change processes that are “not broken,” even if it's known that those processes need improvement. Grab the opportunity to show your team and management the way these processes should run. Don't make the mistake of trying to convince everyone verbally that your way is the best way—show them. Find a way to compare the old process against your new process, and let the statistics speak for themselves.

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.

Communicate Effectively

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.

Talk to Your Target Audience

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.

Know When You Aren't Getting Through

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.

Know When They Don't Care

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.

Be a Good Listener

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.

Remain Calm Under Pressure

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 for Pressure 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.

Deal with Pressure Situations

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.

  • Stay calm: It is important to make sure you remain calm throughout a crisis. Depending on the application and the amount of money lost while the systems are down will ultimately determine how much pressure you get from management during the outage. Stay confident in your ability to handle the situation and that should help management deal with some of their nervousness. The only person you can control during a crisis is yourself. When everyone around you loses control, remember you are prepared. You can do it. And don't let the people around you impact your ability to remain calm.
  • Get management out of the room: In a crisis, your boss may want to hover about as you try to diagnose and solve the problem. For many, such hovering is akin to placing a huge mental block in the path of their otherwise clear thinking. If you can tactfully get your boss out of the room, do so. Explain that it will help you think clearly if you can have some time alone or with whatever technical colleagues you want at your side. Many managers will respect that argument if you put it to them in a calm and tactful manner.
  • Identify the problem: Before you start resolving the issue or providing estimates for the amount of time it will take you to get the system back up, make sure you clearly identify the problem. If you don't research the problem for yourself, you could end up resolving one issue and not all of the issues. That will just increase your downtime and make management unhappy. So spend a little time researching the issues prior to providing solutions. Don't make the mistake of providing false estimates because you didn't do the research up front.
  • Determine the solution: Once you have identified all of the issues, discuss your resolution before you start fixing things. If you work with a team of DBAs or other IT staff, discuss your possible resolution to make sure you cover everything. There is nothing worse than thinking you have the issue resolved just to create another problem. Talking about an issue does not appear to management that you are resolving the issue. However, discussing the issue with staff and colleagues will lead to better and safer resolutions, so don't skip this step.
  • Create a backup plan: Based on the severity of the issue, you should come up with a backup plan to your original plan. Granted, you will not be able to plan for every possible failure, and you should not spend time doing so. However, it is important to make sure you have an immediate backup plan just in case your primary option does not work out. That way, you don't have to get everyone back together to discuss your next steps.
  • Work simultaneously: Once you have determined your plan of action, distribute the work if you can. In other words, assign tasks to multiple DBAs to help get the system back up faster. There is no reason to have everyone sitting around one computer if there are tasks that each can do.
  • Have someone stand over your shoulder: During a crisis, mistakes are costly. Don't make assumptions. Make sure your actions will successfully accomplish the agreed-upon plan. Performing the wrong action, like restoring the wrong database file, could double your downtime and really upset management and customers. When executing important processes, have another DBA stand over your shoulder to make sure you are doing what you all planned. That way, one of you will likely catch an error before you lose too much time.

    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.

  • Provide status updates: Throughout the disaster, you will have to provide updates to management. Make sure you don't provide an estimated time that the system will be available until you know what the issue is and your solution. Always over estimate the amount of time you think it will take to recover from the issue. When unexpected problems occur with your solution, make sure you communicate to management the impact to the estimated system availability time. (Hopefully, you followed some of the tips in the section “Prepare for Pressure Situations” and have good statistical information to provide better estimates on the amount of time it will take to perform certain actions.)
  • Remember to eat: During a crisis, especially an extended crisis, make sure you take care of yourself. As much as you can, try to follow your normal routine. If you normally leave work for lunch, then strive to make time to leave work and grab a quick bite to eat. If you frequently leave your desk for a beverage and a little chit-chat around the water cooler, then sneak away to the water cooler every now and again. You aren't only making sure you stay hydrated and nourished during the crisis; you are also giving yourself a chance to step away from the problem to clear your head. You will be amazed at the number of problems that you will solve when you are away from your computer giving your mind a well-deserved break.

Wrap Up the Pressure Situation

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.

  • Set up a post-mortem meeting: Make sure you have a meeting with all of parties involved, including management, to discuss the situation. Make sure the meeting at least addresses the following questions:
    • What caused the issue?
    • What did you do to fix the issue? Recap the events in the order that they happened.
    • What are the negative repercussions of your actions? For example, did we lose any data?
    • How do we prevent the issue from happening in the future?
  • Complete unfinished tasks: Often, when you are in the middle of a crisis, you work on the most critical tasks needed to get the system back up for users to connect to it. After users are connected again, make sure you go back and finish the less important tasks that you may have skipped during the crisis.
  • Take a look back: Shortly after the crisis, get together with everyone involved in the recovery process and discuss the things that you all did well versus the things that need to be improved upon before the next crisis. Talk about everything—communication, processes that you all followed, the amount of time it took to resolve the issue, any mistakes that were made, things that you all did right, and everything else that you can think of. Whatever you do, don't make this meeting a finger-pointing session. Just make sure you all figure out the things you can do better the next time a crisis occurs.

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.

Be an Effective Leader

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.

Make Tough Decisions

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.

Make Others Around You Better

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.

  • Be a good teacher: One skill set that some DBAs lack that you could take advantage of is being a good teacher. Take the time to work with other DBAs to show them some of the methods that you use to solve problems. When you work on something cool that you think they can benefit from, then share the information. Make the time to work with them to help solve their problems. Don't try to make them solve problems the way that you do. Just help them solve it their own way. Strive to help others as much as possible, and it will be appreciated.
  • Be a mentor: If the opportunity presents itself, then take advantage of it. Mentoring other DBAs, both seasoned or junior, can be rewarding for both of you. Mentor another DBA even if your job description does not require you to. Mentor another DBA even if you don't think you have the time. Management and the rest of the team will notice and appreciate it.
  • Learn from others: You will make other DBAs around you better if you ask for help when you need it. Give them the opportunity to work on being a good teacher and a mentor to you. That is a great way to make sure you have a mutual relationship of giving and taking information from the other DBAs. Learning from other DBAs also gives you a chance to show them that you don't think you know it all and gladly welcome their help. Don't be too proud to learn from others.
  • Create healthy competition: Healthy competition among DBAs can be beneficial for all of you. As long as you are competing, then all of you will push yourselves to get better. That is a win-win situation for everyone, including the company. Converting cursors to set theory or tuning poorly performing queries are great examples of competitions that everyone can participate in.

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.

Summary

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.88.110