Wednesday, August 22, 2007

Good Day to Worse Day

Today I got the opportunity to have lunch with my CIO.

A few weeks ago I sent him a manifesto, which I would now classify as more of a philosophy. He kept promising me he would articulate a response via email. Being the CIO of a Fortune 400 company, I figured he had better things to do than to write out an email to me. So I offered him up a trade, lunch in exchange for the email. Surprisingly, he agreed.

Today was the day but I fully expected him to cancel; surely something else would come up. Nothing did, but he did move it back by 15 minutes.

Down to the cafeteria we went (I was really hoping to go out to lunch, just to get a ride in his Porsche Gemballa). We sat in a booth and started talking. We discussed everything from my group (excellent group of people, talented and fun), using MySQL databases for one-off projects (I was for putting them in a single Oracle database), to the state of our current OLTP application (crud).

He mentioned user-defined fields (OLTP) and I told him about one instance where someone in our company created those in an internal application. I didn't say anything at the time because it was not in my group and I didn't want to call someone out for something I thought was wrong. He told me I should have, that it would be in the best interests of the company. Then he said something that I have heard him say in our All-Hands meeting, "Let me be the one that makes the wrong decision."

That sealed the deal for me. I have liked him and what he has done since he got here, but that one comment told me that he took his job as leader seriously. I was thoroughly impressed.

So that was the good (great) part of the day. I felt great because our CIO listened to me prattle on for an hour and listened to me. He even used one of my analogies (well, not mine really) in his management meeting a short time later.

Now on to the worse part.

The application I have been working on for the last few months required an Emergency Fix (EFIX) because they had detected a bug. I realized quickly that I was the culprit. Something that had worked previously was changed by me in an effort to re-factor the code. It wasn't broken. There was no specific business requirement to re-factor it, I just did it...and screwed it up. The ironic part is I had just sent out an article to my co-workers about discipline making good developers.

I told this to the Business folks, what I had done; and apparently I hadn't earned any brownie points with them because they escalated it to my boss and VP. Which of course had to go to the CIO as well...

I definitely screwed up. There's no way around that. I know better than that. Oh well. It was certainly a lesson in humility. I'm just thankful I still have a job...


Peter K said...

I wouldn't worry too much about it. If your CIO is the way he is, I would say that the good part is that you owned up to the problem instead of trying to either deny or cover up.

People make mistakes and that is acceptable but not if you keep repeating it :)

Wouldn't surprised me if your CIO told the Business folks that he is only interested in resolving the issue and ensuring that it doesn't happen again NOT doing a whole bunch of finger pointing.

oraclenerd said...

Thanks Peter.

Unfortunately that's my second one in as many months. Small, in terms of code (two lines, seriously), but big in effect.

This particular project turned out to be rather big and I simply made a mistake (well, two of them).

Discipline is a definite priority now!

Unknown said...

Like Peter said, I wouldn't worry about it.

The willingness and ability to take responsibility for issues (f#$%kups) is staggeringly rare. It is something you will be proud of.

But it is also something that engenders trust. I wouldn't mind betting that those same poeple who did the executive escalation on you will be much more ready to deal with you directly in future (and you can avoid the hystrionics). Because they trust you to give them the real deal, and won't feel they need to go above to get their issue addressed.

Most cases I've seen, issues only get blown out of proportion *because* individuals refuse to own up to their faults.

To err is human ... unfortunately, to blame someone else is also.

btw, I love your "time since I last screwed up in production" timer. If only everyone was that honest!

oraclenerd said...

Thanks again Paul.

That surprises me all too often, that people don't take responsibility. I say, own up to it and get it out of the way. Someone, somewhere will appreciate it, plus it's good karma.

I didn't mention this in the article, my first error was one of process. I promoted code from dev to production. Yes I know, I should never have that ability...but since we are such a young company.

Anyway, the day after all code had to be deployed from source control. That made a lot of people very mad, but I had been begging for it (implementation of source control) since I started.

At the following hands on meeting led by our CIO, I raised my hand and promptly thanked the "perp" for having broken the system...I love source control. I could see all the executives faces light up because they knew it was me, though most others didn't.