I SAID during my interview, same I as I said during my interview at The Factory that I am a hack and by hack I mean I surely do not claim to be any sort of bloody expert on any part of a system I haven't had call to use, but the minute I need it I'll find a way to work it out; generally the hard way, by beating my head against the wall until I get the result that's needed (emphasis on actually needed). I've also had ample opportunity in the last two weeks to drive home that particular point. I do not have the information in my head that you keep thinking I do or maybe ought to have. I've been very clear. I also think you know this. So what's your point? I think you have one, I just haven't worked it out yet.
Hey, one other thing that's different about me from a lot of geeks, not all, but a lot that I come in contact is this; I'm not a gamer. I don't play games; not computer, video, card, board or any other such thing unless my arm is twisted and it means something to somebody who means something to me. I just don't care about them. For the most part. I have very rarely been interested in knowing something for the sake of knowing it either. I guess I'm what you'd call an applied learner. I don't have an ego attached to how much of this or that I know for the sake of knowing it and how do we write code? We write it based on something somebody else has written and adjust accordingly BECAUSE THAT'S THE MOST EFFICIENT WAY TO GET THE JOB DONE AND THE FASTEST WAY TO LEARN. We also don't do it in production.
Meanwhile back at the ranch I'm dealing with change and keeping my mouth shut isn't going to fly. Neither is channeling Iago and being complacent. Oh well. Plan B.
Aren't we all fish of one sort or another (actually, no.) At some point a tree climber or somebody with a tree comes along and says, CLIMB THAT TREE, FISH! And haven't most of us been brought up believing if we can't climb the tree there's something very wrong here? Yep. Well, OK, that's worked well enough in the past because I'm stubborn and I'll nearly kill my fishy self getting up that tree but yesterday something snapped and I guess I just dug my fins in and said, hell no.
I should back up a bit because I don't think I would have said hell no if I hadn't been recently traumatized.
I was asked to write a report to extract some data from a database where in a lot of cases we're not trying to get data OUT, we just want to get data in and then we want to report on it. I'm really good at getting data in. Generally there's one native way to get all data out and then there are a bunch of third party tools to get it out differently. I know how to use those tools but TheBigBank doesn't have access to those tools or at least my department doesn't and even though I could hook it up pretty quick if they'd just give me access and half a day it's not going to happen. OK. So my boss points me to the one built in tool that hasn't been upgraded since about, oh, I don't know, 1993? And says, write it. Write the code that will extract the data like this and this and this and this and I say, um, OK, but I've never actually used that tool, just so ya know so it's going to take awhile and hopefully you've got some templates and the help files are still around and YOU know how to do this so you could give me a couple of pointers.
Him: And you call yourself an Essbase geek?
Me: Yeah. I do.
Him: You don't write reports.
Me: No. I don't. Don't know anyone who does either so there isn't going to be a lifeline to call on this one.
Him: I do.
Me: OK, good. And you want me to write reports too so I'm going to go back to my desk and work this out, OK? Do you have a template?
Me: Could you give me a brief tour of your db so I know where to start?
Him: Yes. And then bring it back to me and we'll go over it. Do this as efficiently as possible (I just want to make it work, OK? We'll get to efficient after the fact).
So I went back to my desk. He asked if I didn't want to stand in his cube and do it with him. I said no, it would be better if I could do it at my desk so I could write and pull and write and pull until I got what I was looking for. I explained this is how I learn. He left me alone.
A couple hours later I was done except for a little tweaking because a renaming command wasn't working as expected. We called over the super consultant because my boss didn't know why not either and in the end we all made it work.
I played some more and finally got what I wanted.
There was shock in our cube row. My boss said, 'That was good a good thing (as if you would have thrown my ass out the door if I'd failed?).' My co-worker said, 'Wow. Can you show me how to do that later?' I said (with my inside voice, 'you bastards. was this really necessary?')
To shorten the story a bit I made the mistake of trusting him to have checked my work because I really do not know the data at this point, don't know the business model all that well and surely do not have a relationship with the rather massive db yet. We, my co-worker and I were about to implement the change into the db and he (my boss) said, maybe you should test that first, run it in backup and then test it. Alecto will build you a test report in Excel to validate data (and you, my peer, don't know how to build this yourself why?) and you'll run it tonight and if it's good you'll kick off the new build with the changes in the morning.
I think he knew I was going to fail.
I got a text message at 9 which read:
I picked up the phone and called my peer and said:
Me: What the hell happened?
Him: The numbers don't tie.
Me: Why not?
Him: Because you fucked something up.
Me: Exactly what, please?
Him: I don't know.
Me: OK, this is your data and your db. I don't know them well enough yet to make any sort of call on what doesn't tie and why not. What do you think is off.
Him: I don't know. I only know the validation sheet isn't all zeros.
Me: OK, so you know how to do a roll back and run the prior build, right?
Me: OK, I'll see you in the morning.
In the morning I arrived in an absolute state and started drilling into the extract and the db and trying to figure out why the data I extracted didn't equal the data in the db from which I pulled. (boss wasn't in yet) In the mean time Peer kept telling me it wasn't my fault. I gave Peer a look and said, 'listen, buddy, it isn't about fault, it's about accountability and I am accountable for any system change I make and call good. Period. I should have said, 'I made a change and I'm comfortable with the change but I'm not comfortable with the change in production'.
He didn't get it.
In the end it was a very simple error. On my part. My boss knew what it was before he even saw the files.
So. Not a big deal. I learned two things. First, this is his teaching style and he never would have let it go to production without a test. Second, I really do own any change I make soup to nuts whether I'm ready for it or not. But I was traumatized.
Later he came by my cube after he realized Peer had contacted me the night before (because I TOLD him to) and said he was glad I'd come in. I gave him a horrified look and asked him why on earth I wouldn't have come in. He said I could have been the type to refuse to get out of bed or the type to get into bed with a bottle of vodka or the type to come in and pretend it didn't happen or the type to come in and figure out what the hell happened. He said it was good what I did. I was as horrified as when he said it was a good thing I wrote the report.
Maybe I shouldn't take so much of this to heart but the way I see it is this; you hired me for a reason. I figure you hired me because I said I was all of these things and now you want me to prove these things as opposed to just accepting I am who I am unless I suddenly start not being those things. Maybe that's the culture. Maybe that's just who you are but quite honestly I'm astonished. I can pass your tests, I don't doubt that at all, but I think we'd be a lot more productive if you actually gave me something to work on that wasn't such a panic and I maybe learned what was going on around here from, oh, let's say, the baseline? Just a thought. I'd love to spend some time getting to know your database as opposed to spending literally hours sitting behind Peer watching him add users to the system as if he's teaching me rocket science (maybe security IS rocket science to him but this sure isn't showing me much of the db) and then periodically throwing tests from the other side of the spectrum at me.
Anyway, it's mid-afternoon on Friday and I've finally gotten my heart rate below 120 and I have a new assignment only this time it's on a db where there is no way, apparently to test it. I'm to learn in theory entirely. My boss will be the machine. I will go to my desk and write the code without benefit of any sort of test. I will come back to him and tell him why I think this will work and he will tell me what will happen. I will have ample opportunity to look like a complete ass and he will have ample opportunity to judge my baseline today. I don't think so, buddy. Also, I don't learn that way.
Me: So you want me to learn by the theory model?
Him: That's all we have.
Me: (beet red in the face probably) OK. I'll do that for you if that's what you really want but I don't learn that way (we've been talking a lot about identifying the way I learn so that I can learn the way I need to learn). I am applied learner. I need a test environment. It can even be a very small subset. I'll build it.
(data point - Unless I'm really missing something, someone is lacking in imagination. Any subset of code can be tested in a subset of data and any subset of data can be stored in a subset of db and I can build, in this paricular model a subset of this db so why are we doing this?!)
Him: That won't work, it needs to be the whole thing.
Me: (I must have looked like hell) OK.
Him: I know you're going to want me to give you the answers but I'm not going to do that.
Me: (I'm guessing you can imagine what I was thinking and I want props for not saying it) If you're testing me and I think you are, I don't ever want you to give me the answers.
Him: What makes you think I'm testing you?
Me: If you were only trying to teach me something we'd both be better off with you giving me the tools that work for me, telling me the what and the why and setting me loose with it.
And then I went back to my desk.
Ten minutes later we were building a test database in a new environment.
I don't think he's even aware of what he's doing.
And I don't think it's even relevant. It's a data-point. For both of us.
Spending my time mad and panicked isn't going to help.
And if a fish judges a tree frog on his ability to swim in a pond or even understand a fish without explanation we're going to have a few problems, Houston.
It is reasonable and responsible to reverse that metaphor.
gods grant me the serenity to avoid eating the Tree Frog's eyeballs for he is really a very sensitive Tree Frog and once when somebody told him he was intimidating and wouldn't tell him why (that was a very mean and passive agressive thing to do to him) he got all red in the face (and not in the mad way either) and stayed that way for a very long time.