Advice I Like: Examining My Past Self

If you are not embarrassed by your past self, you have probably not grown up yet. – from Excellent Advice for Living

While I’d like to think most of us are true to who we are and act well in most situations, the reality is that we’re always learning and growing, and we will make mistakes. If we don’t find some of them embarrassing in our current world, we likely haven’t grown much.

This isn’t being embarrassed by everything, but by some things. I would think many of us make mistakes, say things, do things, treat others poorly in the moment and we wish we hadn’t.

I think a healthy part of life (or family or community, or organization or country or whatever) is making some mistakes, growing and learning not to do the same thing, or a worse thing. Becoming a better person is growing up and that should mean reflection on the past, with some embarrassment over how the past played out.

At the same time, this doesn’t mean that you hold your past self to a higher standard. I recognize that it’s unlikely in many cases that I should have known/done/acted/said something better. I’m just embarrassed now.

Examples for me include how I treated many girls/women, with not enough respect and with my own selfish goals of sex in mind. Poorly treating some coworkers that didn’t know as much as I did, with arrogance or derision. Certainly plenty of times I was upset with my children for what I now see were not good reasons.

I’m mostly happy with who I’ve been, but I’m also embarrassed by some of my actions.

I’ve been posting New Words on Fridays from a book I was reading, however, a friend thought they were a little depressing. They should be as they are obscure sorrows. I like them because they make me think.

To counter-balance those, I’m adding in thoughts on advice, mostly from Kevin Kelley’s book. You can read all these posts under the advice tag.

Posted in Blog | Tagged , | Comments Off on Advice I Like: Examining My Past Self

DevOps Day – Atlanta

No tour this year, but Redgate does have a few DevOps events scheduled. I’m hoping for more, and the first one for me this year is Atlanta. You can register for the DevOps Day Atlanta Workshop on May 15, just a few weeks away.

I’ll be there to set the stage and give a high level view of how Redgate approaches better database code management and deployment with Flyway. We’ll also have a whiteboarding session if you have questions to solve some architectural challenges.

If you can make it, please register today and come enjoy a day with us.

Posted in Blog | Tagged , , , | Comments Off on DevOps Day – Atlanta

Index Maintenance Can Change NORECOMPUTE Settings

I had a customer recently ask about a change in one of their constraints on production, where a new option appeared when they went to deploy some changes from QA. They asked how this could happen, and I’ll show how in this post.

Suppose I create a table like this in a development environment.

CREATE TABLE [dbo].[Logger](
     [LogID] [INT] NOT NULL CONSTRAINT LoggerPK PRIMARY KEY,
     [LogDate] [DATETIME] NULL,
     [LogMsg] [VARCHAR](2000) NULL
     )
GO

I (hopefully) have a process to get this to production (version control, automation, etc.). Once in production, if I were to script this on SQL Server 2022, I’d get this from SMO.

CREATE TABLE [dbo].[Logger](
     [LogID] [INT] NOT NULL,
     [LogDate] [DATETIME] NULL,
     [LogMsg] [VARCHAR](2000) NULL,
  CONSTRAINT [LoggerPK] PRIMARY KEY CLUSTERED
(
     [LogID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

This looks different, but really this includes the defaults that existed in dev, and also in production. Hopefully all my SETtings and configuration is the same, to ensure no surprises.

Now, let’s imagine a DBA has some index maintenance, perhaps Ola’s scripts or some other script that works through all tables and indexes. If a DBA decides they’d like to edit the script to change a setting, they might end up running this code for my Logger table:

ALTER INDEX ALL ON dbo.logger
REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON);

There’s a small change in here from the defaults, which I’d see if I were to run a SQL Compare comparison. Now I’d see this type of change, which might not be a problem, but it might be an issue where each deployment wants to reset this setting.

2025-04_0139

If you don’t think this is a big deal, here’s the deployment code:

2025-04_0140

I would not want this going through my deployments. And it might if our team were no diligent in looking at the deployment script.

Be explicit with defaults, and be careful about making changes in production. You might end up creating problems in your update process if you don’t feed these changes back to development.

Posted in Blog | Tagged , | Comments Off on Index Maintenance Can Change NORECOMPUTE Settings

Interview Tips

When is the last time you interviewed for a new position? It could have been at a new company, or maybe you had an interview was for a different position inside your existing company. Perhaps you needed to talk to a manager internally for a new project. I’ve tried to treat all my one-on-one meetings or reviews as interviews since I’m usually trying to impress someone enough to get a raise or promotion.

Preparing for something you do rarely is hard. Most of us have interviews very infrequently, and we often aren’t prepared to impress others. If your partner or a close friend is also a business person, perhaps they can help you get ready, but I’ve found that most people struggle to help others prepare as they don’t know how themselves.

I used to interview people periodically as part of my job. I spent time asking others how they evaluated others and reading up on how different companies do this. Over time, I built up a routine of how to run an interview, ask candidates probing questions, efficiently record notes, and evaluate my choices. I became good at running interviews. Not necessarily great at hiring people because that still felt hit and miss, but at least I had a process for evaluating others.

When I was looking for jobs, which happened a bunch in my late 20s/early 30s, I also had a process and I think I did well. I got offered positions after most of my interviews, which was a luxury since that often gave me a choice of where to work. I saw this post on Linked In with a list of questions and answers for a job interview. These are certainly the type of questions I’ve been asked before, and I’ve prepared for. While this aren’t bad answers, they aren’t enough.

Some of these might not be asked in internal interviews or reviews, but you ought to be able to give a short answer and then follow it up with an example from your career, give some details and practice delivering those smoothly. Know your own story, and don’t look like you’re fumbling for answers, trying to remember things you’ve done. It’s understandable that you might not remember details of some event from ten years ago, but it is also a sign you haven’t prepared for an interview.

Getting a job these days is about having some relevant experience, having good soft skills, and standing out from the pack of other people who are applying for the same job. Blogging helps showcase experience, practicing communication helps soft skills, and great stories of things you’ve done help you remain memorable when the interviewer is talking about all the candidates with their peers.

If you want a new and (hopefully) better job, put in some work and prepare.

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 | Comments Off on Interview Tips