T-SQL Tuesday 182 – Integrity

T-SQL Tuesday 182 – Integrity

(I wrote this well in time. Really. I swear. And then … forgot to publish it in time. Oh well. This will then be my T-SQL Wednesday, I guess?)

T-SQL Tuesday logoWelcome to the first T-SQL Tuesday of 2025. Hosting duty this time falls on Rob Farley’s shoulders. And he has found a great topic: Integrity.

I really love this topic, because, as Rob himself also acknowledges and explains, that single word can mean many things in the Data Platform community.

With this being a technical blog, by someone who loves not only execution plans but also data modelling and database design, you might expect me to think of integrity of data in the database, as defined by integrity rules, such as primary keys and unique constraints (entity integrity), foreign key constraints (referential integrity), check constraints (domain integrity), and triggers (user-defined integrity). But no. I won’t.

Okay, but then surely I will dig in my experience as DBA or just generic troubleshooter and dish up a tasty story of database corruption, that was (or perhaps was not) discovered by running the integrity checks that are part of DBCC CHECKDB. Right? Well, no.

I will focus on the first thing that came to my mind when I saw the single-worded topic in Rob’s post. And that is the non-technical interpretation of personal and professional integrity.

Professional integrity

Professional integrity is, for me, making sure to deliver what helps my customer. That might sound very obvious. But it is not always as obvious as you might think.

Sure, if they ask me to write a stored procedure that does task X, or to speed up a slow workload so that it finished in time, then I should, indeed, make sure that the stored procedure will indeed perform task X, and that the query will indeed return the same results, but fast enough for the needs of my customer. That is the simple part.

But what if a customer makes a request that I believe to be not viable? What if I know that the data quality is insufficient to reliably do task X, or that the third party product that has to be used will never run as fast as the customer desires?

Telling a customer “no” is hard. It is never an easy message to begin with. And it gets even harder if this is a customer who might fire you and then hire someone else to (try to) do it. Especially if you have no other customers lined up, so you might be without income for some time.

And yet, saying “no” is exactly what you should do when faced with a task you can’t deliver on. Either because you truly believe it is impossible, or because it is above your skill ceiling. Saying “yes” might make the customer happy for a while. But eventually, you’ll have to come clean anyway. Since it was an impossible task, you won’t ever complete it. So eventually, after wasting a lot of the customer’s valuable time and money (granted, the latter on you), you’ll have to tell them that you can’t deliver.

Better to be fair, honest, and open, and tell them right away that you cannot do this task. And then either add that you think nobody can, if you believe it to be an impossible task, or advise them to find someone with the right skillset, if it’s simply something out of your league.

Personally, I think professional integrity is simply the right thing to do. I would not want to charge a customer money if I don’t feel I’m delivering enough value to justify my invoice. But there is also a more intellectual reason. It is very hard and takes a lot of time to build an image. It takes just a single slip to destroy it. I think, I hope, that the people in the Data Platform community see me as someone they can rely on. Building that image is the results of being reliable throughout my career. That image represents value. Why would I risk destroying that image, just for a quick money grab by selling a service I can’t deliver?

So, even if you are not like me, even if you don’t see any moral objections to taking a job, and charging for it, that you can’t handle … even then, there are good reasons to avoid doing so, good reasons to maintain professional integrity. Because if you don’t, people will know.

Personal integrity

Where my professional integrity comes from both my personal moral values as well as from sound business decisions, my personal integrity is fully in the first category. Things I do, or don’t do, are only because of my personal set of moral values.

And before I go on, let me clarify that I don’t think my moral values are superior over all other people’s moral values. I can, of course, name examples of moral values that I personally consider objectionable. But I can also list moral values that I admire, yet not strive to attain myself, either because I believe I simply can’t, or because I make other choices.

My most important moral value is probably: “be nice”. Nice to friends and family. Nice to coworkers. Nice to random strangers. But also nice to myself. Just, be nice. Two simple words. And yes, it can be hard to always be nice. I know I sometimes fail. Some people are good at wearing my patience thin. Some people manage to make me lose my calm. But yet, even when I don’t always succeed, I do always try.

Another value I hold highly is: “do no harm”. Which, when I think about it, has a large overlap with “be nice”. I believe that every person on this earth should be free to do whatever makes them happy … but only up to the point where they inhibit someone else’s happiness. No matter how happy it might make you to swing your fist, I still want you to stop before you hit my nose. Because otherwise, you’d do harm to me, and inhibit my happiness.

The last value I want to name is: “be reliable”. I guess this includes honesty (which ties back nicely to my professional integrity), but it is more than just that. I don’t know what my children would say if you ask them to describe my parenting style in just one sentence. But there’s a fair chance that they will reply with: “daddy always keeps his promises”. This was a rule I set for myself right from when my first child was born. Always keep my promises. And that works two ways. When I promised to be there for an important event, I was. But when I promised punishment if they didn’t stop something … yeah, I kept that promise too.

And this of course comes with a high responsibility in my choice of words. Saying “this won’t hurt” when they first visit the dentist might be easy, but it can easily break their confidence if it then does hurt after all. “I will always keep you safe” is a promise that nobody can ever keep. You can do your best. I like to think that all parents always do their stinking best to keep their children safe. But shit happens. Sometimes, you can’t keep them safe. So I never promised my children that I’ll always keep them safe. Instead, I promised that I would always do everything in my power to keep them safe. And that is a promise I never broke.

And now, as I write this, I realize that this ‘not making promises I might not be able to keep’ has seeped right back into my professional integrity. Well, no surprise. It is the same me, after all.

Conclusion

Integrity can mean a lot of things to a lot of people. To me, integrity means treating people the way I would want to be treated. To me, integrity means not making promises I cannot keep, and keeping the promises I do make. And while that is mostly my personal integrity, it is actually also my professional integrity. I treat customers the way I hope my suppliers treat me, and I don’t try to sell customers services that I can’t deliver.

Slightly belated, I want to use this first blog of 2025 to wish all my readers a most excellent year, with lots of personal happiness and professional success. Be excellent to each other!

T-SQL Tuesday 181 – Amazing announcements
T-SQL Tuesday 183 – Permission hell

Related Posts

No results found.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close