Sunday, April 29, 2007

I learned to program with IBM Programmed Instruction courses.

I began programming 40 years ago. I was given the job to write software with absolutely no prior experience. (Yeah, I know. I was handed a career on a silver platter. It was a golden era for me.) I didn’t even know what programming was but I began working on a FORTRAN II program within a few days after I started a training course. My first application was a maintenance job. I don’t remember exactly what it was about but it was short. It couldn’t have been more than a 100 lines long.

How did I start so quickly? I was given a set of maybe 7 booklets from IBM that taught FORTRAN programming. They used the technique of “programmed instruction”. It assumed no prior knowledge of FORTRAN or programming. The total number of pages in the course was probably less than 300 pages.

The mechanics of programmed instruction is very simple. A numbered paragraph states a fact. A multiple choice question follows. An answer book tells you what to do depending on your selected answer. Actually it would tell you to continue if you answered correctly; otherwise it would tell you to start over at a lower numbered paragraph to reinforce your memory or understanding. I found it to be very easy, but I’m sure that’s because people developing the content were very skilled.

However, it didn’t prepare me for everything. After informing my boss that I was done with the course, she gave me my first job. It was to do something to a small program she had written. I carefully made the changes. I went through the code over and over. I fully expected my changes to be perfect. Now up to that point, I never saw the computer. Nowadays I never write more than a few lines before I compile and run. Well, I was devastated when I ran the program through the IBM 1620 computer the first time. The compiler produced hundreds of errors. I learned an important new term that day. The programmed instruction course hadn’t mentioned, “Syntax error”.

Over the next few days I got my first taste of the pain in computer programming. At the same time, it was thrilling. I became so excited about programming; I went through the COBOL and Assembly Language programmed courses in the next 6 months. It wasn’t an academic exercise. I used all 3 languages in my new job.

Friday, April 27, 2007

An aptitude test started my programming career

Starting this blog

Several months ago, members of the Houston Adobe User’s Group, HoustonAUG, were asked to present some of their work to the group. As an incentive, presenters were given the chance to win a copy of Adobe Studio 8. Past meetings had been held at the Art Institute of Houston in a vacant classroom but this meeting was in a live classroom with students who were about to enter the job market.

Like most grandfatherly speakers with a young audience I began using historical references pulled from my 40 year career. However, the students steered me away from my unprepared presentation. We ended up talking about what it was going to be like to be a programmer. For me, it was a very enjoyable evening. I think they enjoyed hearing about some of my experiences.

That experience awakened something in me. I found I really enjoyed sharing some things with the students. I know I can’t become an instructor. I understand you have to have advanced degrees to teach there. I hoping that I can use blogging to vent my new found interest.

Recently I read “Dreaming in Code” by Scott Rosenberg. The author, a reporter, was allowed to follow a software project from the onset. I thought the book was unique and very good but I was relieved to finish it. It brought back many of my purposefully hidden memories about past projects. It seems my most fulfilling projects were also the most stressful. I guess the fun of starting and the relief from finishing projects gets us through the middle. I have no choice anyway. I am compelled to write programs. I can’t imagine what I would have been if I had been born a generation earlier.

I’m not starting this blog with any expectations that someone will actually read it. Maybe if my grandkids stumble across it one day they might be interested to find out about the other life of their grandfather.

My Beginning

I had been working as a laboratory technician at the PPG Industries Chemical Division Technical Center in Corpus Christi, TX. It was a pretty good job for a college dropout. It was great place to work and I was very lucky to get the job but it didn’t really seem to be a career for me. In 1966, management announced they were going to offer a computer programming job to one of the non senior level technicians. They gave us an aptitude test and I “won”. I didn’t even know what computer programming was.

Aptitude tests seemed to disappear after that. I believe they became politically incorrect at some point. From my own experience I think companies should bring them back; especially when recruiting entry level programmers. I did a quick little web search on “aptitude tests”. It seems the meaning has become somewhat convoluted. For example, I saw references to aptitude tests for different programming languages. Those tests are an attempt to measure someone’s skill in a programming language. I believe those kinds of tests are not very effective at finding a successful employee. The test I took assumed no knowledge of programming.