Welcome

You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

My Pathway to Software Development

Posted by Keith Elder | Posted in Programming | Posted on 15-06-2008

Michael Eaton threw the gauntlet at me last week wondering why I hadn’t blogged about how I got into software development.  Here are the series of questions he proposed and the answers.

How old were you when you started programming?

I attempted to program a Timex Sinclair 1000 that I got for Christmas one year.  I can’t even remember how old I was, maybe 9 I guess.  I spent countless hours trying to figure that thing out but it just didn’t sink in.  In 8th grade our Math teacher started teaching some of us Basic.

How did you get started in programming?

In college I was a hardware junkie.  I enjoyed building computers, tearing them apart, upgrading, etc.  The infatuation of building and upgrading computers at first was a hobby.  As time passed I started upgrading friends computers, family, etc.  One day I was in the tech department at the college trying to get something fixed with my school account.  There was a guy named Greg who ran the IT department for the school standing in the office.  I didn’t know him and he didn’t know me but he mentioned something about upgrading a professor’s computer to someone else in the office.  I over heard and jumped in.  I told him he should look at a different part, I had had trouble with the one he was going to use.  We started talking and that was the moment in my life that opened the flood gates into the Information Technology world.  It turns out Greg was hiring and needed help.  Any chance to work and learn I was in.  He interviewed me (which was basically us sitting around talking about IRQs, Ports, modems, video cards, drivers, etc) and I got the job.  The job at the tech department for the college was split.  Helpdesk in the morning, and then hardware upgrades in the evening.  It was the time on the Help Desk where I got introduced into programming.  A lot of the guys on the team had spent a lot of time writing scripts to automate things.  The scripts were shell scripts to repair people’s accounts, etc.  It was the exposure of telling a computer what to do to make life easier that got me hooked. 

Sometime during my junior year of college my infatuation with computers had evolved into a full blown obsession.  I was a music major in college, a trombonist actually.  One day my trombone professor told me I should seriously consider getting a degree in computer science.  Everyone around me knew about my obsession with computers, including my professors.  I weighed my options and considered starting a degree in CompSci but there were too many road blocks from student loans, scheduling (certain classes are only offered at certain times and you need them to graduate), etc.  Thus I decided to opt for a minor and take summer classes.  By the way I never got to finish my minor due to student loan constraints.  But, I had learned enough to know that I was A) good at it B) loved the ever living heck out of it and C) knew I wasn’t going to stay in music very long after I graduated.

I was forced to graduate in the fall of ’96 since I had finished my music degree.  I say forced because student loans wouldn’t lend me any more money due to the number of hours I had accumulated.  So I got a job as a band director.  When I got my first real paycheck as a band director I went to the book store and grabbed up a bunch of books and started combing through them at night after work and on the weekends.  Six months later I got married and the wife and we moved to Ann Arbor, MI to get her educated at the University of Michigan.  Since my teacher’s salary was going to pay me through the summer, I had plenty of time to try to find a job in IT (which is really what I wanted).  That summer I found a job running the IT department of a small start up in Ann Arbor which landed me in a perfect place to spread my wings.

What was your first language?

My very first language was Basic.  It was taught to us in school by our Math teacher who was really into computers back then.  The school didn’t have an official computer curriculum, it was just something we did on the side. 

What was the first real program you wrote?

A really bad Perl shopping cart.

What languages have you used since you started programming?

Basic, Bash, Perl, Pascal, Python, PHP, JavaScript, C, C#  (Note:  I’ve played with countless others, but these are the ones I have written production code for over the years)

What was your first professional programming gig?

I was working for a hardware reseller who wanted to build an online store and presence.  The company is still in business today and the web site is still powered by all the back end processing that was written nearly 10 years ago.  The store cart has since been re-written but still has the a lot of the same characteristics that were originally done.  Check it out:  http://www.affordablecomputers.com/ 

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

Absolutely, and I would have created Yahoo!, Google, and countless other companies. 🙂

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

Being a programmer is a life long learning experiment.  It is not something you go to school for, get out, get a job, and you are prepared for life.  I equate being a programmer to the same type of profession as a lawyer or a doctor.  The law is constantly changing and you certainly don’t want to hire a lawyer that isn’t up on the law.  Nor do you want a doctor operating on you with 30 year old technology.  Whoever succeeds in these professions has to understand they will be learning how to do their job for the rest of their life.

What’s the most fun you’ve ever had … programming?

Programming without deadlines or requirements.  I don’t classify working on a bug someone submits at work as fun.  Fun for me is sitting down and building something from scratch where I become the programmer, project manager, business analyst and architect.  The only limitation I have then is myself.