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.

 

What Is the Value of Mentoring?

There aren’t many formal mentoring relationships these days. It seems to be rare when two people enter into an arrangement where one person agrees to give of their time energy and resources to answer questions and assist another person. Oh sure, you do it casually when you give an assignment to someone and say, “Let me know if you need any help.”

However, that’s different from a recent offer made to people in the SQL Server community. Paul Randal is once again offering his time to multiple people, inviting others to engage in discussion about non-technical subjects. To be sure, it is a unique and wonderful opportunity.

Why Look for a Mentor Now?

Blogging

I have had some career goals over the years. For a very long time I wanted to start a blog. Almost five years ago I finally started this blog. At first, I was posting fairly regularly. Yet, the posts began dropping off and are almost nonexistent. I would like to have a mentor so I could learn a process that works for me, enabling me to post at least once a week.

Presenting

Another goal I would like to reach is to start presenting. For a very long time I believed the lie that I didn’t know enough to be able to give back. Imposter syndrome was a big scary monster holding me back. I entered into the IT world back in 2008 knowing nothing about that world. I got into it because I happened to be a person who understood an important line of business application at my company. People noticed that, and I eventually began managing that software. I had no IT or Computer Science training. I still don’t have a Computer Science degree.

Recently I began to have access to some really smart people and found that I often handled SQL Server situations in ways that were similar or the same as them. By no means am I on their level, but I found that methodologies, ways of thinking and troubleshooting approaches were often the same. When I saw that, I began to really have confidence that I have something to offer other people. I have been given so much by the SQL Server Community. I want to give back.

Managing a Team/ Launching a Department

My current employer has been around since the 50’s. They never had a database administrator on the pay roll until they hired me in April 2018. In January 2020 I hired another DBA to work with me. I’ve managed people before, but not in technical environments and not another DBA. I am essentially launching a department from scratch. How do I do that? I’m figuring it out, but having someone to bounce ideas of off who is outside the situation could be incredibly beneficial.

Consulting

For about 5 or 6 years now I have given a lot of thought to opening my own business, starting a consulting company. I have recently watched a 2 hour presentation from Brent Ozar about how he did it and how he recommends other people attempt it. But a two hour presentation at PASS doesn’t cover everything. How do you pick tools to get the thing off the ground? If you’re going to do this with friends, how does that work, or should you just go it alone? When do you incorporate your work into a legal business? How do you turn a side hustle into a real business while avoiding legal entanglements with your employer over “work product?” These are all legitimate questions that I’m still trying to figure out.

Summary

So, there you have it. I want a mentor to help me with building a high quality blogging site. I want help with presentation skills, how to launch a department and to help me explore whether I should, or how I could, launch a consulting company. The value of mentoring for me is that I can receive some help so I can get that last nudge I need to start giving back and doing it in a meaningful, consistent way.