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
- All competencies from previous level.
- Manages most administrative aspects of non-prod environments without assistance from other DBAs.
- Participate in T-SQL development and database design of advanced complexity.
- Investigates potentially complex data issues within SQL Server.
- May have several years of progressive experience with SSIS, SSRS or SSAS.
- Administers source control systems for the environment.
- 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#.
- Creates and manage design documentation related to development work.
- 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..
- Advanced understanding of execution plans, indexes, and query tuning.
- Investigate complex data integrity/repair issues within SQL Server.
- Leads in knowledge sharing in two or more areas from levels I, II, or III.
- Assists with SQL Server migrations and upgrades in DEV/QA or production.
- Mentors Junior DBA’s and Developers.
- Participates in code reviews.
- May contain competencies from Production DBA levels up to level 1 or 2.
- 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
- 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.
- 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.