Tuesday, December 12, 2017

2017/12/12 - You never know what will give you your break

The year was 1981 and I was working at Texaco headquarters in White Plains, NY. Texaco was one of IBM’s best customers, and as a result we had all the latest IBM hardware and software. One new software that IBM introduced was a user reporting language called ADRS2.

Texaco also had its own IT department, with strict procedures and ADRS2 became a nightmare for the IT professionals. Now users with little or no coding experience could produce databases and computer reports for their department. Now departments had their own programmers, and no longer had to deal with the IT department and its endless analysis meetings and timely procedures.

I was one of the users developing applications in ADRS2 for my department. I taught myseft the basics of ADRS2 over a weekend, and the next Monday morning I was showing my first "Hello World” program in ADRS2 to my boss. It was simply a progtam the spelled out “Hello World” on the B&W computer monitor’s screen. At the time, it was like a miracle, and my boss was very impressed that I picked up this new language so quick.

But I was limited with the functions that ADRS2 provided, so I learned the language that ADRS2 was written in (APL), and now it seemed like I could do anything. And the APL code within the ADRS2 functions was open, so you could make a copy, tweak it, and save the modified function under a different name.

APL was a very weird sientific language that used all the Greek symbols as primitive functions. For example, the Greek symbol Iota “i’ creates a vector of integers from 1 to R. So if R = 6, then iR = (1 2 3 4 5 6).

The problem with APL was that once you “got it” nobody else could easily read your code, because there were so many ways to do the same thing, and users created their own unique functions by combining elements of the primitive functions. So reading someone else’s code was difficult and maintenance was nearly impossible. Programmers would rather rewrite a function, than try and modify another programmer’s code.

About this time IBM introduced the color monitor. This was cutting edge and my department ordered two off them, one for me, and the other for Michael Scaff. Now Michael had is ALL over me. He was a better programmer and he knew the business. All I had going was ambition and creativity.

Also about this time, one of my coworkers got promoted to another department and I inherited one of her responsibilities, managing the department’s hardware. She had done a very poor job of this and was extremely happy to relieve herself of this responsibility. With a smile on her face, she plopped a 2-foot mess of papers and files on my credenza, and said “Good luck”.

So there I was with a new IBM color monitor, APL/ADRS2 skills, and a new responsibility. A perfect storm for the creative mind.

I proceeded to create a relational database with tables for all the different types of equipment, each table storing all the elements of information relevant to the type of equipment.

Then I made a screen representing the floor plan of the department, showing each office with icons representing the different equipment in each office.

A mouse click on any icon pulled up a screen with all the relevant information about the office and equipment.

I created a GUI interface that knocked the socks off my boss. He was blown away. He was most impressed the I had no direction on this project and it was totally self-motivated.

A few months later my new girlfriend broke up with me and I asked for a transfer to Texaco’s Denver office. The Denver office called my boss, before flying me out to Denver for an interview. My boss sent them a copy of my hardware application, saying “I didn’t even know he was working on this! He’s a self-starter!”.

That was enough to get me the job interview in Texaco's Denver office.

The rest is history.

No comments: