The Deciding Factor
There are a lot of times in my life when I'm really on the fence about something. I want to get the new 17" Unibody MacBook Pro with the quad cores and the 512GB SSD, but we're trying to sell our house and move to Naperville, and I think maybe I should hold off until we're moved, and see how things look then. On the fence.
I've been on the fence for the last several months about what to do about my position in The Shop. I've entertained the idea of leaving, and I've talked to the management about my concerns that might move me to make that decision. I've asked for relief - in the form of working at home for a while, and that was rejected as I was considered too vital to the team to allow the remote work option. Again, on the fence.
There's a lot to like about The Shop. There are plenty of people I enjoy in a lot of different spots. There's a new pseudo-CTO that has promised a "cut 10%" policy that promises to get rid of the deadwood that's a significant problem here. He's also understanding of the fact that there are serious problems in such fundamental things as the market data, and is working to address them. There's a lot to like, and a reason to think it's going to steadily get better.
But then there's the one really significant downside: I work directly for Ralph.
On a normal day, Ralph is a micromanaging, untrusting, manager that believes he's always the smartest one in the room. And while I agree with these words, they were first spoken to me by Ralph's managers. It's not a good situation, but when Ralph is busy in meetings, or quietly working on something else, it's easy to forget he's sitting six feet to my right. But when he chooses to assert his management over me, it can get very uncomfortable.
I was raised with a serious work ethic, and respect for those over you. Not that I would hold doors for Ralph if I saw him out on the street - but in the workplace, he's the manager, and the organization has made that decision, and deserves my obedience to that decision. If I don't like it, I am always free to pick up and leave. That's my choice.
So I'm again on the fence. If Ralph is quiet, it's not too bad to do my job and get some decent measure of satisfaction, and go home at night feeling that I offered a great service to the company for the salary they paid me. Even when Ralph is asking me to check on a few things, or add a few things, it's something I can handle. But when he goes off on one of his micromanaging binges, it's hard to keep my mouth shut.
Such was the case today.
Today, he was trying to find out the reason some group's end-of-day P/L wasn't matching what we had, and wanted to have me make some changes to the system we have that generates our numbers. I tried to explain that the difference between what we had and what he wanted was a design decision - specifically, there were a few "prices" we could use for a future, and the difference was between two, and we were using one, and the change would move to the other.
The problem would be that this would impact a lot of people, and the reason that the one was chosen in the first place (by the original developer) is now totally lost because he doesn't remember, and didn't comment why he did it. I was trying to explain that I didn't know why the system was the way it was, and Ralph get pretty testy.
"Can you send me the code?" he asked. 'Sure', I thought... with absolutely no coding experience in Java (limited to Matlab and Excel), he's got no chance to actually figure this out. I'll send him the files out of the SVN repository - even sending him different revisions of the file to show what I meant: the change was made, but the "why" was missing.
After a few minutes, I hear over my shoulder: "Bob, what's the code doing here?" I turn to see that he's got the latest code up and focusing on the location I highlighted in the email with the links to same. I got a little frustrated, but said nothing. I rolled over, and I'm guessing it showed on my face, or in my tone, but after about 30 seconds of me explaining the code to someone that doesn't know an object from a chair, he said rather loudly: "Hey! I need you to clam down!"
"Ralph" I said, "I'm frustrated because I feel that you don't trust me."
"Do you know the answer to the problem?" He asked me. "No? Then I think I might, so I wanted to look at the code."
Now this is a guy that's got no idea of what Java is. He doesn't understand references, objects, links, he's well intentioned, but clueless, in this regard. I try to explain a few things to him and he's not getting it. I have to explain several times over. It's getting out of hand.
In the end, he tells me to remove several lines of code (I suggested we not do that), and even get rid of error messages that he says are not errors at all. I realize that Ralph has gone off the deep end, and it's not worth having any further conversations with him. I agree to do what he's asked, do it and am done with it.
After about 15 mins, I realized this was a blessing in disguise. Ralph got me off the fence. He made it a very black and white decision for me: stay here and work with him, or go to a place that's actually nice to work.
No question.
When I made that decision, I was actually happy that the blow-up happened. Yeah, it was noisy, and yeah, it was out there in front of the entire group, but in the end, he made it possible for me to make a solid decision.
Thanks, Ralph. You made it easy on me.