Here is my developer timeline thus far. For a more formal write up see my Resume.
First Program (LOGO)So sometime during my tenure at Maine-Memorial Elementary School I remember using LOGO to program a greeting for my parents on Back To School night. I was very proud of it, but something went a bit wrong for some reason the then end product was something like the attached image. I must have turned right instead of left at the last turn.
First Application (BASIC)
Upon visiting my friend who had windows 3 installed, there was an interesting new solitaire game called Tri-Peaks. Instantly addicted I wanted to play it on my old Tandy, but alas, the Tandy was still running just DOS. Somewhere along the way I had discovered BASIC so I took it upon myself to program Tri-Peaks solitaire in BASIC. This was the first really big program I attempted and I wish I still had the code somewhere just for laughs. I think somewhere in the process I discovered GOSUB and for the first time broke out of the LINE by LINE programming which ended up being quite useful. The graphics were incredibly basic but it worked, and I could play tripeak to my heart’s content
First Programming Class (Turbo Pascal)
So somewhere in High School I remember having a computer class where we were taught basic programming in TurboPascal. Having perfected (in my mind) my programming skills during the Tri-Peak project I sailed through the exercises rather quickly and had a bunch of extra time during class. One day, after finishing my assignment for fun I decided to write a program that would automatically generate the name song, “Mary Bary Bo Bary, Banana Fana Fo Farry, Me My Mo Mary. Mary!” I remember it being a little tricky to strip off all the consonants until I got a vowel. My friend Chuck was sitting next to me watching my progress and he conveniently had 2 consonants at the beginning of his name. Unfortunately I used his name as a test case right when the teacher was walking by which got me in a bit of hot water – Chuck Chuck Bo Buck …. well you get the idea.
Undergraduate in Mathmatics at Penn
So in September 1993 I packed my bags and headed off to the City of Brotherly Love to attend the University of Pennsylvania. In those days I aspired to be a high school math teacher and so consequently spent most of my time studying Math and various other liberal artsy stuff. I did manage to slip in one Intro to Programming class (CSE 110). That course language was Java so I got my first exposure to Object Oriented programming, which at the time seemed did not seem as exciting as I have now come to appreciate. I loved my time at Penn and did very well (Magna Cum Laude, Phi Beta Kappa and all that). However, since I was only a math teacher for one summer (any more would have killed me!) if I had to do it all over again I would definitely have availed myself of Penn’s Computer and Information Science Department a bit more.
First Real Job (Microsoft Access/ VBA)
So I got my first real job in 1999 working at Penn’s School of Medicine in the Office of Faculty Affairs. My predecessor did a whole bunch of reports using Excel that had to be manually refreshed every month. That was pretty tedious so I began converting all the reports into a Microsoft Access database. After creating a robust data structure I oversaw the data entry of over 1500 faculty records which took many, many student worker hours. Once that was complete I was pretty much able to perform what I was initially hired to do by clicking a button once a month.
First Web Application (PHP/Oracle)
We pretty quickly outgrew the Microsoft Access database and needed a better way to disseminate the information to numerous different parties. At this point I joined the programming group and created my first web application using PHP and Oracle: the Faculty Affairs Database System [FADS]. Although this was my first web application and it was written in PHP 4 way back in 2001, it is actually still running as of 2019! Not a bad run for a first attempt.
First Interactive Online Game – Lord of the Rings Risk
At a certain point in my career I ended up doing a lot more management and institutional reporting and a lot less programming. In order to get my programming fix and also the achieve the trifecta of nerdiness (Lord of the Rings + Board Games + Programming) I made an online version of Risk (Lord of the rings style).