Where to begin? I became fascinated by computing in high school, where my Physics classroom had a Monroe 1665 Programmable Calculator that I learned to program. The punch cards were very expensive (maybe 25¢ each?) and we corrected errors in the cards by taping the chad back into holes so that we could reuse the cards. The calculator’s memory could hold the instructions from three whole cards – about 100 instructions!
It wasn’t until my junior year in college that I changed my major from electrical engineering to computer science. Up to that point I had loved every programming class I took – while I struggled with engineering. In college I learned BASIC, ALGOL, LISP, APL, SNOBOL, Forth, Fortran, and Pascal... as well as several flavors of machine language and assembly language. I loved all languages. My only regret in college was that because I’d changed majors so late, I didn’t have time to take the three term compiler writing class. I really wanted to write a compiler. I did design some of my own programming languages, though – just for fun.
Just before I graduated from college, I got a full-time job in the computer room at the university – reading punch card decks into the card reader... and breaking down output pages from the line printer. I learned how to be a computer operator on the mainframes and a year later was offered two jobs at the computer center – computer operator and programmer. The programming job had a much better career path – and it paid more, too.
I’ve had a long career spanning stints as programmer, senior programmer, systems analyst, senior systems analyst, enterprise architect, and business systems analyst. I’ve programmed professionally in a half-dozen languages including Fortran, COBOL, SAP ABAP, Perl... plus several flavors of SQL. I’ve loaded bootstrap programs into computers via their front-panel switches, then loaded the rest of the operating system from paper tape. I’ve used teletypes, card punch machines, plotters, magnetic tape drives (like in the movies), green-screen 24x80 terminals. I’ve used tools to peer into the bits and pointers of an application – and make adjustments at the micro level. My more recent flirtations have been Java and Ruby, but my career led me away from application programming, so I’ve not done anything serious with those languages.
I’ve written programs for DEC PDP-8s, PDP-11s, Control Data mainframes, HP-3000 minicomputers, IBM PCs, Solaris/Linux/Unix boxes, IMSAI 8080s, Apple IIs, and Apple Macintoshes. Someday I’d like to take a crack at iPads/iPhones.
I’ve written support quote applications, inventory management systems, time tracking systems, data warehouse extracts, order management system interfaces... and a bunch of other stuff that I’ve long since forgotten. I’ve designed databases, reports and reporting systems, websites and dashboards, and more.
I really like programming. And I think my skills as a business systems analyst, data architect, graphics and UI designer, and programmer have allowed me to create strong applications appreciated by their users. Maybe iOS application development will be my second career. I’m giving it some thought, anyway.