Archive for the ‘Cube Life’ Category

First Day at the New Job – A Bit of Flopping Around

Monday, March 9th, 2009

cubeLifeView.gif

Wow... I'm not a big fan of change, as I feel very much like a fish out of water - whether I am or not. Today was no exception. It's a fantastically interesting place - lots of ideas, lots of activity, lots of interesting things to do... and tons to learn. I get the basics of what they are doing, but all the specific terminology is new - but not horribly hard to learn.

Still, it takes time and I need to keep at it until I feel a little more comfortable. Then I'll get into a better groove and be able to make progress on the things they want me to get working on.

Exciting times.

My Last Day… Hard to Believe it’s Finally Here

Thursday, March 5th, 2009

cubeLifeView.gif

Well... June 25th, 2001 to March 3rd, 2009 - that's 2811 days - 7 years, 8 months and 9 days. That's a long time. There's been a lot of things that have happened in that time. The kids were a lot younger... I was a lot younger... and in the years a lot of things have changed... and a lot of things haven't.

I remember first coding the MarketMash client in Java on JBuilder on Windows. There was a lot to learn about the infrastructure I was going to be using, and then there was the "Server". This giant mysterious box that (set of boxes, actually) that were the "other end" of the calculations. I can remember there being a lot of problems in the beginning - still really building the way that the code needed to be built. But it was important to minimize the downtime and get the most features out to the client as quickly as possible.

There were a lot of interesting projects - the CacheStation... the MarketData Server... lots of projects that rose out of the ashes of other people's mistakes or poorly written systems to become some of the best code I've ever written. Stable, solid, reliable... just like a toaster.

There have been a lot of characters over the years as well. I'm proud to say that I count the traders as some of my biggest fans. They appreciated the productivity, and understood that "all politics are local" (great quote to me from a trader). They liked what I could do for them, and I did too. There have been exceptions... one trader accusing me of being racist... another refusing to let me eat lunch until I explained some of the workings of a project to him... not all great memories, but all very valuable ones.

I've had the joy to work with some of the finest people I know. I've also had the pleasure of working with some of the worst, and yes, I mean pleasure. If it hadn't been for these people, I'd have never known how really horrible some people can be to others, and duplicitous to boot. It's a lesson that I need to constantly remember in this business where you need to make sure you understand who your friends really are.

I'm winding down... packing things up... having a last burrito for the road. It's going to be a mixed-bag, I'm sure. Some people scrambling to get a little more knowledge from me, and that's going to be stressful for them - and me. But in the end, when I walk out the door for the last time, it's just that - the last time.

Lots to remember... and never forget.

Given Everything, It’s Nice to Know You’ll Be Missed

Wednesday, March 4th, 2009

cubeLifeView.gif

Tomorrow is my last day at the Shop. More than seven and a half years here, and it's down to a single day. I've been on a bit of a slide these last two weeks, but I have to say, two things today made me feel like I really have done something right here.

First, I was going to get a Diet Coke, and passed by two of my favorite traders in the hall talking. As I passed, I said "I'm really going to miss you guys." To which they immediately responded "We're really going to miss you."

I was stunned. Happily. Never in my life had I expected that kind of affirmation from the traders. I know I have tried to be helpful, but that's a very subjective thing. I have built a few really cornerstone apps here, but to have them respond back like that was really very unexpected. It immediately put a smile on my face. Sure, I was leaving and was going to miss them, but they were going to miss me too.

The second thing happened when someone stopped by to ask me a few questions about one of the projects he was taking over for me. I'm not really sure how we got around to the topic of a certain manager in the group, but we did, and in the retelling of stories this guy mentioned that often he had the following exchange with this manager when discussing a task he was assigning to this person: (heavily paraphrased)

worker: That could be rather hard, and I'm not sure if it's even possible.

manager: It might take you two days to do the hard, but Bob could do the impossible straight-away.

While the relationship between myself and this manager has not always been wine and roses, I have done what he's asked, and it seems that even when he asks it, he must know that some of what he's asking is not just difficult - but difficult even for his better people.

This isn't going to make me stay, but it does make me feel good about the contributions I've made over the years. It hasn't gone unnoticed - which was a real possibility in my mind a few days ago. It's nice to know you'll be missed.

There’s Blood in the Water – I’m Glad to be Getting Out

Wednesday, March 4th, 2009

cubeLifeView.gif

No doubt about it, there's blood in the water. This morning they let go two developers - one consultant and another employee. I'm guessing the employee got a decent severance package, but I have no first-hand knowledge on that point. The consultant, I'm guessing got nothing - it's the way of the employee/consultant world, as it were.

I don't know the details, but I'm certain this has everything to do with the markets and the staff cuts that started about a month ago in the Front Office. If it happened there, then I knew then, it eventually had to come to the IT group - developers and support staff. We just didn't know when.

What's a little shocking is that the employee was here for as long as I've been here - and yet I outlasted him by a single day. I'm guessing he had no idea it was coming, and that's no good for anyone. If you were at least in the process of making plans, then the layoff might not come as a complete surprise. But if you had no idea it was coming... well... then it can be a real kick in the belly.

No fun, in those cases.

I'm not sure I'll keep in touch with these guys, we weren't really close most of the time they have been here, but it's still sad to see the blood flow - for anyone.

UPDATE: I was amazed to learn that even more people than I knew were part of the layoffs. Also, that the management didn't even allow them the courtesy of clearing out their desks! I've seen some of the most unpopular people fired from this place - with security personnel standing by their desks as they packed to go. But they at least had the opportunity to pack their things.

What happened yesterday was nothing short of embarrassing. Any employer participating in this kind of behavior towards simple layoffs (as opposed to felony arrests) should be ashamed if itself. There's no possible, defensible, excusable reason for it. None. That it happened today is confirmation that this place has changed. And not for the better.

The Final Falling Out – Sad to See it Happen

Tuesday, March 3rd, 2009

cubeLifeView.gif

Well... I've been in the midst of this "brain dump" - the last two weeks of this job, and this morning I realize that I've had the final falling out with a co-worker that I've worked with more or less comfortably by for many years. It's not something I could have helped, really. Nor is it totally unexpected. The guys taking over my projects are being pressured to be able to build and deploy the codebase before I leave. Sounds like a good plan. Some are taking it a step further: they want to be able to re-create the entire environment I've used. That's a much bigger task.

To be able to go to a specific machine that has all the infrastructure set-up for the project, check out the code, build it and deploy it is a reasonable goal in a few days. But to understand the infrastructure - for example, one of my projects uses Tibco. In order to run Tibco, you need to get the license file from the higher-ups and then place it in the path, and then put in an entry into /etc/init.d for rvd and then get it added to the environment, and then running. It's possible, but it's not really as important as being able to build the code that uses Tibco.

When there's time, the deeper investigation of the infrastructure can be looked at. And at that time, there will be sufficient experience with the project so that there's an understanding of what the infrastructure components are doing and why. But for now, that's really a step beyond the initial cut of "check-out, build, deploy". It's a good goal, but it's not something that should be viewed as an absolute requirement.

But it seems to be viewed that way by this co-worker.

When he asked me how to get this one service going, I suggested that doing it on this one box was the right thing to do. When that wasn't sufficient for his desires, without further explanation on his part, he got mad. And stayed mad. I got the feeling yesterday afternoon that he was upset with me not helping him in this regard - but to be fair, even if it was in the plan for him, me doing it would be wrong because that means that the people left here are not learning how to do these tasks.

Either way, my hands were tied, and he didn't like that.

Understandable, and I can see a lot more of this coming in the weeks and months ahead. I expect to hear a lot of nasty things being said about me in my absence. This place was busy when I was here, and I was doing a lot of things. Remove me, and everyone's workload increases significantly, and that's not going to make anyone happy.

So it seems to have started here, in my last week on the job. I tried to talk to him about it this morning, and I can see that it's clearly just as sore an issue with him as it was yesterday. He's upset, and he thinks I'm being horrifically unreasonable. I think I'm trying to make it easier on him, and if he insists on going that extra mile, then he needs to know that I can't possibly help him without negating the effort he's putting forth.

Oh well... there's nothing I can really do about it. He's upset for what he believes are valid reasons. Perception is far more important than Reality - so true.

Slugging Through More Transition Questions

Monday, March 2nd, 2009

cubeLifeView.gif

I know it's what was going to happen, but that doesn't make it any easier to live through. This constant barrage of questions from the developers and support staff is really quite draining. And it's not the stuff I've left out of the docs - that I can understand. It's the things that appear to be problems when in fact they are environment issues on the part of the developer that are inconsistent/incompatible with the project they are taking over.

It's a simple job to make a .cshrc file look at the name of the machine - and/or the version of the operating system, and then set up defaults for that box so that the user doesn't have to do any of the changes on his end. Take make, for example. On the linux boxes, it's the GNU Make that's shipped with the RHEL distribution. But on Solaris, you have to be careful, because GNU Make is installed in /usr/local/bin on all our Solaris boxes, but it's also on the shared file servers, and even in the Sun compiler suite - as we are licensed for that as well.

So you have to make sure that you're pointing to the right things, on the right boxes, so that all the simple development commands and such just work. It's not hard. But it takes a little effort. This is why I have told people about where my .cshrc and .login are, and they are free to look at them and see what they might want to pick up for themselves.

Of course, they don't have to do that - they are free to change anything and everything about these projects now that I'm no longer "actively involved". However, if they come to me and they think something should work out-of-the-box, and it's not... then debugging these issues is especially tiring as I was assuming that things are set up correct for the build.

But in the end, I only need to give it a few more days and then it's no longer my problem. It'll be up to the folks remaining to work through all the unasked questions and make sense of the codebase that I've left. There's a lot there to work with, and it's working just fine. But things change... Oh... things change.

The Distribution of My Work – It’s Done

Friday, February 27th, 2009

cubeLifeView.gif

Well... another milestone: management has divided out my projects to pairs of people - ten groups in all. Amazing. Twenty people. Wow. I know there's no need for the doubling up, but it's the enterprise thing to do, and it's what the management team seems to be going for. Good for them. Wonderful.

These days I'm answering a few questions... distributing a bit of the hardware that's in my cube to the people that are taking over the projects. Answering a few detailed questions about how to build and run the app. It's stuff that I've covered in the de-briefing talks, but I understand that they weren't really listening because they hadn't gotten their assignments until all the talks were done.

I find myself wishing for the day to be over. For next week to be over. When I was struggling with this place, and I was convinced that I was going to be here for a long time, things were bad. And I tried very hard to make the best of them. But now that I'm a lame duck developer, I find I'm getting even less respect, and that makes it even harder.

After all, I didn't have to give two weeks notice. I didn't have to give 9 months notice in the sense that I wasn't happy and looking. They waited until the last minute, and then when they know I'm a short-timer, they treat me even more dreadfully than before. I find myself wishing they'd just ask me to leave. That would be nice.

It's sad, it really is, because unlike those times that you've heard a person burning their bridges with an employer by not giving sufficient notice or not documenting things, or being a jerk, etc. This time it's the Company that is doing this to the person - that would be me. I feel sad because of this. I have worked here for over seven and a half years, and the best I can muster in leaving is this?

What it's crystalized is the knowledge in my head that this was the right move, and it's better to be taking it now than waiting another year... or even another week. It's time to go.

More Meetings… But at Least They are Over

Thursday, February 26th, 2009

cubeLifeView.gif

Well... today has been nothing but meetings about the systems I've worked on. It's been difficult, as I've said, and they have not been universally pleasant, but at least they are over. No more of them.

Starting tomorrow, and for the next five days, there may be little one-on-one meetings about this or that, but it's not going to be the kid of meetings I've had. Hopefully, they will be more focused on goals, and I'll be able to ask them if they've read the docs I've left, and if not, instruct them to do so for future generations.

I can say this is not a "fun" time... but it's necessary. I'll be gone in another week, and there will be nothing they can say I should have done before leaving that I didn't do. Necessary.

Not Quite the Response I had Expected

Wednesday, February 25th, 2009

cubeLifeView.gif

Hey... I know I'm on the way out here. Just over six days left. People are going to be getting testy. Some will get nervous and anxious about the "what ifs" of me leaving. That's certainly understandable. I was more than a little worried when Jeremy left, but I also understood that it wasn't he that was the problem. He did what most would do - wrote up what he had and then it was up to me to get it working. That's just the way things are.

But it seems that's not universally the case in this place.

For the last several meetings I've been getting an increasing sense of animosity from the people that I'm doing this favor for. Let's face it, I could have left with less notice, or not had as much written down, or not had all the web sites for each project detailing all the workings - no one else has this level of documentation, and I've never seen anyone sit through three days of de-briefings.

And still... I get the grief.

I'm stunned. Maybe it's something that's been building up, I have no idea. Maybe it's because I've gotten no response from most of the IT management on my leaving - no "Hey, heard you were going, sorry to loose you". Nothing. It's just professionalism... common courtesy... it's not burning your bridges. But that's not happened. Oh well... I'm remembering all this very carefully as it's one of the reasons I had decided to leave. It's confirmed in this week that things are not all happy and chummy here. They are quite adversarial.

But I only have six and a half more days and I'm gone. God Bless CTC.

Doing a Knowledge Dump on T minus 8, and Counting…

Tuesday, February 24th, 2009

cubeLifeView.gif

Well, it's going to be an interesting week as I have a bunch of meetings with the folks here to try and give them as much knowledge as possible in the remaining eight days I have at the Shop. It's back-to-back meetings and tons of questions. Luckily, I've written so much down in the time I've been here, there's little they can ask for that I haven't already written down. But there have been a few little things that I've consolidated into a document for them. Seems only fair.

What amazes me about the transfer process is that there seems to be a decision at this point not to assign an individual for each system. I can understand the logic in having broad coverage of all the systems, but human beings are pretty easy to figure out - if they aren't going to be responsible for something, and they are busy with other work, the optional stuff is going to get dropped.

Maybe it's going to be different after I leave and someone decides that things need to be looked after in more detailed manner. Maybe they'll let me show all the systems to all the people and then they can decide what best fits where. I sure hope so.

I've voiced my concerns that if no one picks this up, when a problem does occur - and they do - eventually, there won't be anyone with even the bare knowledge to start digging into the cause. It's my fear, and now that I've expressed it, I'm done. No need to keep beating the issue. The decision has been made.