Sunday, July 24, 2011

Owen Forgot to Run the Loader - Again

Software Engineers give lots of demos of the software they develop.  I’ve been thinking back to some demos I have done over the years and have started crafting some posts for the more memorable of those. Here is the first one of those posts – about my first demo.

IBM Gaithersburg Main Site For the first two years of my career at IBM, I was a Systems Engineer at IBM’s Federal Systems Division in Gaithersburg, MD. This was weird job and I really didn’t have a passion for it, though I was pretty good at it. You would develop system configurations of IBM hardware and software, identify 3rd party products, and identify custom software and integrations that would all be part of proposals for large-scale DOD contracts for which IBM was bidding. You would help prepare these massive proposals in response to RFPs. Sometimes the work involved developing prototypes as part of the contract acquisition process, but that was about the extent of the software engineering we were involved in the during the pre-award phase.

The procurement process was so long and drawn out – these were multi-year timeframes just to get to a contract award. Near the end of the award process, there would sometimes be a multiple day event where the customer would come in to see pieces of the system (hardware, system software, applications) demonstrated.

My first project was for a US Air Force Program called Stock Control and Distribution (SCD) which was a project to modernize the stock handling systems at several USAF air logistics centers – this was all under the Air Force Logistics Command. This was in the 1984-1985 timeframe. IBM was not the prime contractor for SCD, but rather was a subcontractor with a company called Computer Sciences Corporation.

The Program Office for this program was run out of Wright Patterson Air Force Base in Dayton and I remember taking my first business trip there. About a dozen of the IBMers on the team (including me) also spent a couple of weeks developing the proposal at CSC in Moorestown, NJ (outside of Philly). So there were lots of firsts for me with this SCD project.

My first demo professionally was done as part of this project in February, 1985. IBM 3090 Configuration - 1985 The demo was a multi-day deal at the IBM Washington System Center in Gaithersburg. The WSC was this large computing complex where lots of the latest and greatest IBM hardware and software was brought in and pre-field-tested to determine their real-world performance.

As part of our SCD proposal, CSC/IBM were bidding IBM’s latest (at that time) mainframe, the 3090, and I can remember them rolling this huge monster into the raised floor of the WSC. This was one of the first that had been manufactured, right off the line. Take a look back at the 3090 specs and consider that the low-end model sold for $5,000,000. Moore’s Law indeed.

My part of the demo was to highlight the capabilities of some 3rd party graphing software, that CSC/IBM were including in the proposal, from a small company in North Carolina called SAS that was started by a NC State professor. I recall the SAS product I was demoing was SAS/GRAPH and it was pretty basic stuff (pie charts, line charts, etc) running on MVS on big iron.

With such large stakes, there were multiple dress rehearsals in the project plan leading up to the actual demo:

  • The first rehearsal was in front of the project team of CSC and IBM worker bees.
  • The second rehearsal was in front of the CSC and IBM executives.
  • Then there was the actual demo to the customer.

SAS_logo In terms of my portion of the demo, the first rehearsal went off without a hitch. For the second rehearsal, there was a hiccup (due to no fault of my own). In one of the last scenarios of the demo, I was showing some sort of SAS chart using data from a dataset that was supposed to be loaded by a batch program that one of the CSC engineers had developed. The batch program had to be invoked manually as part of the demo flow by the CSC engineer. The CSC engineer was a nice enough guy named Owen. He had been around a long time, working on some other NASA projects for CSC out of Huntsville, AL.

In the second rehearsal with the CSC and IBM executives, Owen had failed to run the batch program and, as a result, when it came time for the portion of my demo that used that data, there was no data to show in my graph. Doh!  This was right near the end of my part of the demo and was more than a little embarrassing.

The big day arrives for the demo with the customer (USAF) and I was more than a little nervous. This was my first job out of college and I really needed it. Additionally, when one is that inexperienced and naive about how the system really works, you always over-magnify the importance of these types of events.

For example, my piece of the overall demo was trivial – I was just highlighting some off-the-shelf capabilities of this 3rd Party Product that was a small piece of the overall solution of a multi-million, multi-year contract. Let’s be real – there was no way that CSC/IBM were going to entrust that large a piece of business to some green kid with seven months of experience. But when you are 22 years old, you don’t really have that sort of context to understand that they are just throwing you a bone to get some experience on something that is pretty inconsequential.

Still, I didn’t get much sleep the night before.

So it gets to my part of that day’s demo and the CSC/IBM Program Managers shepherd the customer to my little set of workstations where its my turn - I get to do my dog-and-pony show. Another part of my naivety is that I was expecting military brass with lots of shiny medals, but when the head IT honchos from the SCD Program Office came in for the demo, they were all civilians – and dressed pretty casually at that.

I start into my spiel and it is going real well. I am not getting many questions (I think they were all worn out by this time of the day), but the SAS software is working fine and this had been rehearsed so much that I was basically on auto-pilot. Toward the end, it came time for me to hit the scenario that failed in the last rehearsal.

Wouldn’t you know it, Owen forgot to run the damn batch program – again. Son-of-a-bitch!

So I was flustered – showing this chart with a legend and title but no freaking data. I must have mumbled something, apologized about the glitch, and turned different shades of red. Then an act of kindness transpired for which I will forever be thankful.Random Acts of Kindness Rule

One of the USAF IT guys saw that I was floundering and said: “Hey Joe, why don’t you back up to that last chart for a second.”. He then launched the softest of softball questions at me about the previous graph that I had demoed. I mean it was a belt-high batting practice fastball and I just nailed it. It was like finally seeing the ball go through the hoop when you are struggling with your outside shot. I now had my mojo back and finished the demo out strong.

We had a scheduled debriefing with the internal IBM/CSC team planned after all the day’s demos had completed. I thought I was going to be in deep-shit for this. I sought out my manager, Richard, to be proactive about the glitch, thinking that, if needed in a worse-case scenario, I would beg to keep my job. (Again, such naiveté).

“Richard, I am really sorry. I don’t know what happened at the end there, but there didn’t appear to be any data in the dataset for that scenario.” - Me

“What are you talking about? I thought it went great. Nice job.” – Boss