Tuesday, July 29, 2008

The Programming Meme

My buddy Vittorio tagged me for this meme that has been making the rounds.  It is interesting to see what some people have answered.  Mine probably is pretty tame in comparison I am sure.

How old were you when you started programming?

My first computer was the Commodore 64 in the early 80's.  I think it was around 1982 or early 83, so that would have made me around 7.  My first exposure to programming was typing programs out of magazines and books.  I remember computing the checksum as a way of catching errors.  We initially had a tape drive for storage and eventually had the 5.25 disk drive to save files.  I learned quickly the BASIC language and programmed trivial things there.

It would be a few years later when we got a 286 10mhz (it was a JET!) computer with 640K RAM and some obscenely small harddrive size that I forget now (maybe 20MB?).  It had a Hercules graphics card that drove the monochrome monitor (amber no less).  I became very proficient with word processing and using DOS at that time.  I tried using QBASIC I think around that time.

How did you get started in programming?

I was only interested in computers as a hobby until I started working after college.  My degree was for operations management and statistics.  I happened to be working when the internet boom started (and busted).  Since operations management was often about manufacturing and manufacturing jobs were often located in small towns, I watched my colleagues with envy as they got better projects in better locations just by learning Java.  I will never forget Shelbyville, TN or Shenandoah, IA - if they weren't such horrible places to work I would probably never have jumped at an opportunity to learn ASP and get out of manufacturing consulting.  It was simple to learn ASP and by extension VBScript and I never looked back again.

What was your first real language?

I didn't program again after my brief stint with BASIC until college.  I had my intro computer science course taught in Turbo Pascal.  It wasn't terribly hard and I enjoyed learning the algorithms.  I knew BASIC from the C64 and TRS-80 days, but I would say that I learned Turbo Pascal probably better than that and it was my first real language.  Of course, I don't remember it at all now, but I was good in the day.

What was the first 'real' program you wrote?

I had to write a final project for my CS course in college.  I ended up writing a poker program that emulated the kind of poker you would play on a slot machine.  It actually worked pretty well and I wish I still had it. 

What languages have you used since you started programming?

BASIC, Turbo Pascal, VBScript, Javascript, VBA (for Access), VB6, TSQL and now mostly C# these days.  I don't know if XSLT, XPath, DHTML, etc. count or not.

What was your first professional programming gig?

I think my first program I got paid for was writing some VBA code for a Lotus Notes application (what a gawdawful programming model, btw) at a client.  Before I finished it, I was sent to a small startup called Point.com (now defunct) and wrote a whole ton of Javascript and XML code.  This was using the XmlHttpRequest object well before people called that 'AJAX'.  Unfortunately, the bust came around that time and that code never saw the light of day...

If you knew what you knew now, would have have started programming?

Hard to say.  Part of me wishes that I would have gotten a masters in CS or taken a number of other programming courses in college.  Part of me however wishes I would have just gone to medical school and kept this as a hobby.  It just depends on the day of the week and what I am working on.

If there was one thing you learned along the way that you would tell new developers, what would it be?

Find a better developer, read their code, understand their code, and then emulate them.  This is also called "saddle yourself to a better developer and learn".  I became a better developer when I watched my friend help me with an Access database that I was attempting (badly) to write for a internship one summer.  He was (and probably still is) a much better developer.  I learned a ton just by seeing how he was doing things.  Later, I would see code from senior developers and I would study their style to learn what they were doing.  I always tried to emulate what I saw and make it a part of my style.  If I had never read anyone else's code or never tried to incorporate it, I would still be a second rate programmer (I might still be... who knows).

What's the most fun you have ever had... programming?

I actually enjoyed learning Javascript and XML back in the day.  I remember being excited about optimizing the rendering speed in IE 5 for a particularly large XML payload.  I was learning a lot, and becoming a better developer.  I didn't mind working crazy hours and I read constantly on how to be better at ASP, Javascript, and XML.  The projects I hated were the ones where you produced code, but never got to see it get implemented and never saw anyone use it.

Now... on to two other suckers:  Nino and James - you've been 'tagged'.