How I Got Started in Software Development

An interesting thread is going around asking how you got started in Software Development.  It seems fun and since Mads tagged me, I thought I’d fess up as well.

How old were you when you started programming?

I guess I started programming when I was about 12 or 13 on my Commodore 64.  It was nothing too wild.  My big project was something I did for the science fair at school.  I had played around with Apple graphics stuff prior to my Commodore, but never got much beyond some simple graphics stuff (and Ultima II) with them.

How did you get started in programming?

I was always interested in computers growing up and after much begging, my parent’s got me a Commodore 64 for Christmas one year.  I played tons of games on that thing, but I did begin to get interested in making them do more.  When I had the chance to actually learn some programming in High School, I knew I’d like it.  So the Commodore 64 sparked the interest, and 2 high school classes got me started doing much more than the very basics.

What was your first language?

My first language was Basic.

What was the first real program you wrote?

Real?  I guess that science fair project was real as I didn’t fail science.  It had something to do with the periodic table, but I can’t really remember. 

What languages have you used since?

Pascal, Fortran, Lisp, Cobol, C, C++, Assembly, FoxPro, FilePro, Visual Basic, ASP, C#, ASP.NET, JavaScript and probably a few others I’ve missed.

What was your first professional programming gig?

My first programming job was with a real estate appraisal firm.  I got a lot of experience there doing everything from setting up Unix servers, to managing GIS projects, to programming.  It was a very interesting job and I stayed there for almost 5 years.

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

Probably.  I still find software development challenge and rewarding. 

However, I was highly skilled in kicking a soccer ball as a freshman in high school.  I was terrible at soccer, but I could shoot hard and place the ball well.  If I knew that kicking field goals might make for a nice living, I might have worked in that direction a bit.  With a bit of luck (ok, ok, a ton of luck), I’d be about to head off to training camp for my 15th NFL season with the San Diego Chargers.  If that had not worked out, I’d probably fall back on Software Development.

What is the one thing you would tell new developers?

Read other peoples code and let them read yours.

Reading code is an obvious statement as everyone has searched for a code sample of something or other.  However, reading beyond a short snippit to see a larger picture and to learn new ways to do things, not just specific functions.  There is just something about a reading through a well thought out project to see how the developers made it work.

Also, don’t be afraid to show others your code.  Ideally, you can check out ego at the door while you show your code to the other developers.  While you might not like the feedback you get all the time, you will often learn new ways of looking at something as well as better ways to do things.

Its all about continual improvement!

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

Probably building my first web site.  I made a web store, GameSurplus.com back in 2000.  It may have been the ugliest web store to ever exist, but I had fun building it and running it.  (The new owners gave it a face lift.) 

I didn’t really planned on actually building a full web store.  At first, I just bought a bunch of games to sell on eBay.  Then I thought I’d make a static one page site, listing what games I had for sale so people could buy them direct and I could avoid the eBay fees.  It just keep growing and growing and I never really planned it all out.  Next, I added a database to update the games and stock.  Shortly afterward, a shopping cart and PayPal checkout were added.  It went on and on.  (Credit cards, Shipping calculators, tracking numbers, pre-orders, internal inventory reports, etc.)

It was fun as I never knew what it was going to need next and often my wife would work with me helping me to see the best way for the site or admin features to work.  My favorite feature was setting it up to automatically print out all the orders as they came in.  It was always fun to come home for the day and see a nice stack of orders on the printer.

Outgoing?

I guess I get to tag some others, so a few of the people who I’d be interested in hearing from would be Ruslan Tur, Steve Eichert, and Steve Harman.