Measuring Your DBA Skills

Over the last 9 weeks I took you on a journey of skills and career topics related to being a SQL Server DBA. We looked at the Production DBA. We saw skills and career topics from the beginning to mid-career to Senior DBA. Then we looked at the Development DBA and their skills and career development needs. Finally there was a wrap up post.

To make it easier for everyone to get to these posts, I decided to bring them all together on a single page.

measuring your skills

 Production DBA Skills Years 0-2

Production DBA Skills Years 2-4

Production DBA Skills Years 4-7

Senior Production DBA Skills Years 7+

Development DBA Skills Years 0-2

Development DBA Skills Years 2-4

Development DBA Skills Years 4-7

Senior Development DBA Skills Years 7+

Series wrap-up

If you would like help with anything in this post, or with something else related to SQL Server, reach out to me here, or on Twitter, and I’ll be glad to offer assistance.

How Do I Measure My DBA Skills Part 9

Production and Development DBA Skills and Things We Didn’t Touch On

We’ve covered a lot of ground for Production and Development DBAs in terms of the skills and applicable career topics. We’ve mentioned necessary skills with T-SQL, backup/restore, automation, PowerShell, troubleshooting, SSIS, SSRS, patching, Query Store, HA/DR, leadership and emotional intelligence. That’s quite a list! However, looking back at the series, there are still a number of things that weren’t mentioned.

Other skills and career topics not discussed along the way:

  1. OS skills – This once used to be just Window skills. However, with SQL Server on Linux, and depending on what is in use in your environment, you may need to learn the basics of the Linux platform as well as Windows.
  2. I also didn’t touch on the topic of SQL Server Wait Statistics. This is a tried and true method for diagnosing server level issues that can lead to further investigation about what ails your SQL Server.
  3. What about the cloud and virtualization? Azure, AWS, Google Cloud Platform, VMware, Hyper-V. These are all virtualization platforms that are in use these days, so you may encounter these and need to know, or might want to know, something about how they work.
  4. What about certifications? Are they worthwhile? Should you pursue one? If yes, which one?

Then there is also a third career title I didn’t even mention. What about the DBA whose focus or specialty is in BI? You are the person who takes care of the SQL Servers, but maybe you also write a lot of reports for the business using SSRS, Power BI, maybe SSAS, Tableau, Qlik or some other reporting platform. This may really just be a specialty within the Development DBA role, but it could be separate as well.

Beyond the Senior levels of the types of DBA careers discussed, you’re likely to end up moving into management. That will open up an entirely different set of needed skills and career topics that you will need to explore.

Next Steps To Take

Planning - To Do List

  1. If you’ve read through this series and followed the instructions about building a training plan for skills you would like to develop, then you likely have a significant list of skills to work on. Don’t focus on how long the list is. Select one thing and work on it for however long it takes for you to feel at least semi-comfortable with it. Then, cross it off the list and pick something else. Repeat the process. Within a few weeks or months, you will see a lot of progress.
  2. Remember to keep your skills/career development plan somewhere that allows you to see the plan every day. This will help keep you on track and your To Do list prioritized.
  3. You can go to kand.io and find a variety of graded skills test. There is one for Database Administrators and one for Database Developers. Both were written by the fine people at SQLSKills.com.
  4. If you would like help with anything in this post, or with something else related to SQL Server, reach out to me here, or on Twitter, and I’ll be glad to offer assistance.

 

How Do I Measure My DBA Skills Part 8

Senior Development DBA

You’ve now likely reached the last stop in your career as a Development DBA. You have arrived at the Senior level. What skills do you have or should you be working on as a Senior Development DBA? I’m glad you asked. Let’s find out.

Senior Development  DBA – 7+ years of experience

    1. Most competencies from the previous levels.
    2. Advanced analysis of SQL Server Performance issues using advanced techniques to increase performance and/or stability. This could involve server level monitoring and analysis to identify issues or concerns.
    3. Makes decisions regarding SQL Server architecture, development strategies and overarching performance considerations, often in tandem with Development team or even the Infrastructure team.
    4. Regularly participates in code reviews of mid-level to Senior Devs and other DBAs, offering best practices and guidance and may assist in implementation.
    5. Fosters and protects healthy development environment, including Source control, controlled or automated migrations, and advanced development/QA Data curation via data masking technologies and potentially other methods.
    6. Makes significant contributions to the design of migrations and upgrades for SQL Server and may provide assistance to other, more junior members of the team, when it comes to implementation.
    7. Leads knowledge sharing in four or more areas.
    8. May contain competencies from Production DBA levels up to level 2 or 3.
    9. Regularly demonstrates good self-awareness, self-management, social awareness and relationship management skills (emotional intelligence

Automating SQL Server Processes

 

automation example

Remember the washing machine example from an earlier post? You wouldn’t want to use a tub and washboard to clean your clothes. You use a washing machine right? It’s faster and more efficient than doing things manually. Yeah, you’re going to be building a lot of washing machines at this stage of your career.

You will be guiding and contributing to efforts to automate processes. This will certainly show up in work efforts for migrations and upgrades as well because the Senior Development DBA will be a person who automates as much as possible. You may be doing this exclusively through PowerShell but you may also be using a variety of DevOps software to automate processes as well.

At this level, you will also be guiding implementation of and answering questions related to things like Dynamic Data Masking, cell level encryption and row-level security. You may be doing advanced data analysis using temporal tables. You will certainly be deciding which of these technologies, and others, should be used and when.

There is also likely going to be some skill overlap with the production DBA. This Senior level person is likely going to need to know quite a few things about production support and troubleshooting. You’re going to need to be able to support SQL Server Agent jobs and be able to troubleshoot job failures. Using a third party monitoring software will likely be needed as well. Many of the skills discussed in earlier posts regarding production DBA skills up level 2 or 3 will be needed at this level.

As with the Senior Production DBA, knowledge sharing and emotional intelligence will be key at this point in your career. You have to be able to work with others, have patience and keep your cool when things don’t go well.

Next Steps to Take

  1. Check out DevOps software that helps you automate tasks.
  2. Check out migration tools like the Database Migration Assistant.
  3. Get comfortable sharing your knowledge with other people. You’re going to need presentation skills and the commensurate people skills that go along with that.
  4. If you would like help with anything in this post, or with something else related to SQL Server, reach out to me here, or on Twitter, and I’ll be glad to offer assistance.

How Do I Measure My DBA Skills Part 7

Lead Development DBA

Over the past few weeks I have been writing about DBA skills for various career levels, and for a couple of different DBA types – the Production DBA and the Development DBA. Today, we’re examining the Lead Development DBA. You’ll discover what this person needs to know.

DEV DBA III/Lead Development DBA – 5 to 7 Years

  1. All competencies from previous level.
  2. Manages most administrative aspects of non-prod environments without assistance from other DBAs.
  3. Participate in T-SQL development and database design of advanced complexity.
  4. Investigates potentially complex data issues within SQL Server.
  5. May have several years of progressive experience with SSIS, SSRS or SSAS.
  6. Administers source control systems for the environment.
  7. Regularly automates tasks. This should include the use of T-SQL, SQL Server Agent, and PowerShell.  May include the use of other languages like Python or C#.
  8. Creates and manage design documentation related to development work.
  9. Regularly explores, learns and implements new SQL Server development features. Examples would include new T-SQL enhancements and new feature sets like Temporal Tables for SQL Server 2016 and Data Virtualization for SQL Serer 2019..
  10. Advanced understanding of execution plans, indexes, and query tuning.
  11. Investigate complex data integrity/repair issues within SQL Server.
  12. Leads in knowledge sharing in two or more areas from levels I, II, or III.
  13. Assists with SQL Server migrations and upgrades in DEV/QA or production.
  14. Mentors Junior DBA’s and Developers.
  15. Participates in code reviews.
  16. May contain competencies from Production DBA levels up to level 1 or 2.
  17. Demonstrates emotional intelligence and may take an interest in leadership roles.

So let’s dive into a few of these points in the skill list.

Managing Non-Prod SQL Servers

First, as a Lead Development DBA, you are managing your company’s non-prod SQL Servers without the regular input of other DBAs.. That doesn’t mean you know everything about managing the environment. However, it does mean you are no longer asking any basic questions. You’re managing new SQL Server installations and post-install configuration, managing access to the SQL Servers, and SQL Server maintenance (backups/restores, index and statistics maintenance, CHECK DB, etc).

You Have T-SQL Skills

Second, you know how to use views for inserting, updating or deleting data. Techniques such as temporary tables, table variables or a derived tables are used appropriately. You also know when dynamic SQL is appropriate. By the way, the answer isn’t “never.” Stored procedures you write have error handling using TRY… CATCH and/or THROW. Inputs are also validated to address SQL injection. You know and avoid the problems associated with scalar user defined functions. You consume development material from people like Itzik Ben Gan and Gail Shaw without your eyes glazing over.

SQL Server Performance Tuning and Optimization

Third, performance tuning and optimization is your bread and butter. You’ve probably read the various editions of books on execution plans by Grant Fritchey. Brent Ozar and Hugo Kornelis are people whose blogs you frequent to learn about execution plans and making SQL Server go fast. The Query Store is something you know how to leverage to find poor performing queries using the reports and perhaps some custom T-SQL. MAXDOP and Cost Threshold of Parallelism are things you understand and know what to do with at the server level. additionally, you know how these settings affect queries running on the SQL Server. You also know that MAXDOP can be set at the database level in newer versions of SQL Server. If you didn’t know that, see this.

Working With Other SQL Server Components and Features

Fourth, depending on the needs of your employers, you are likely to be  comfortable with SSIS, SSRS or SSAS. You can develop solutions with those tools that go beyond basic things. SSRS Administration using the Report Manager and Report Server URLs is familiar to you, for example. Complex SSIS packages are something you’re not afraid of at this point.

Mentoring and Knowledge Sharing

Fifth, at this stage of your career you will be expected to be a leader in your group and share knowledge with others. You will be skilled enough to share your growing expertise in 2 or more areas. You may be the go to person for execution plan analysis, Query Store and T-SQL.  Share that knowledge with others. Make someone else’s professional life better by sharing your experience. This will not only benefit the other person, but you as well.  Nothing solidifies learning like trying to teach something to someone else!

As part of your leadership among other people, you should demonstrate emotional intelligence in most of your interactions. You are able to manage your own emotions and the emotions of others during your interactions. You’re also taking on more and ore the role of a leader at this phase of your career. People will be looking to you for guidance and decision making.

Next Steps To Take

  1. Look at the criteria in this post and make a training plan for the things you know you need to work on and put that plan somewhere that you will see on a regular basis.
  2. Contact me here for questions about this post or the skills listed in it. You can also reach out to me via Twitter using the handle @leemarkum.

 

How Do I Measure My DBA Skills Part 6

Development DBA II

With the last post, we began talking about the Development DBA and the skills needed at the beginning of this career path. Now it’s time for you to ponder what the next level looks like.

Development DBA II – 2 to 4 Years of Experience

  1. All competencies from level 1
  2. Develop basic to intermediately complex stored procedures, triggers, views and other database objects.
  3. Will have some experience with SSRS, SSIS, and/or SSAS development, deployment and possibly administration.
  4. May administer source control systems for the environment.
  5. Promotes SQL changes from Dev up through all environments, including production.
  6. Contributes to automation, particularly using native SQL Server methods, but could also leverage PowerShell or other languages for automating tasks (Python, C#, etc.)
  7. Designs pre-prod testing of SQL code prior to production upgrades or migrations. This includes performance and regression testing.
  8. Basic to mid-level understanding of execution plans, indexes, SQL Server statistics, and query tuning.
  9. Investigate basic to moderately complex data integrity/repair issues within SQL Server
  10. May begin leading in knowledge sharing in some capacity in one or more areas from level I or II.
  11. May take an active interest in leadership and in development of leadership skills, including emotional intelligence.

In years 2 through 4 the Dev DBA will work with more complex T-SQL such as recursive CTE’s, and error handling with TRY CATCH or the THROW syntax will likely be introduced at this stage. You may begin writing database views during this part of your career and leveraging them to make query writing a bit simpler for yourself and others. You are likely to be exposed to T-SQL Triggers and you’ll need to understand them and even maybe write a few triggers of your own.

You will likely start to get some sort of regular exposure to SSRS, SSIS or SSAS at this point. This will of course be based partly on your own interest in learning the tools of the trade and what is in use already at your employer.

Source control and the process of promoting changes from source control up into QA, and even production, may be something that begins at this level. After all, as a person who is writing a fair amount of code, you will have an interest in ways to manage code changes.

Automation

 

automation example

Let me ask you a question. Would you rather wash clothes manually with a washboard and tub or use a washing machine? It seems like a silly question. You would want to use a washing machine. You probably can’t imagine washing clothes without one.

In a similar thought process, there are things that you and others at your job will not want to do over and over in a manual way.  Accordingly, you will make more significant contributions to automation of tasks at this level in your career. SQL Agent will become your friend and learning to script out processes to make them easily repeatable, rather than doing everything in the SSMS GUI by hand, will occur more frequently. You may automate tasks with PowerShell for sure, especially using DBATools, but Python may also be an option. In case you didn’t know, Python does integrate with SQL Server via a specific driver.

Testing Code and Performance Tuning

An important part of the Dev DBA’s work is testing SQL code. You’re going to be doing more of that at this level in your career. You will need to verify query results and probably automate repeated testing of code as well so that you can test not only results but performance. Maybe the query returned the results you expected but it took too long to do it. This is where learning how to read execution plans will come in.  Execution plan operators will give you clues about what is happening with your T-SQL and those clues can help you with re-writes or with indexing.

Aaah yes. Indexes.  You’ll need to begin understanding indexes as well.  You’ll need to know what they are, the different types of indexes and when to use each type. Types of Indexes are as follows:

  1. Clustered indexes, which may be the result of creating a primary key. These may be clustered or non-clustered primary keys.
  2. Non-clustered row-store indexes.
  3. Non-clustered columnstore indexes.
  4. Clustered columnstore indexes.
  5. Filtered indexes

As a corollary, you’ll need to look into the concept of SQL Server statistics as well.

Next Steps to Take

  1. If you’ve read the other parts of this series, then you know I’m going to tell you to copy the skills list above to a Word doc and place an “X” next to the things you need to work on.
  2. Use those “X” marks to build a training plan. Put the training plan somewhere that you will see every day. One thing that should be on your training plan at this stage is learning more T-SQL.
  3. Work the plan. I have a post that will help you find resources for your learning plan.
  4. Contact me here for questions about this post or the skills listed in it. You can also reach out to me via Twitter using the handle @leemarkum.

How Do I Measure My DBA Skills Part 5

Development DBA

We’ve been on a journey recently in this series as we discuss measuring your DBA skills. Previous posts have been intriguing to you. You like where this is going and yet, your skills are different from what we’ve been discussing in this initial part of the series.

Maybe you are a Developer who works with databases and you find SQL Server very interesting. You build some tables and write some queries as part of your work and you really like doing it. You like trying to figure out how to make your initial draft query for your project run faster. You have conversations about this with other Developers or maybe even a DBA or two at your company. What you hear resonates with you and deepens the interest in SQL Server. You wonder, “Is there a place for me in the SQL Server world? What would I do if I did a career pivot to work with SQL Server almost exclusively?” Enter the Development Database Administrator.

 

What Does a Development DBA Do?

Before we jump into a discussion of skills, we need to try to answer the question, “What does a Development DBA do?” After all, if you think you’re interested in this, what are you signing up for?

A Development DBA will often be responsible for the management of the non-prod SQL Servers, SQL development work for applications and processes, task automation and perhaps source control and the change deployment process. Non-prod SQL environments need care and maintenance. The Dev DBA role can assume this responsibility. This isn’t because the Dev DBA is a “Junior” role, but because this non-prod environment plays the critical role of testing grounds for development work. This non-prod environment will be where the Dev DBA works and experiments with new SQL Server development such as stored procedures, SSIS work SQL Agent job development etc.

This work will often be done in tandem with Developers from other areas of the company to produce new products and applications. The Dev DBA spends most of their time in non-prod so there is familiarity and as a result it makes sense to have the Dev DBA manage the environment.

Related to the experimental nature of the work, and the need to promote that work to production, the Dev DBA will often participate in or wholly manage source control and change processes such as source control software and the design of the process of promoting code through the various developmental levels of the environment. Once deployments are tested, scripts are then often handed off to Production DBAs for deployment of new code in production, but even this could be automated by the Dev DBA with control over when the deployment happens being wielded by the Production DBA.

At higher levels, the Dev DBA role may begin to overlap some with the Production DBA role and skillset. Let’s dive into the skills of a Development DBA.

The Development DBA Role

DEV DBA – 0 to 2 Years Experience

  1. Design tables utilizing basic normalization techniques.
  2. Basic T-SQL development. SELECT, INSERT, UPDATE, DELETE. Stored procedure development with guidance from more experienced DBAs.
  3. Manages most administrative aspects of non-prod environments with assistance from more experienced DBAs, including the application of patches to pre-production.
  4. May participate in pre-prod testing of SQL code prior to production upgrades or migrations.
  5. May have some exposure to SSIS, SSAS or SSRS.
  6. Demonstrates understanding of basic backup/restore processes.
  7. Demonstrates values driven behaviors such as humility, integrity, teamwork and is teachable.

T-SQL Skills

Now that you’ve looked over the list, let’s talk about it. T-SQL skills and overall development skills are at the heart of this role. The Dev DBA will spending a lot of time manipulating data and the first and foundational way that will happen will be with the core skills of SELECT, INSERT, UPDATE and DELETE. Introductory and basic T-SQL skills will be learned, practiced and built upon as you spend time in this role. A corollary to that will be learning all about the relational database table. At this phase of the career the Dev DBA will be learning what a good relational table should look like. Even if you can’t quote them, the principles of first, second and third normal form will become familiar as you design more and more tables.

Stored procedure development will be learned in this part of your career. You’ll be exposed to what a stored procedure is, why it should be used, advantages to it, the basic form of a stored procedure and so on. Of course, you’ll begin to write some of your own stored procedures as well. After all, there’s no point in learning about them, but not actually writing them!

Database Security

In this phase of your career you maybe be asked to make some logins and users as part of your development work. You’ll need to learn what those database objects are, how they are different and how they work together to provide authentication and permissions. You will, I hope, be doing this with the help of other DBAs who have walked this path before you so that you’re not scratching and clawing to figure it out on your own. My point is, other people will be guiding your work at this phase.

You will be testing code, a lot. After all, in this role you are creating things in non-prod that have to be reliable. You will be making sure that result sets make sense.

Depending upon the technologies in use at your company, you may be exposed to things beyond the T-SQL and basic security that we’ve already mentioned. SQL Server Integration Services (SSIS) may be  important at your work, and as a result, you will need to have some basic understanding of it. Maybe your employer has invested heavily in SQL Server Reporting Services (SSRS). In which case, you will be exposed to report development and deployment.

What Happens When I Lose Some Data?!

At this point in your career, you probably aren’t taking backups or restoring backups. But you should begin learning backup and restore concepts. You’re going to need that understanding as your career grows. Trust me!

You are going to make a mistake in a non-prod environment and wipe out a small, or large, amount of data. Please accept that this is going to happen. You’re going to make a mistake. You’re going to freak out and think, “I’m going to be fired!” I hope that you won’t be fired over it, especially since you’re not working in production. If you introduce me to a person who says that they’ve never messed up or lost any data, I will have met either a liar or a person who hasn’t worked with data nearly long enough!

When this happens, and it will happen, relax, and ask for help. If the other people on the DBA team have done their first and most important job, you’ll be able to get the data back. If they haven’t done their first and most important job, then maybe they are the ones who should be worried!

Do I Really Need People Skills?

Just like the other posts in the series, the last thing on the list is about people skills. Yes, you’re going to need them.  You have to interact with other people on your team, people on other teams and maybe even external customers. You need to be teachable, develop good listening skills and be willing to help other people. All of these things will help you lean your craft. You need the other people around you because they know things and have experience that you need. Remember that example above where you’ve deleted data you need to get back? If you don’t work on your people skills and have good relationships with co-workers, then that conversation where you have to ask for help is going to be reeeaaallllly awkward!

Particularly at this level of your career, other people can help you avoid pitfalls in your code as well as help you get your next promotion. So, be humble and willing to ask questions. When someone answers your question, don’t argue. If you don’t like the answer or you think the person is wrong, ask more questions to get clarification. Say something like, “I’m not sure I follow. Can you try explaining that another way?” Or you might say, “I hear what you’re saying. Would there be anything wrong with doing it like ‘X’? Is there a reason that wouldn’t work?”

Next Steps To Take

  1. Copy/paste the skills list into a Word doc and place an “X” next to anything you need to work on.
  2. Pick two or three things to focus on and build yourself a training plan. Put that training plan somewhere that you will see it every day.
  3. Ask a person on your team how to do a task that is important in your environment, but that you don’t know anything about yet.
  4. Talk to me. Contact me here if you would like specific help with anything in this post or other things related to SQL Server. If there is an issue with the form, you can reach me at leem@leemarkum.com. I will be glad to help.

How Do I Measure My DBA Skills Part 4

Dear reader, we’ve been on a bit of a journey recently so that you can discover what skills are needed at various levels or phases of your career.  The first three phases have been covered in previous blog posts and you have now come to the Senior level for the Production DBA. So, how do you measure the skills a Senior Production DBA should have?

Senior Production DBA – 7+ years of experience

  1. Most competencies from the previous levels.
  2. Advanced analysis of SQL Server issues using native tools such as Extended Events, Perfmon, Query Store and 3rd party monitoring tools.
  3. Makes decisions regarding SQL Server architecture, hardware, virtualization and storage, often in tandem with an infrastructure team.
  4. Designs high availability and DR solutions and may provide guidance to other team members during implementation.
  5. Plans SQL Server migrations.
  6. Leads knowledge sharing in four or more areas.
  7. May possess some competencies from DEV DBA levels up to level 2 or 3.
  8. Regularly demonstrates good self-awareness, self-management, social awareness and relationship management skills (emotional intelligence)

You will notice that in previous lists of skills, I have listed skill 1 as “All competencies from the previous level.” However, I have not done that in this case, why? There are at least two reasons that I will detail.

Varying Experiences

You will notice that in previous posts I started listing skills and saying that the person “may” have a certain skill. Maybe you were asked to do a small project that you decided to use SSIS to complete, and SSIS was a new skill at that point. Afterward, you never really needed to use that again or it was used very infrequently. As a result, you have a little exposure but you’re not particularly skilled at it. Consequently, at years 7 and beyond where you are either a Senior DBA or you’re approaching that phase of your career, you may have some skills with SSIS, but maybe you don’t because your job roles never required that. In some roles, you maybe needed to do a fair amount of table design and stored procedure development. This might have been due to the fact that you were the only DBA so you had to do at least some development work. At other employers, those skills weren’t needed. Based on your employer’s needs, you may have used SSRS quite heavily up to this point in your career, but maybe not.

SQL Server Specialization

And then there is the matter of specialization.

The various parts of SQL Server are careers unto themselves. The database engine, SSIS, SSRS, SSAS are all so deep that a person could specialize in any of those areas. Even within some of those areas there are places of focus and skill that can be developed.

For a Production DBA, you will primarily be specializing in the database engine in some way. That could mean you’re really good with HA and DR technologies such as AlwaysOn Failover Clusters or Availability Groups. Maybe you love digging in to the various kinds of replication and leveraging those for business needs. Maybe you love performance tuning and you have found that the Query Store and Extended Events are things you love to use for that. You’re knowledge and skill with those things may be fairly deep as a result. Perhaps the SQL Server environments you have worked in have been heavily virtualized and you took a deep interest in that.

As a result,  if you have 7 + years as a DBA, you may have touched on a wide variety of things, but fell in love with a few select things that you’re now really good at.  This also means, there are things, you’re not that great at.  That’s ok. No one can do everything.

Designing SQL Server Solutions

So, let’s move on to discuss some of the other things in the list. At this point in your career, you’re dong things at a more advanced level, obviously, since this is a Senior phase to your career.

You are most likely collaborating frequently with other Infrastructure people like SysAdmins/VMWare specialists and storage folks at your company in order to design SQL Server solutions. Virtualization for SQL Server is another specialty I previously mentioned and you might be getting into some minutiae about that by this point.

You are the person who is analyzing HA/DR needs for when a new application is being brought on board from a vendor or from your own company’s Dev team. Decisions being made about how to ensure the application always has a back end connection, even when that river next to your building overflows its banks, are things you’re heavily involved in. You might be the person implementing the solution, or you may be simply assisting other people in your company with the implementation.

Knowledge Sharing

Knowledge sharing is definitely prevalent at this point. You regularly share what you know and what you’re learning.  That knowledge should be in several different areas at the Senior level and not just one or two. Your knowledge and skills may also include things of a more Development DBA nature. As previously discussed, this is heavily dependent on employer needs and your own interests.

Native SQL Server Tools

For a Senior Production DBA, native tools like Extended Events, Query Store and Perfmon counters are likely skills and knowledge that you’re comfortable with. You can use them easily in a wide variety of situations, but especially to analyze SQL Server issues that perhaps can’t be solved in other ways or can’t be solved as easily using other methods. Some places want their DBAs to be well-versed in native tools. Some are concerned so much with that because they have invested heavily in monitoring software of some kind.

SQL Server Monitoring Software

You should be comfortable and familiar with using monitoring tools at this point in your career. Platforms like SolarWinds have full environment monitoring like in Server and Application Monitor, that also include templates for monitoring SQL Server. SolarWinds also has Database Performance Analyzer. Sentry One has a full suite of monitoring tools as do Idera,  RedGate, and Quest. There are other options I’m sure.  These are just the one I know about right now that might be of use to you and that you are likely to encounter at your job.

Being able to use these types of platforms to find things like deadlocks, issues indicated by changes in Perfmon counters, and to do query analysis is going to be essential at this point in your career. Software like Brent Ozar’s First Responder Kit may also be something that you’re familiar with and can use easily to diagnose and resolve issues in your SQL Server environment.

Next Steps to Take

  1. Copy/paste the skills list into a Word doc and place an “X” next to any skill that you need to develop.
  2. Create a training plan to learn those skills.
  3. Buy a book on emotional intelligence and read it this month.
  4. Stay tuned because in the next part of the series we will introduce the skills for a Development DBA.
  5. If you would like help with anything in this post or other things related to SQL Server, reach out to me here and I’ll be happy to talk to you.

How Do I Measure My DBA Skills Part 3

In this series on measuring your DBA skills, we’ve been discussing what skills you should have at each phase of your career.  So far we’ve covered the entry level skills and the phase 2 skills a Production DBA needs. In this part of the series you’re discovering what a Production DBA needs to know or be able to do at each stop along the career journey.  If you want career development, you need to work on these skills in order to move forward.

So what’s next after that second phase of career development for a Production DBA?  Once you’re into your career about 5 or so years, what should you be reaching toward?  I’m glad you asked! Let’s take a look at the skills in the next phase!

Production DBA III/Lead DBA: 5 – 7 years of Experience

  1. All competencies from the previous level.
  2. Designs backup/restore strategy.
  3. May participate in T-SQL development and database design of advanced complexity.
  4. Investigates potentially complex issues within SQL Server using native approaches, and when available and appropriate, 3rd party software, such as monitoring software.  Deploys changes based on that investigation.  These could be performance issues at the server level or query level.
  5. Implements high availability/DR solutions, often in tandem with infrastructure teams and may participate in the design of HA and DR solutions.
  6. Manages more complex troubleshooting scenarios for high availability and disaster recovery technologies (DB mirroring, replication, log shipping, potentially AlwaysOn Availability Groups or Failover Cluster Instances)
  7. Interacts with Systems Administrators or Infrastructure teams in matters of hardware, virtualization and storage, primarily concerning performance investigation.
  8. Regularly automates tasks using T-SQL and PowerShell.
  9. Demonstrates a basic proficiency with Extended Events.
  10. May lead SQL Server migration planning and implementation.
  11. Leads knowledge sharing in three or more areas from levels I, II, or III.
  12. Mentors Junior DBA’s.
  13. May possess competencies from the DEV DBA career path up to level 2.
  14. Demonstrates good self-awareness, self-management, social awareness and relationship management skills (emotional intelligence).

Working Independently

At this level in your career as a Production DBA your work is done in a fairly independent manner. You are capable of handling all the things from levels 1 and 2 and you’re continuing to advance your skill progression on things like design decisions for SQL Server. You’re doing more designing for things like backup/restore strategy, high availability, as well as participating in the planning of database and server migrations.

Adding More Advanced Skills

At this level you’re also adding skills with technologies like Extended Events and Query Store for troubleshooting and monitoring as well as learning how to use 3rd party software to find and troubleshoot issues in the environment.  You’re getting hands on experience with more advanced troubleshooting scenarios such as problems related to AlwaysOn Availability Group or Failover Cluster Instances, log shipping, etc.

Typically, you’re doing less and less entry level work, like troubleshooting and resolving problems like SQL Agent job failures. This could be in part because you’ve been at the company for awhile and you yourself have stabilized performance for things like SQL Agent jobs or you’re working at a place that has been taken care of by another DBA in a fairly good, consistent way.  Also, depending on the size of your environment and your employer you probably aren’t the only DBA at the company at this point so you may have teammates who carry at least some of the workload for phase 1 career tasks.

Sharing Knowledge as a Database Administrator

Knowledge sharing becomes more prominent in this part of your career.  This teaching aspect of your skills will be across several areas of SQL Server data management based on topics and skills in phases 1, 2, or 3. Perhaps you’re directly mentoring Junior DBAs on the team.  You may be giving presentations at work or maybe even your local SQL Server Users Group or a SQL Saturday on things like backup/restore functionality and design, how to automate various tasks, or maybe on something like Extended Events.

You’ll notice that there is some mention of development skills in this skills list.  Now, production DBAs typically don’t do much development. However, I realize that some employers don’t have a clean break between Production and Development responsibilities for their DBAs. Sometimes an employer needs or wants an overlap of skills. I also acknowledge that your own interests might mean that you decide to work on some development tasks like writing stored procedures for some application work that is being done or maybe working on table and database design considerations.

This begins to bleed over into a category of DBA that we will cover later in the series called the Dev DBA.  Again, your work environment may dictate the need for these skills or you may have an interest in being competent with some entry level Dev DBA skills. Either way, those skills may begin to show up in your career at this level.

Next Steps to Take

  1. Copy/paste the above numbered list to a Word doc.  Think carefully about each one and whether or not you currently meet this criteria.  Put an “X” next to any item you need to work on.
  2. For each item you placed an “X” next to, create a plan for improving skills related to that item. Are you going to watch Pluralsight videos, find resources on YouTube or read blogs about the topic?  Make some decisions and a plan about your approach. Also, at this career level and higher, you need to give yourself 30-60 days for each new skill you want to learn. You won’t be working on this skill for an actual 30 days, but with everything else you’re doing in your day job, it may take you a month or more to accumulate enough time with the skill for you to gain competency.
  3. If you would like help with anything in this post, or with something else related to SQL Server, reach out to me here  or on Twitter, and I’ll be glad to offer assistance.

 

How-Do-I-Measure-My-DBA-Skills-Part-2

You may be wondering, “How can I know what phase of my career I am in? How can I see what the next steps might look like in terms of skills I may need to move forward?”

As people change jobs, the gears of career progression are turning.  Some new roles may be the same as the recent previous one. Some new roles will have larger spheres of influence and some may have better titles that require new skills. Like the gears in this picture, your job roles fit together and show a progression of sorts.

So if you’re a production  SQL Server Database Administrator, what does phase 2 look like in your career? You’ve survived those first couple of years and you would like to know what is ahead. You want to know the answer to the question, “What skills do I need to get to the next level?” Glad you asked.

Production DBA II – 2-4 years of experience

  1. All competencies from the previous level.
  2. Assist with triage of user issues, job failures and reactive tickets.
  3. May participate in the design of a backup/restore strategy.
  4. Improves existing processes for ongoing SQL Server management, such as configuration changes, in response to ongoing issues.
  5. Installation of new SQL Server instances without supervision.
  6. Looks critically at patch release notes to advise when a security update, cumulative update, or Service Pack is critical to apply and applies those patches to production.
  7. Demonstrates understanding of high availability and disaster recovery technologies and participates in troubleshooting related issues. (DB mirroring, replication, log shipping, potentially AlwaysOn AGs)
  8. Contribute to automation, particularly using T-SQL and PowerShell.
  9. Familiarity with Windows Performance Counters and how to leverage monitoring software to assess performance.
  10. May participate in T-SQL development of stored procedures, triggers, views, etc as well as database design.
  11. May write and troubleshoot basic SSIS packages and handle deployments for SSIS.
  12. Some familiarity with SSRS development and administration.
  13. Participates in SQL Server migrations with some guidance.
  14. May begin leading in knowledge sharing in some capacity in one or more areas from level I or II.
  15. May take an active interest in leadership and in development of leadership skills, including emotional intelligence.

In phase 2, skill and job functions that you were doing all the time, like handling initial triage of break/fix issues, may be things that you assist other people with rather than have the sole responsibility for yourself. Activities you were doing under guidance during phase 1, the first few years of your career, you will do now with less guidance because you’re better at it and people can see that you’re better at that particular thing. This might include something like installing and configuring SQL Server on a new instance. In phase 2 of your career you may still reference someone else’s guide for this process, but no one is going to be watching you while you do the work.

At this stage you also begin to be more of an independent contributor. You will start to independently recognize opportunities for and make changes in the SQL Server environment that will benefit performance or some other aspect of database management. Automation of work will be something you begin to make your own contributions in, whether that’s automating something with T-SQL, or a new skill showing up in this part of your career, like PowerShell, SSIS, or SSRS.

If you’re fortunate, in this part of your career the more Senior people will be leading a SQL Server migration project.  When you were in phase 1, you only vaguely knew this sort of thing was being worked on and you certainly weren’t working on the project with anyone.  Here in phase 2 of your career, you will likely be given at least some smaller tasks to do related to a larger task, like a SQL Server migration.

Participating in a migration project is great for your skill and career development  because it is usually at least a moderately complex operation to migrate a SQL Server.  This means more people are needed and more parts of the SQL Server management skill set are touched on during the work. A project like this also means more exposure to working directly with the more Senior people, which will get you noticed.

As you stay in phase 2, you will gain increased proficiency at tasks from phase 1 of your career.  This may lead to you occasionally teaching others what you know about those skills and those work activities. Some leadership skills and opportunities may begin to develop from teaching others what you know.  You have to demonstrate good people skills as you teach technical subjects and people may begin to think of you as something of a leader.

Next Steps to Take

  1. Copy/paste the above numbered list to a Word doc.  Think carefully about each one and whether or not you currently meet this criteria.  Put an “X” next to any item you need to work on.
  2. For each item you placed an “X” next to, create a plan for improving skills related to that item. If you’re not sure what Log Shipping is or you don’t know anything about how to use PowerShell with SQL Server, then open your favorite search engine and look around.  There will be people and tutorials that explain it. Maybe you know SSIS or SSRS are used at your company and you’ve always wanted learn the technology.  Perhaps your company has monitoring software for your SQL Server environment and you have been interested in learning how it works. Put these things on your training plan that you’re making in this step.
  3. If you would like help with anything in this post, or with something else related to SQL Server, reach out to me here or on Twitter, and I’ll be glad to offer assistance.

How Do I Measure My DBA Skills Part – 1

 

Career development and progression is a hot topic for everyone.  It starts really early in life like when some adult asked you, “What do you want to be when you grow up?” You might have said “firefighter”, “ballerina”, “ice skater”, or “gymnast”.  I’m certain you didn’t say “DBA”, but here you are anyway, at my blog, trying to figure out a career as a Database Administrator.

So, what does career progression look like for a Database Administrator?  How do you move forward in your career with SQL Server? What skills should you have at year 2? Year 5? Year 10? This post will help you answer those questions.

There are all kinds of DBA’s who do all kinds of different work.  That was the challenge of coming up with the information I’m going to share with you over the next several posts. I chose to create two separate career path skill lists.  One for a production DBA and one for a Development DBA. The primary reason for this is that people typically become a DBA through one of two paths – Systems Administration and Developer.

Were you a System Administrator or Network Engineer when you got your start? You will probably become a Production DBA.  Did you get your start as a .Net or Java Developer? You’ll likely be more of a Development DBA. Different specialties within those general paths can develop from there.

What Does a Production DBA Do?

Before we jump into skills a Production DBA needs, let’s answer what a Production DBA does. As an oversimplification, a Production DBA keeps the lights on. She makes sure that break/fix items are resolved for customer facing processes. As a Production DBA, you will be resolving performance issues in the production environment and at least occasionally these issues will be live issues affecting a large number of people, either internal or external to the company. You will often be either designing or assisting with the design of systems, answering questions like :

  • How will this system interact with other systems?
  • Does interaction with other systems need to be real time or can it be asynchronous?
  • How will we make sure this system is always available?
  • What technologies will be used once the above decisions are made?

These, of course, aren’t the only questions you’ll need to answer as a Production DBA. There will be others like:

  • Why did this system go down?
  • How do we prevent this outage in the future?
  • Who granted the permissions that allowed this to happen?

Sounds exhilarating and terrifying all at the same time, right?!

On that note, here is the first level of skills for a production DBA. Look it over, ponder it and see what you think about the list.  Keep in mind, this is level 1, the entry level Production DBA skillset. I’m trying to answer the question, “What does a beginner Production SQL Server Database Administrator do and what skills should they have?”

Production DBA Level 1

  1. Production DBA – 0-2 years of experience
  2. Handles level 1 triage for things like SQL Server Agent job failures, user issues, and reactive tickets.
  3. Installs SQL Server instances following a process designed by others.
  4. Manages most administrative aspects of non-prod environments with assistance from more experienced DBAs, including the application of patches to pre-production.
  5. Carries out defined tasks like managing new users, running established audit processes, restoring databases to non-prod environments as required.
  6. Basic T-SQL development. SELECT, INSERT, UPDATE, DELETE
  7. May participate in SQL Server migrations in a guided manner.
  8. Demonstrates understanding of backup/restore processes.
  9. Demonstrates values driven behaviors such as humility, integrity, teamwork and is teachable.

A beginner production DBA should at some point be handling break/fix triage work.  This will often comes in the form of SQL Server Agent job failures and requests from users that often say little more than, “It’s broken” whatever “It” is.  At this level, you may have a more senior level DBA hand you a guide and say, “We need a SQL Server installed. Here are the instructions for that. Please have this done by noon.”  You need to understand enough to get through that task successfully.

At least some beginner DBA’s maybe be given one or more non-production environments that they are the primary DBA for.  This provides a mostly safe place for mistakes to be made and for learning to occur. The environment isn’t production so you aren’t going to break anything that is used by external customers.  Now, you might break something that the Developers are using, but that’s less impactful than breaking external customer technology. Managing a non-prod environment gives you a place to learn the other skills in this list.  Developers will need new Logins and Users created as they build new applications.  They will need data refreshed from production and so at this level, you’ll get experience with restoring backups and you will have the opportunity to grow you skills with T- SQL.

People Skills for Information Technology

Now about that #9 you see in the list –  “Demonstrates values driven behaviors such as humility, integrity, teamwork and is teachable.”

If you thought you would get a job in technology so you didn’t have to deal with people or work on your people skills, I’m hear to tell you that you’re mostly wrong.  Sure, you can be that person who hides in their cubicle and pushes off the “people” part of their job to someone else.  But, it is unlikely your career is going to progress all that far with that approach.  You’re going to need to know how to interact appropriately with your direct co-workers on your team, Developers, DBA’s, end users, your boss, vendors, etc.  So, if you suck with your people skills, get a good book, or two or three, and incorporate that knowledge into your life.  Click here for a book I recommend and look at the other suggested reading at that bottom of the page. A primary reason I really recommend the book by Travis Bradberry and Jean Graves is that it gives you concrete examples not only of high and low emotional intelligence, but specific actions you can take to improve your people skills.

Next Steps to Take

  1. Write down the list above, or copy paste to a Word doc.  Think carefully about each one and whether or not you currently meet this criteria.  Put an “X” next to any item you need to work on.
  2. For each item you placed an “X” on, create a plan for improving skills related to that item. The internet is your friend here. If you’re not sure how to create Logins and Users, then open your favorite search engine and look around.  There will be people and tutorials that explain it.
  3. If you would like help with anything on this post, or with something else you’ve seen on the site, reach out to me here or on Twitter and I’ll be glad to offer assistance.