Thursday, January 14, 2010

Full Circle

My life as a professional programmer has officially come full circle.

The first contract programming job I ever did was when I was 12… some 24 years ago (ugh… was it really that long ago?). It was a project for a law firm in Omaha, NE (where my family was living at the time) that downloaded data from a piece of equipment that logged all phone calls in and out of their office to a computer, and present that information in a usable and meaningful way. The firm had approached my dad about writing this software for them and he decided to pass the software portion of it on to me, while he took care of connecting the hardware. It wasn’t a big project; we didn’t work on it long, and it didn’t pay a lot, but it was significant in that it was the first time that I was being paid for doing some programming.

Today I’m part owner of a company that creates, sells, and supports restaurant management software. We currently have 7 people working at the company, 3 of which are dedicated to taking telephone support calls. I am responsible for putting together the software that they use for supporting customers, and within the last couple of days one of the features I added was the ability to log data about incoming and outgoing phone calls. A box in the office records the caller ID information coming in, sends it out to the network where my software receives it and logs it in a database along with the duration of the call as well as which employee took the call.

This new feature of the software is very similar to the first project I worked on professionally. They both record phone call information into a database.

Many other aspects of my current employment mirror programming experiences I had when I was younger as well. Knowing what to do with phone call data was a natural fit, because I had done it before.

The money that my dad and I were paid for that project went toward purchasing a printer for the computer we had at home. That printer was an Epson dot matrix printer (those really loud, slow ones). Today we are using Epson dot matrix printers for printing customer receipts as part of the cash register portion of our software. Many of the commands to control the receipt printers today are the same as the commands I learned to control that first printer we got nearly a quarter century ago. Learning to talk to the printers today was easy because I learned how to do it 25 years ago.

With the Point-of-Sale system we also talk to various pieces of equipment using serial ports on the register computers. In 1987 I wrote a telecommunication program whose primary focus was talking to other computers over serial ports. In 1989 I worked on a project where a computer would record data coming off of an induction pipe bending machine over a serial port. The project for the law firm also used the computer’s serial port.

There are other ways that I have seen things cycle back on themselves with our current project. It’s kind of weird to see things happen like that, especially considering the rapid pace of technological development. But at the same time the things I was doing 25 years ago (or more) were in a lot of ways preparing me in a unique way for the things I am doing today.

Now if only I can find a good multimedia programming project to work on so I can relive the stuff I made in the early 1990s.

No comments:

Google Search