Category: Editorial

  • PRs Are Like Trouble Tickets

    I’ve spent quite a bit of my career as a DBA/sysadmin/Operations person. However, I’ve had my share of development positions as well. As I work with customers who look to mature their database development to be more like other software development, I’ve noticed that PRs sometimes don’t get handled as smoothly as we might like. In some sense, they are like help desk trouble tickets that never get closed.

    One of the first things I caution people about is specifying specific reviewers, especially DBAs. There are often DBAs who are the gatekeepers for code, but if we require them to be the only ones to review code before a CI or test process, we really slow things down. This often happens in smaller environments where one DBA wants to avoid anything impacting their job. They want to review everything before it commits.

    That’s a bottleneck that will slow you down. Train others, agree on the types of changes that can be approved by multiple people, and learn to handle the problems, not try to prevent them all.

    Another issue is that lots of people are often overloaded with their workload. It’s a big reason people want to adopt a more DevOps view of the world and try to reduce time spent on handoffs and the friction in the process. However, until things get better, they can get worse. PRs can languish when people are overloaded. Like the first item above, choosing specific people for a review can make this worse, but even if you have a group to review requests, you might find everyone expects someone else to look at the request.

    There’s no good solution here, but establishing a rota for reviews or setting aside time in a calendar can help. There will still be cases when you need immediate review, so there needs to be some escalation process, at least until everyone acts like a team and tries to ensure the others aren’t waiting a long time for their work to be reviewed.

    The last thing about PRs that I find similar to trouble tickets is the content. I have had tickets where I have MB of multiple text logs, and at the same time, a bare-bones description like “this doesn’t work.” PRs can be the same way, with too many changes and too sparse a description. Your commit message(s) might not be good for a PR. Use the PR space to give the reviewer some context. Try to limit the changes, though I know sometimes this can be hard. As much as possible, focus on making non-breaking changes in code, tying schema alterations to feature flags so that you can merge in smaller bits of work without breaking the system.

    Learning to create a more mature database development process takes work. Software developers have gotten better, though they still face some struggles in managing their PRs. Learn from them, ask questions, take advice, and above all, work as a team.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Choosing an AI in Sept 2025

    Some of you out there are positive about AI and looking to use them. Some of you aren’t too thrilled with the tools and might avoid using them. I think that not learning to harness the power of an AI is a mistake. This technology is going to change the world in many ways and you need to learn how it can help you.

    You also should learn where the sharp edges are as there are some very, very sharp edges.

    Which AI should you use? That’s an interesting question. If you listened to my podcast interview with Tom Hodgson (YouTube, Spotify, Apple), he prefers Gemini as a developer at Redgate. I think that’s one of the more popular models to choose from as a developer. I see lots of people writing about their experiences using Gemini to code.

    It’s recommended (with others) in this article on choosing models, which is a topic that I think is important to keep an eye on. We often like to build some skill and trust with a tool, developing muscle memory that helps us work efficiently with the tool. In the AI world, things are changing constantly, though not so much that I would recommend jumping on the latest release of a new model.

    Instead, I’d recommend you stick with a tool and, perhaps every 3-4 months, you experiment with another model and see if you like it. Perhaps send some duplicate queries to your current tool and a second one. As much as we’d like to say this one LLM is best, there is some personal preference we will have for different tools. I find LLMs to be non-deterministic, so you want to work with a tool in which you have some trust.

    The current top models that most people look at are the OpenAI gpt models, the Claude models, and the Gemini ones. It is hard to keep track of these, so I’ll try to simply them.

    For many of us in the Microsoft space, we are used to OpenAI and the ChatGPT models. There is the gpt-4o and gpt-5o models in use by many people. I haven’t found these as useful to me for SQL coding. The way they respond slightly grates on me, so I have learned to check in various tools to switch the mode away from gpt-40 (often the default). They might work well for other code, but they seem to lean towards MySQL, which annoys me.

    Claude (from Anthropic) is my preferred model. I usually choose a Sonnet model (3.7 or 4) and have them work well. I like the structure of Sonnet output and find it helps me get database work done pretty well. It’s not perfect, and it’s certainly not always correct, but it’s good. I’ve had it solve a number of problems, and it’s the one I often use in my AI Experiments posts.

    Gemini (from Google) is the one I’ve used the least, but it’s the one several developer friends like. It’s on my list to experiment with this one a bit and see how it works. There are various types of v2.5 models here to choose from.

    Depending on what types of work you do, you might like other models. I primarily deal with text, so I haven’t spent much time with models that work with audio/video/pictures, though my wife has been playing with AI video editing. She doesn’t know which model she used, but she appreciated the LLM help in producing a sale video for a horse recently. It was way better than anything she had done on her own.

    I’ve tried Perplexity (sonar), and very lightly, grok, but they haven’t attracted me for some reason. I tried a local DeepSeek R1 model, but it wasn’t smart enough (or quick enough) to get much done. If you’re in doubt, just ask the AI which model is running. Most of them let you switch models easily, so give it a try.

    And let me know what works for you and why. I have found different models working differently, so pay attention and share what you learn.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Don’t Forget About Financial Skills

    I get a regular email from Quora, with questions that I might be able to answer or might be of interest to me. There are some database questions, some Tesla ones, and others, but recently I caught an interesting one that asked: why are most people broke? To be fair, there are a lot of questions that appear to be trolling, not people seeking answers, but this one caught my eye. This isn’t very data-related, but it is a bit of advice from someone who is getting older.

    As I look towards retirement in the next decade or two, part of my planning is ensuring that finances are in order. Once I stop working or slow down, the economics of my family change, and we need to be thinking forward to ensure that we have enough funds for our daily living. This can vary in different parts of the world, but I’m surprised at how many people don’t really think about covering their daily expenses without a salary.

    There are various strategies in the Quora answer, and you might find one that works for you. The thing I would stress is that most people don’t get much financial advice or skills from their parents or their schooling. If you did, great, but lots of people don’t. In fact, a lot of people who are successful and make a large salary don’t often find themselves well prepared for retirement. Lots of doctors, like athlete superstars, find themselves in too much debt.

    Learning to manage money is a good skill. It’s similar to managing a budget at work, but not the same. I find lots of people managing a corporate budget like it’s their home checkbook, and that’s not right. At the same time, more people manage their home budget like it’s a growing corporation, and that doesn’t always work well either.

    I learned from my parents, who I felt were too stingy with money, but some of that paid off well for me later in life. The things they taught me ended up helping me invest and save for the future. I don’t have any recommendations today as I haven’t had time to vet any sites or advice. I will say my Mom had me read The Richest Man in Babylon when I was in my early teens. While I don’t follow that advice diligently, some of those lessons have stuck with me, and I do some of the things from the book.

    Pay attention to finances, ask questions, do some learning, get advice from people you trust and who are managing their finances well. Like anything we do in tech, you have to work at learning something new to develop the skill that helps you succeed.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Getting More Time from AI

    As I get older, I find that time is the most valuable commodity I have. It’s the one thing that I need more of, but I can’t get it. Even if I find more efficient ways of doing things, it seems there’s an endless list of things at work and on the ranch that need to be done.

    It seems to be the same for most of my friends in other jobs, whether in medicine, law, or any other position; they’re often overloaded with more work than they can get done in a week. Arguably, it’s not all important work, as sometimes we might tackle a task, only to have our boss throw the work away or delay the project. That’s annoying, but I also understand priorities change.

    Mostly, I understand people ask for a lot of things they don’t really need, but because it’s easy to ask. Over time, they may forget about their request or realize they don’t need it anymore. So I tend to do the work I’m asked and then not worry about if it’s really needed.

    However, that’s not what this piece is about. Let’s say that you have a useful AI Assistant that can truly produce better code, faster than you can. You trust the coding agent (under your guidance), and it saves you time. Let’s say that this agent reduces your coding load by 30%. Forget the issues with the agent stealing your joy.

    A number of studies show that the average developer only codes around 2-3 hours a day. Some might say 4, but that’s just 50% of your workday (I hope). If you save 30% of that time, then you’re saving 1:20 a day, 6:40 a week. That’s a nice chunk of change, but what will you do with the time? Or maybe more importantly, what will your boss expect you to do?

    A lot of management might see 30% and expect you to get 30% more coding done (of 40 hours), asking for 12 hours more of work. I see that a lot as management somehow things that developers work 8 hours a day and should get 8 hours worth of code written. When that doesn’t happen, and it never does, they often schedule more meetings to check on your progress. Hence to 2-3 hours worth of actual work.

    The smarter group of managers might think that you could get 5 hours more work done (30% of 3/day), and the really smart group of managers might use that time to improve the coding skills of the staff. That’s more than a 10% allocation of time and if focused, could help developers write more efficient code (especially SQL), improve their secure coding knowledge, and perhaps even tackle some technical debt with refactoring of existing problem areas. Maybe you could learn to better judge AI-produced code.

    I know that many people are skeptical of AI assistance in coding. I think it’s a tricky thing, but even if the AI doesn’t produce production code, but allows me to conduct a lot of quick experiments that can prove out a hypothesis, I think it can help developers become more productive.

    If they learn to use it as a tool and management doesn’t expect it will turn every developer into a 10x (or even 2x) engineer.

    If you had more time, what would you do in your work day?

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.