My First Coding Job


Many moons ago, in a land far, far away.

I wrote my first code when I was working my way through school as a night computer operator. I was so bad at being an operator that I thought they'd fire me, or move me into an accounting position. The reason I was so horrible was that the nightly job consisted of stacking thousands of cards into input hoppers on the computer, and placing critical control cards that had to be absolutely without error in exactly the right place in the stack. It wasn't an impossible job, but to an 18 year old with the attention span of a gnat, I made errors. When I made an error, part or all of the run was trashed and the day people had to rerun my stuff.

In desperation, I started reading the manuals, all written in Spanish (Miami), to figure out how I could make the job easier to run and less prone to silly errors. The manuals, were excellently written with lots of examples and flowcharts. IBM really knew how to get the point across. It took me a few weeks of study to learn how the system worked, the different parts, and how to control the flow of data.

The computer code the company programmers wrote was childish and sloppy, and in about six months, I had completely re-written everything to use advanced methods like random access and master files, and extremely advanced coding concepts like a setup file with all the information on those little cards I spent hours keypunching and messing up. Type two cards, read them in, and if they matched, the data in the setup file was accepted. Instead of 50 cards, I typed two; instead of feeding thousands of cards in two stacks, I fed hundreds of cards in one stack. The job took me ten minutes to set up and then it executed all on its own.

Suddenly, when I was on the verge of being fired, my work started coming out perfectly. Each night, I would check the coding logs by the programmers to see if any changes were made to their sloppy code, and if they made a change, I'd mirror it in my code. That worked for several years flawlessly. I came in one evening and was met by the boss and two of the programmers. They had reports all over the place and my cards, my altered system cards, sitting on a big table. 

The boss asked me what I had done? Before I could say anything, he told me "This is banking software, do you realize that?" He was not only upset, he was panicked. Someone from another department was there too, cross examining me in Spanish with my boss translating. I admitted everything and told them exactly what I did and why. One of the programmers had forgotten to fill out the log, so I missed a key change. It caused the numbers on some audit reports to be wrong and that started the investigation.

I expected to be fired on the spot and shown the door by the security guard but before the hammer fell, their chief programmer stopped the proceedings and asked (in Spanish), "What is this?", pointing to several lines of code in a couple of programs in a printout of my work. He spoke no English but the language of computers is universal, so I could talk to him plainly. We had a short conversation and he seemed satisfied by my answers.

I was told to wait downstairs in the lobby and they would let me know my fate. I spent a good long time just sitting there, being watched by the heavyset woman who would note the time I walked in the door each day. She reeked of smoke and Cuban coffee, and always had a cigarette smoldering in an ashtray like incense. I dared not look her way as I didn't want her to have the satisfaction of seeing me scared out of my wits.

The day operator escorted me upstairs to the computer room. I asked him if I was still working there and he said nothing. We were friends and I would hang out with him when we would work on Saturdays. Still, nothing. He left me silently at the door. The guy from the other department, the scary one, was gone. The only ones left were my boss and the chief programmer. Then the programmer said one sentence in broken English: "Is Ok." and gave me a thumbs up.

The boss was still weirded out by the fact I had altered their banking software without telling them. He was especially weirded out because the guy from the other department had to deal with the Fed and other banking agencies and what I did was a sin of high order. The programmer had dissected my work and was astounded by what I had done. The previous version, the one I had so much trouble with, was a perfect copy of a manual system that used a card tabulation machine. Since I had no knowledge of how it was done before, I used the computer manuals and wrote a proper system with proven IBM methodology. That was the key, I didn't do some crazy hack. I wrote the new system as it should have been written. The boss said they were thinking in that direction already and one of their programmers was being trained at IBM. I had leapfrogged their effort before they even started.

They ordered another complete set of manuals, in English, so I could continue improving the software. My version was accepted as the new version and I moved up from operator to programmer. No increase in pay, and I still had to run the night jobs, but from then on, I would handle any changes to the software core programs and I had freedom to come and go as long as I put in my hours. The lady up front be damned!

One of the big driving reasons for me to take on this clandestine project, besides getting the boss and day shift off my back, was that I also had time to do my five hour a night college homework. The real benefit of working for this company was that they paid my college costs 100% if I got at least a B average. This job led directly to my next position, working as a programmer for a computer service company. I worked with an excellent data scientist and engineer who taught me how to analyze a problem, come up with a solution, and implement it efficiently. I still remember and use his teachings to this day.


Popular posts from this blog

Debugging a Three Way Switch

Zip Code Boundary Maps

First Day at IO 2019