Tuesday, April 9, 2024

Take my job - please

 I took a rather circuitous route to my current employment status.  I don't think I have met anyone in my line of work who got here quite the way I did.  It all started when I got out of the army.

The GI bill paid for me to go to school, and I was studying computer programming.  This was back when punch cards were still a thing.  Eating, paying rent, and paying for school, even just junior college was a challenge.  I had a few short term jobs and then I landed a job as a swing shift computer operator.  I worked there for several months before realizing I could not keep up with my school work and hold that job.  Food and shelter being a higher priority, I quite school.

The computers I was running were IBM System 3 computers, who's primary programming language was RPG II.  That was a language I had learned in school.  Besides running a computer, which consisted of running jobs, with the job control language on punch cards kept in the run book, loading floppy disks into the reader with the data that had been keypunched during the day, and mounting paper or forms on the printer.  

While I was there I noticed one task that would be easier perform with a program than by the operator by hand.  So I wrote program.  One program.  That was all I wrote while there, but it was above my pay grade to do even that.

I had been there around two years when we moved from Oregon back to the bay area.  An absolutely glowing reference from the owner of my former company got me a job offer.  My new employer had sold a computer to a small manufacturer of candles.  It had been installed for a few months, and still wasn't working.  They were threatening to sue.  My job was to make it work.  Somehow I did.

I was able to leverage that job to get a programming job for an electronics manufacturer that was in the process of implementing modern (for that time) manufacturing systems.  Things like Material Requirements Planning, Shop Floor Controls, and Inventory Management.  It was all written in RPG II.

A couple of years later they decided to bring in packaged software, and would be writing in house all of the reporting and interfaces that didn't come with the package.  All of that was written in COBOL and used the IDMS database. It also contained software called ADSOnline, which was used to build online applications to inquire into and update the database,   That meant all the programmers on staff were paid to take classes, both on the software they were bringing in, and the tools required to maintain and enhance it.

A friend was working at a shipping company that used the same tool set.  I had been using that tool set for a couple of years by then.  That shipping company used the same tool set, and was looking for additional help.  Not as an employee, but as a contractor.  I spoke with an accountant, filed the necessary paperwork, and became a one person corporation.  I left the electronics company, and worked for the shipping company for a couple of years.

After that I kicked around a little, picked up a couple of short term contracts.  Then a technical writer I had worked with at the shipping company called me up, and told me that a friend of hers, another technical writer, was contracting with a city retirement agency.  They were building a new system and just happened to use the same tool set I had been using now for a number of years.

I got a 6 month contract.  At the end of that I got a 1 year contract with a small pay raise.  This went on for a couple of years, each time with a small increase.  The system we were building was really quite good.  Then the project manager, also a contractor, was hired as a permanent employee.  She left our group and went to coordinate things like getting the retirement offices wired, so that there was a computer on everyone's desk.  She was getting printers set up so that reports could be printed locally, managing security so that staff could only see or change what they were entitled to have access to.  A new manager, a city employee this time, was brought in to manage us developers.  Then the project took a left turn.

I don't know where the idea came from, but somewhere in management, a decision was made to buy packaged software for printing the pension checks.  It was a good call, because the check printing software they were using was not only ancient, but somewhere along the line they had lost the source.  The same software was being used to pay all the city employees.  The input to this programs was a series of 80 character records, so it had originally been built for punch cards.

This software not only printed checks but also kept a record of them, that would be available for review online.  So we needed to design a method to take the information from our old database, and port it to the new database once a month.  This used a different programming language and a different database management system.  Then the unthinkable happened.  They sent me to classes.

Normally, you train your employees when you bring in new software.  You hire contractors that already have that skill.  To send a contractor to classes as far as I knew was unheard of.  And that wasn't the last time.  Initially, I softened the blow by waiving my fee for the duration of the class.  As time went on I even stopped doing that.

Over the years, employees came and went, and I was still there.  Software was enhanced, replaced, and sometimes customized beyond recognition.  I had become the institutional memory.  All of the changes and enhancements that were made, the little customized things and the whole subsystems written to accommodate functions that the delivered software didn't address.

My contracts were still running (fiscal) year to year.  They expired June 30th of each year.  My last contract was for the year I turned 69.  In the fall of that year I approached the manager and told him I would not be needing a new contract, that I planned to retire, at the age of 70, when my current contract expired.  I told him then so that they would have plenty of time to bring in a replacement, so that I could help bring them up to speed.

It being a government agency, they dicked around for months.  My replacement started June 1st.  That gave me one month to try and bring her up to speed, teach her what the system did, where we had made major modification to delivered functions, and where we had written entire subsystems that were tightly coupled with the delivered software.  In essence, teaching her what had taken 20 years to build.

In the following months, I dissolved my business and began the process of simplifying my life.  I filed the short year tax returns and had everything wrapped up by September.  Then I got a phone call asking if I could come back for just a short project.  Maybe a month or 6 weeks.  I made arrangements with a third party to pick up the contract, and became their part time employee.  Six weeks became three months and I practically had to pry myself loose with a crowbar.

I am about to turn 72 and I have spent more time working than not.  Part of it I understand.  Even if I didn't build it, I was there when it was all built.  A lot of the original design was created at a nearby Starbucks.  We had a manager at that time who believed that us getting together to talk was wasting time.  So we would all decide to go out for coffee at about the same time, and talk about how we thought this new function or that process should flow.  All those people are long gone now.

Since there there have been a whole series of enhancements responding to the legal environment, labor environment, or simply to supply the management of the pension system with more tools to support their members.

So, if you know Oracle and Peoplesoft, and perhaps even Pension Administration, I know where you can get a job with good pay, better than average benefits, and a defined benefit pension plan.  Take my job, please!


 

 

Wednesday, April 3, 2024

What I do Best

 For someone who is retired, I am spending a lot of evening, sometimes very late evening hours sitting at the keyboard.  For a while now I have been reviewing this function, making tentative stabs at how it should be changed to meet the new requirements.  

 I write code, it doesn't look quite right.  I go back and talk to the user about how the finished product should work, then I go poke at it some more.  But tonight is different.  The back and forth is done, and I know exactly how it is supposed to work.  Now I just have to actually make it do that.  And that really is the easy part.

I zero in on where to put the first change.  This is collecting a bit of information that gets painted on the screen at the very back end.  I change it, test, it breaks and I fix it.  I keep going through that, until that part of it is doing exactly what I want, then move on to the next bit.  I know it sounds like trial and error, but it really isn't.  Because I now I have a clear picture in my head as to exactly how it should work.  I just have to get past the part where after all these years at a keyboard I still can't type.

I probably do this differently than most people would.  I have three changes to make.  This first one is the easiest, but I will make this change and then go through the entire process of testing, to make sure it appears where it is supposed to at the back end.  That done I can start on the second bit.

My experience has shown me that it is a whole lot easier to find one bug than to find three.  So if I can make sure that this works as intended all the way through the process then if there is an issue with change number two, then I will know it really is about change number two and not have to try and first figure out which change made it crash.

It is just about nine o'clock at night, because Xfinity decided shutting off the internet to this neighborhood in the middle of my work day was a perfectly fine idea.  And no, I can't bill them for the $100/hour I missed.  But for now, I have just about finished my glass of wine so it is time to test.

Monday, February 12, 2024

Things I will probably never do again

Trot a horse on a switchback trail through a redwood forest.

I no longer own a horse, it has been years since I have.  And although I am pretty sure I could still ride one, I am not at all sure I could swing my leg over a saddle anymore.  I'm just not that flexible.

Check raise through four rounds of betting, and have the sucker that was betting into me call every time.

 I am sure I will have the opportunity to play against someone that oblivious again some time, but you can only do that playing 7 card stud.  They don't play that anywhere I know of anymore.  The best I could do that would be three times playing hold-em.  I should add that I did try to do that once in a hold-em tournament on a cruise ship.  I flopped kings full of aces.  Had I gone all in at that point I might have chased out the player who eventually beat me with aces full of kings,

Ride a non-electric bicycle from Nicassio to Point Reyes Station and back.  

That's about 17 very hilly miles.  I was still doing that into my late 60s.  My riding companion was riding an electric assist bike, and mine was fully manual.  Then COVID hit and I didn't ride for a couple of years.  The last time I rode with that friend on a much shorter route I lost sight of her, and she had to wait for me to catch up.

Work outside of my home

A few years ago, perhaps more than a few, I took a hotel room in the city a couple of blocks from my office when I was doing some kind of upgrade/conversion that was going to take all weekend.  It allowed me to go back to the hotel when I had kicked off a long running job and grab some sleep.  Then I could go back to the office and pick up where I left off.  It allowed me to squeeze in all the processing into a weekend and not impact the day to day operations.  Now, if I was even willing to take on a project like that, I would be doing all of it from my living room.

Break up a double play

I played softball for years.  I was never a power hitter. I had one career home run, and that came from hitting a sharp line drive that got between two outfielders before they could close on it.  Towards the end of my playing days, I hit a clean single into right center field and jogged into first.  The batter behind me was mostly a ground ball hitter, and he didn't disappoint.  He hit a ground ball towards second and I took off as fast as I could, going into my slide just a moment too late.  I am not sure how long it was before I regained consciousness but I had broken up the double play.