I'm not the easiest person to work with, this is not news to me. But as long as I've been at my current job, I've been working very hard not to be as blunt as I might wish to be with co-workers. Specifically, co-workers that are doing a really bad job. So imagine my surprise when today I was able to exchange emails with The Smartest Man Alive. TSMA, as I'll call him, is a developer at The Shop and he's got a pretty well deserved reputation for being a prima dona. But hey, he's also TSMA, so it's OK, right?
This morning I got the following email from a fellow developer in my group that was trying to get TSMA's stored procedure to work:
From: Mary
Sent: Today
To: TSMA, Steve, Bob
Subject: RE: lock problem again
Steve said the lock is free now.
Bob looked in the logs and sees the lock acquire error happening 4-5
times a day. TSMA, this sounds like expected behavior, right?
Mary
I had heard about these locking problems yesterday, and had reported to Mary how many times I was seeing them happen. It was a lot. When these locks happen, we're losing data, and that's not good. So I have to give it to Mary for sending this back to TSMA.
His response was a little surprising to me:
From: TSMA
Sent: A Little Later
To: Mary, Steve, Bob
Subject: RE: lock problem again
my code retries (up to several times with a short sleep in betwen)
on one of these deadlocks and I have not yet seen a case where all
retries fail -- so honestly do not know how often the deadlock hav
happened. But a few times a day does not sound unacceptable to me.
TSMA
(I've left the typos in the emails just to remain honest to the communication)
And here's where I have to step in. I am able to separate myself from a really bad job - so long as it's not brought up in front of my face. You want to do a crummy job? Fine. Just don't expect me to depend on it, and don't do it in front of me. If I let it slide, then I look like I knew it was happening and did nothing to stop it. That's not OK with me.
So I wrote back:
From: Bob
Sent: A Little Later
To: TSMA, Mary, Steve
Subject: RE: lock problem again
TSMA,
While I don’t claim to know the details of this project, or the
database involved, I would think that any design that allows a
failure to occur through normal usage is a bad design.
Deadlocks are something that needs to exist in database usage
to keep the database running in those rare conditions that multiple
locks are involved in a single query or transaction.
When some process or request needs to ensure some kind of data
integrity, there are many perfectly acceptable ways to achieve this
without the process failing – multiple times in a day.
Does your car fail to start multiple times and day in the course
of regular usage?
Does your computer fail? Your phone? Would it be acceptable to
you if they did?
I think you get my point.
While it’s not my database, the idea that this kind of level of
service is justified because it only happens a couple of times in
a day is really a stretch, don’t you think?
Let’s follow our CEO’s words: “Raise the bar.” Be better than
this.
Bob
This was, of source, a huge mistake, and I clearly didn't realize that I was talking to The Smartest Man Alive, after all. His response was quick and decisive:
From: TSMA
Sent: Right Away
To: Mary, Steve, Bob
Subject: RE: lock problem again
Bob,
You would have done much better if you stopped with the first part
of your first sentence since that's the only piece of your email
that's shows any understanding. The deadlock in question is the
one the sp announces it is preventing.
Save your advice to cases where you actually first bother to ask
questions before making grandiose statements.
TSMA
and then just a minute later:
From: TSMA
Sent: One Minute Later
To: Mary, Steve, Bob
Subject: RE: lock problem again
and by the way Bob, get rid of the patrionizing tone, although
*you* may not be better than this.
Well... that certainly showed me, didn't it?
I sat totally shocked by this response. I'll admit, he's a prima dona, but really... do we need to have the attitude? Maybe he felt I was over the top. Maybe, to him, I was. But when I've talked to several people about - including the Senior Partners in the firm, they think that the idea that a critical risk system fails 4 or 5 times a day is anything but OK.
The Shop is filled with people that have no accountability - or such limited accountability that they can all but break the law and get away with it. The problem isn't in the individual, it's in the organization. If the organization did, in fact, hire The Smartest Man Alive, then great for us. But if the cost is that he's incapable of delivering a reliable product, and when pressed on the issue insults, well... then maybe it's too high a price to pay.
It's not my Shop, so it's not my decision. And I have no illusions about the fact that there are literally dozens of these guys at this place. Each one associated with a group of traders that protect them so that they can nearly get away with murder.
The real long-term cost is that people don't want to work with this kind of individual, and that means that should something happen to him, the organization is at a real loss. There are also people like me that see this as the prime reason to avoid this person and, if necessary, duplicate his work because he's shown himself to be incapable of creating solid, reliable products with a decent support arrangement.
But I can sleep easier tonight knowing that I exchanged emails with The Smartest Man Alive... well... at least the most arrogant developer in The Shop.