Forward Deployed Engineers

I recently recorded a session with Ken Muse and a Redgate Flyway Solution Engineer. It was a fun session using GitHub and AI, and better managing the code in an automated fashion to bring some determinism to AI coding. I’m hoping it will be released soon, and you can see a vision of how you can better wrangle your AI agents and reduce risk and increase reliability.

When we started our discussion, Ken noted that he is an AI forward deployed engineer for GitHub. His job is to work with teams in how to use agentic coding. When we were first prepping, I had never heard the Forward Deployed Engineer title, which is apparently getting popular. It was in an issue of the Pragmatic Engineer Deep Dives last year, and I must have missed that issue. Apparently, this is a role that works part of the time with customer teams and part of the time with product or engineering teams.

In other words, a software engineer with a new title who gets paid more than a software engineer.

Titles are always a funny thing to me. I’ve seen people who write computer code go from programmers to developers to software engineers to forward deployed engineers. The job is the same. I work with a team of others who write code, or I work with a customer who wants code and might need help writing it. Or, if I’m working at a company that works with outside customers, this is really a consultant role renamed.

DBAs have had a similar change. I started as a DBA because they made a lot of money at the time. I moved from programmer to DBA, without much change in skill, but with a nice pay rise at a new company. I left that role before we got Data Engineers, Site Reliability Engineers, Database Reliability Engineers, and who knows what else. However, if I had stayed in a company, I’m sure I would have been changing my title periodically to earn more money.

Certainly, I’d still have been adding skills that give me a reason to change my title, but I’m not sure the job would have changed. Instead, I’d be trying to grow my career not only with seniority and time, but with new skills and title changes.

Maybe that’s a good reason to keep learning new skills. New skills let you claim you need a new title. Hopefully, you pick a title that HR doesn’t have any data about, so they have to set a new range for the position that’s above your current range.

Viola! Instant raise.

Not a bad career plan. Just make sure you’re adding some skills that are asked for in job descriptions, including soft skills. After all, a forward deployed engineer is going to be working with others, so communication is going to be key.

Steve Jones

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

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

Posted in Editorial | Tagged | Leave a comment

Flyway Tips: Immediate Code Review for Developers

At the Redgate Summits this year, we’ve highlighted a few things in the Flyway solution that help developers improve their ability to get work done safely and quickly. While lots of developers are moving to automated systems and catching issues in pipelines, plenty of you are still working in an IDE.

This post looks at the new code analysis feature in Flyway Desktop that can help warn you of potential issues before you create that PR.

I’ve been working with Flyway and Flyway Desktop and helping customers improve their database development. This series looks at some tips I’ve gotten along the way.

Generating Good Migration Scripts

Flyway gives you determinism and consistent scripting when you generate migration scripts. Plenty of developers still do this manually, often after a lot of work and testing is done on the schema model. Once you’re sure of the changes you want to make, you can select those changes to include in a deployment.

As you can see below, I have a lot of changes, but I want to just pick one to put into a deployment.

2026-07_0253

If I click on the change, you will see that this is simply adding a new column, something developers do all the time. I’ll select that and click “Generate Migrations”2026-07_0254

When the tab changes, the default screen shows the next numbered migration script, based on my patterns and a default description of my name. Note that there is also a “Code review checks in progress” item to the left, which is running as the code is generated.

2026-07_0256

Once this completes, you can see my code rules passed, and the Flyway AI has generated a better description of the changes than I might have typed in.

2026-07_0257

There are a number of rules by default, and these are run when the migration script is generated. You can change, add, disable, customize, etc. for these rules as appropriate for your project.

Let’s go back and select a different change. In this case, I’m selecting the “Grant” table and dropping it. It’s in the current view of the db, but not the next one.

2026-07_0255

When I click Generate Migrations and go to the next tab, you can see that the code review shows me two things: a high severity error and a warning. These are summarized at the top next to the “2 issues” button (which hides or reveals the details) as dots. If I had a lot of issues, and some of you do, this gives me a quick look.

2026-07_0258

Below that I get the details. Both of these are for the same line, which is highlighted in the middle by a triangle next to that line.

If I click the High Severity item, I have the options to learn more, which links to the actual rule on the Redgate documentation site. Or I can ignore it. This allows me to comment in the code to not run this review again.

2026-07_0259

For the warning, since this wouldn’t stop a deployment anyway, I just have a Learn more link.

2026-07_0260

There are certainly times this might be the desired action, so I like the ignore button. However, much of the time developers might be making changes to objects and not thinking about potential future issues. Code review here catches things early, before others have to get involved, and helps educate developers about the styles and standards we want enforced in our projects.

If you work with Flyway, update your desktop and give it a try. We would love to hear your feedback.

Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

Video Walkthrough

Watch me do this in video:

Posted in Blog | Tagged , , , | Leave a comment

Learn about Modern Microsoft Apps in San Diego

I wrote about learning today for the editorial: I Can’t Make You Learn. I sure hope you want to learn. It’s been great for my career and it will help yours.

Join me this September in San Diego (register). I used to live there (Carlsbad) and it’s a beautiful, wonderful part of California to visit. VS Live comes to San Diego, and I’m honored to be speaking this year.

2026-07_0297

Visual Studio Live! (VSLive!) San Diego 2026 is at the Bahia Resort Hotel, September 14–18, 2026 in San Diego, CA. It’s five days of immersive developer training right on Mission Bay.

I think actually worked as a waiter for a wedding in this hotel. If not this one, then one of the others right there on Mission Bay. It’s a great place to stay and I’m looking forward to going back.

Whether you’re building modern apps on the Microsoft stack (.NET, ASP.NET Core, C#, Blazor, .NET MAUI) or focused on cloud and AI (Azure, GitHub Copilot, AI-powered development, Kubernetes, modern data platforms), this is real-world instruction, hands-on labs, and direct access to expert speakers, Microsoft engineers, and MVPs. Learn more: vslive.com/sandiego

I’ll be discussing local LLM models, which I think are important for the future. You might not want an LLM on your laptop (maybe a MLM or SLM), but your org might want local models in its data center. I’ll also be discussing the Data API builder, which is a great piece of tech that makes your development against a database much easier, whether you write the code or an AI agent helps.

Save $500 off standard pricing with my exclusive code JONES. Be sure to register by July 17th.

Register with my code here: https://na.eventscloud.com/ereg/newreg.php?eventid=865669&discountcode=JONES

Posted in Blog | Tagged , , , | Leave a comment

I Can’t Make You Learn

Oh, how I wish I could make you learn. How I wish I could coach, guide, inspire, or even bribe you to learn more about your job, or things related to your job, or even things in life. I wish all of you would improve your skills, but more, I wish you would want to improve your skills. I find lots of people who do want to get better at things, but far too often, people aren’t trying to improve because they want to coast along at their jobs. Or really, anywhere.

I get it. You’re stressed and busy at work, though hopefully not too often. You have challenges at home, kids to raise, parents getting older, financial stresses, concerns about politics or sports or exercise or diet or just about anything in the world. We all have things that take mental energy in our lives. How/why/when should I add another thing to the list?

My view in the past has been that I invest in my knowledge and my skills because that helps me in the future. Whether that’s learning to write better T-SQL, or it’s learning a new thing about T-SQL, or it’s learning how to find information about the new thing in T-SQL. Or it’s something completely different. In the past, I’ve spent time learning to write better with a blog, knowing this might lead to a future job, but also to experiment and decide how much I liked writing. I’ve learned to organize presentations better, partially because I wanted to impress people at a user group, but also because I knew this skill would help me argue for a raise or communicate well in a job interview.

I thought about this recently as a fan switch went out at the ranch. That’s not related to work, but I like to learn everywhere in my life. We have a whole house fan that cools the house at night. Someone else installed it years ago, but the switch stopped working. My wife wanted to call someone right away, as none of us are a) electricians, or b) have worked on a hard-wired fan. However, I thought this couldn’t be difficult. It’s worth a small experiment. I ordered a part that was vaguely familiar to the broken switch, not having much confidence that it would work.

My son and I found the breaker (which was an adventure) and disabled it. We disassembled the switch, matched up wires, and replaced the switch. We turned on the breaker and were excited that the fan worked. We of course, had another adventure putting it back together, as the first time things didn’t work when we enabled the breaker, but we solved the issue. A couple of hours in total and $40 for a switch when it would have been easy to call someone and (likely) spend $150 or more.

I always ask questions when work is being done. Whether that’s a tradesperson doing building or repair work, or a fellow tech professional writing code, or a fellow marketer authoring content. I want to learn to be self-sufficient and more capable. Even if there are things I’d really never do and happily pay someone to do them, I want to know how they are done.

At the very least, I want to be able to judge future quality. That’s a skill I need with electricians and AI technology.

Steve Jones

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

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

Posted in Editorial | Tagged | 4 Comments