Sunday, May 25, 2008

The hard part of a new job

One of the hardest parts about starting a new job is when the previous incumbent has left with no handover. In this case my predecessor had spent 8 years in the role and built layers upon layers of "obvious" decisions which might or might not be still valid. How do I find out? I'm tired of pestering people who have spent decades in their job with "trivial" questions. Two weeks now of pestering questions and I don't feel any closer to understanding why they are doing things in such a complicated manner. The tangled interconnections are almost completely opaque.

For instance, the main system is written in Perl on a Unix box. But it fires off processes onto a variety of machines running various OS's and the critical one runs on a Win box. OK, simple enough. Just fire up Perl in a CMD window and step it through. OK, simple enough. First section opens up a Lotus database. Say what?!! Is Lotus still alive? Database is actually a text file but it's maintained via a Lotus Notes application running on IE6. Say what?!! It's only a friggin' text file. Why is Lotus Notes involved? OK, simple enough. Let's log in to the Lotus app. "You don't have permission!" I'm the owner of this system but I don't have permission to access a critical section of the app because Lotus Notes' permissions don't synch with LDAP.

So now I'm in the middle of my usual crisis of confidence. Do I really want to take on eight years or more of crap and try to clean out the Augean stables? Or do I blow the whole lot away and start again? And how do I convince the rest of this sorry crew that the new way is better than what they've been using for close to a decade?

And the really hard bit is that my immediate supervisor doesn't seem to care what happens but he won't give me root permission on the main box so I can't install any sandboxes to try things out. The other problem is that this organisation sells proprietary products and seems very reluctant to use Free/Open source stuff. Case in point: they can't afford to buy everyone an Adobe Acrobat licence so I can't install PDFMaker to allow me to output PDFs from my Word docs. But instead of installing a freebie (like PDFCreator) I've been told I have to take my Word document to one of the designers who has a licence and he/she will output the PDF for me. Madness! And it seems typical of the attitude here: we can't afford a proprietary licence so we have to do it manually because we don't want to use free tools.

Well too bad. I installed PDFCreator, installed Sumatra, removed Adobe Reader and now I can create and view PDFs quickly and easily without all the Adobe Reader's constant prompts asking me to update it.

The next problem is 2-fold. How to get rid of Lotus Notes dependency? My immediate feeling is: "Install Catalyst and simply replace the web app". The problem is my employers sell a proprietary web app (which took me over a week to config) which could be squeezed into handling this task. Do I want to spend a couple of weeks beating it into shape or should I just quietly install the Cat app and not tell anyone? They've been quite happy to use Lotus Notes so it's not as though I'd be throwing out one of their products.

The 2nd part of the problem is that the need for a Lotus Notes database is purely to handle their way of tracking ClearCase tasks. And that is because of CC's peculiar way of handling branches. (Well that's not strictly true, it's more because of the way they have chosen to use CC). So if we are moving to Perforce why should I bother with a task tracking system?

All this previous raving assumes I am willing to continue with this job. I'm asking myself whether I want to take on the weeks and months of effort needed to complete this conversion. I'm not sure.

I find myself thinking of that book: "The Three Signs of a Miserable Job" (i.e. anonymity, unmeasurability, irrelevence) and this job is very close to three strikes and I'm out. "Anonymous" because my boss seems to be unwilling to volunteer any help or assistance. I don't know if he resents my taking this job (he apparently remains a good friend of the previous incumbent) and my paranoia makes me think he wants me to fail. I don't have anyone to talk with here in my little alcove. "Unmeasurability" because I have no way of assessing what "good work" is and I certainly haven't been given the tools nor the authority to do what I think necessary. And "irrelevence" because the reality is the developers could quite easily handle their build tasks themselves, they resent having this conversion being forced on them by management. And it also looks like the build system is way too complicated with so many obscurities I get the impression the developers have given up trying to understand. I know I would have given up if I were in their position.

So I will let my doubts bubble away in the background for a bit longer. I go through this stage at every new job and it will pass if I stay. It took me over a month at the previous job so I'm not giving myself enough time.

No comments: