How did you get started in programming? 1
Update: Sorry this turned out to be a pretty long one. Apologies in advance.
So there is an interesting meme going around the blogsphere, and I’ve been officially called out by Josh Holmes so I thought I would go ahead and jump in. There are some other fun entries by Josh, and Jeff Blankenburg. I believe the meme officially started with Michael Eaton and Sarah Dutkiewicz.
How old were you when you started programming?
Answered more in depth below, but I was in elementary school (can’t remeber exactly).
How did you get started in programming?
Apple II
Well it’s interesting I actually started three times. The first time was in elementary school when my mom brought home our first computer, the Apple II+. It was quickly upgraded to the IIE model. She had found a job at a place called Computerland selling computers. The industry was just starting and she was learning as fast as she could to keep up. She made friends with a bunch of local hackers who kept bringing her disks of new material they either created or downloaded. She would in turn bring them home and give them to me to figure out. We never knew if I was going to have a spreadsheet or a computer game.
I eventually learned how to start the basic interpreter. And by starting I mean I learned that if you ejected the system disk during startup it would go nuts and jump out to the interpreter. I then learned all the fun basic stuff like killing our computer with an infinite loop, jumping over code that never executed, etc.. Unfortunately we ended up moving overseas and my resources for learning were limited and I gave up.
HTML
Before getting kicked out of college (and after figuring out that my major was going to send me to remote places of the world I had no desire to be) I became friends with a guy who taught me the ins and outs of web programming. Netscape had just come out about year or two before that so everyone I knew was trying to figure out this HTML thing. I got a job with a small company in Cincinnati that payed me to make them an ecommerce site (that unfortunately is still largely in tact and floating around out there). I realized that I suck at visual design and display and became very frustrated. I was also doing office management for him and discovered I was really good at sales and loved talking to people. So I ended up giving up on that ‘computer stuff’. Well timed I might say, this was right before the .com boom when everyone else started making money.
Finding my way back
Eventually after a career in sales and sales management, I decided I needed to get back to school to finish what I started. Finances dictated I go to a community college to finish off all those pesky intro courses I managed to skip during my first attempt. The only degree that interested me was computer programming, but it was purely meant to be something I did until I could get into a larger university.
I fell in love. I was fascinated by what we were doing. Even though they still found it necessary to teach us Assembler (2 quarters) and COBOL (3 quarters including Web COBOL) I was loving what I was doing. I played around with C++ and Java during my time there as well. Exposure to all the different language, and some less-than-adequate teachers, gave me a great foundation for learning new languages on my own. That was probably the best lesson of all they could have taught me.
I found an internship with a company that was doing FoxPro 2.6. It was an interesting language, but I’ll be damned if you will find it on my resume.
What was your first language?
Answered above, but BASIC was the first language I ever used. My first real language to be paid for (not counting the HTML and cgi stuff I did early on) was FoxPro.
What was the first real program you wrote?
A bowling game in BASIC. It was based on one I had seen in a magazine (was it Apple World?). I used .’s to represent pins and it was pretty simple. I was realy proud of that one.
What languages have you used since you started programming?
Oh man when you ask it as ‘used’ it opens up the door so much. I love playing with new languages, and just like a good friend of mine have become addicted to learning and trying new languages. So I’ll limit this list to anything I’ve written an original program in (e.g., something I did not just follow along in a book).
- BASIC
- Assembler (IBM VAX, can’t remember the version)
- COBOL
- C++
- C#
- Visual Basic
- Perl
- Java (and all the J2EE/JEE stack) – spent most of my career here
- Python
- Ruby – my love
- Erlang
I’m sure I’m forgetting some.
What was your first professional programming gig?
Answered above, but it was my job as office manager / web developer for a small company in Cincinnati.
If you knew then what you know now, would you have started programming?
I would have started MUCH earlier. This has nothing to do with finances. I find what we do fascinating for a few reasons:
- We get to build something from nothing
- We help people make their lives and jobs easier and more enjoyable
- We are constantly learning and adapting (I’m never bored)
- We get to see the insides of lots of different businesses and domains
The last point, more than any, is why I’m still developing and why I especially love consulting. I’m fascinated by business and how companies work on the inside. We get paid to figure out how that is done. We get paid to turn dreams into business realities.
If there is one thing you learned along the way that you would tell new developers, what would it be?
First off, it’s been said in all the other entries but I’ll say it again. Focus on your soft skills. If you can communicate your life will be much easier. Read books like Chad Fowler’s 52 Ways to Save Your Job because he does a much more eloquent job of describing what I’m talking about. Learn how to deal with people.
Second, find a mentor. I’ve been extremely lucky to have had Neal Ford as a mentor since I began my technical career. You benefit from having someone who can point you in the right direction and tell you the things you should learn. I have since also been able to meet many others such as Jim Weirich who have helped me in so many more ways. At times it feels like cheating becuse you benefit from their hard-earned knowledge. In reality you can’t do everything on your own. Listen to them, trust them and most of all appreciate them (ironically I blew off both of them when they first told me about Ruby).
What’s the most fun you’ve ever had … programming?
This is so hard because there are so many times I have enjoyed. Forced to choose I would have to say there are two events. The first one was at OnStar. I worked with one of the most amazing technical teams I have ever met. It didn’t matter who I was paired with, watching that system evolve, and watching each member of the team contribute was just a great experience. It was a cool SOA implementation and I will never forget the people I was working with.
My second would be a recent project I worked on where I got to pair with Jim. We paired remotely while implementing what I’ve come to see as a really awesome display of what Ruby can do. We had our share of roadblocks and crappy management decisions to deal with, but in the end, Jim and I discovered just how much we think alike. Jim understands object modeling on such a deep level that you can’t help but enjoy working with him.
Ironic that the reason both of those events are among my favorite is because of the people, not the technology.
Who am I calling out?
Your mission, if you choose to accept it, is to answer the questions above. I’m cheating a little because I know most of their stories, and they aren’t all your typical entrances into CS.



Thanks for taking Mike’s survey :) Always great to see others’ stories!