This month on the blog is Community Tools Month, and I’m going to be talking about some of the most useful and influential tools out there.
You can’t learn them all – *I* can’t learn them all – because there just aren’t enough hours in the day to do your work, keep your skills sharp, take care of yourself, and take care of the ones you love.
So this month, think about a couple of things:
- Can I use this tool to get my existing tasks done faster?
- Do I want to keep doing these tasks in my next job?
- What tasks do I wanna do in my next job?
- Can I learn this tool to help me get my next job?
With that in mind, here’s something I use all the time with clients when I’m asking how many staff they have to support a particular application:
There are certainly more data-related jobs – BI developer, architect, data scientist, data engineer, etc – but let’s start here.
I know there are gonna be readers who say, “I do all of those tasks.” Sure you do – but you don’t do them well, and if you think you do, you’re deceiving yourself about what “well” means for any of those columns. You’ll be in for a world of surprise when you go to interview for a senior position in any of those columns, because senior = specialist.
With that in mind, for each of those columns, today I’m going to list a tool that I think is important for your next job.
If you want your next job to be Production DBA,
you should be learning dbatools.
In your current position, you may not manage enough servers to justify it. You might be content doing your work one server at a time, with the SSMS GUI and T-SQL. However, the Production DBA role at small companies will continue to evolve over the next decade, and your skills need to be ready for your next job. You want bigger responsibilities, and that means accomplishing more tasks, more quickly.
- The 2022 version of the Learn PowerShell in a Month of Lunches book
- The new Learn dbatools in a Month of Lunches book
You’ll learn how the open source dbatools module helps you manage more servers, in less time, while making less errors.
Like any new tool, it’s going to be slower going for you at first – probably even for months. But when it’s time to get your next job, the one managing more servers in more environments, you’re going to be able to use the exact same techniques that you’ve already been practicing at your smaller job.
If you want your next job to be a Development DBA,
you should be learning sp_HumanEvents.
I’m not telling you to learn Extended Events – you can, sure, but you don’t need to. Erik Darling’s sp_HumanEvents automates the data collection AND, here’s the important part, the analysis, for the most common long-term problems that performance tuners need to solve. I don’t use Extended Events myself directly, ever, but I use sp_HumanEvents all the time.
To understand how powerful and useful it is, start with Erik’s 10-minute video on using it to troubleshoot blocking, compiles, and recompiles.
If you want your next job to be developer,
you should be learning MiniProfiler.
When your team builds software-as-a-service (SaaS) applications, sooner or later, you’re going to run into a problem with server performance analysis. SQL Server has historically struggled with this, and it’s getting even worse in SQL Server 2022.
Because of these problems, you’re going to be a much more effective developer if you can implement the free open source MiniProfiler to track which parts of your application are having performance problems, and which queries are causing those problems.
I’m not saying you have to be the one who analyzes the data, reads the queries, and tunes them. However, as a developer, you are the one who’s going to have to implement the data-collecting solution. This need is even more important in the cloud where performance costs pile up every month, and the urgency to fix ’em becomes even higher.
All 3 of these have something in common.
GitHub itself isn’t a community tool, but in 2022, GitHub is the tool where community open source happens. I’m not saying you have to learn GitHub or use it for your own code – it can be a real pain in the keister. But if you learn the basics of how to clone a project locally and keep it up to date, you’ll likely be better off no matter what your future job entails.