A meme that has been circulating lately online with .NET developers that I've enjoyed reading asks how you got started in software development (started by Michael Eaton
). I just got through reading posts on this meme from Phil Haack
and Joel Ross
, so I decided to post my own story.
How Old Were You When You Started Programming?
Let's see, I was probably 10 or so when I first got turned on to the whole idea of "code" that made things work on a computer. My dad brought home an Atari 800. This was a different machine than the typical Atari console. This was one with a keyboard of all things. It didn't even come with a joystick. It had a whopping 1.79 MHz Rockwell processor with 48K RAM. Really, who could handle such power? It had a 5.25 floppy drive, which I never used as much because it was too limited in size. Instead, it also had a cassette deck that I would use to load up cassette tapes with games written in BASIC that I would exchange with some friends of mine who also had Atari 800 computers. The thing about the 800 is that it didn't necessarily have a Microsoft flavor of BASIC and instead had an Atari home-grown version of BASIC. Anyway, I had to learn how to run these games that I had on my cassettes that were basically all Atari BASIC source code. I ended up figuring out I could open those files and spent many afternoons reading through them and making tweaks to make the games more interesting. I'd then load it up on a cassette and deliver the modified games to my friends. What fun.
How Did You Get Started In Programming?
Well, I was always fascinated with computers and loved the days of tweaking Atari BASIC games, but the need to attract the opposite sex took over and I picked up the guitar. Let's face it, Nerds back in those days were....just Nerds. Not like the way things are today. The fact that I could read BASIC code did nothing to impress girls. Playing the guitar on the other hand, that was the ticket. So, I focused on my artistic side and grew out my hair. I didn't do too much on computers until I was a Sophomore in High School and took a introduction to programming class. It was really supposed to be a basic "computers" class, but the teacher was a real nerd and turned it into something that would allow those who wanted to geek out to focus on programming. Keep in mind, this was only about 1984, so programming classes were not that common. I hadn't really done anything like that since my days on the Atari 800, and I remembered how much I loved it. I spent a lot of time with that teacher and learned a lot of how to write basic constucts, all still in variations of BASIC. Still, my artistic side was more interesting to the girls, so I kept that as my focus. I started college as a Graphics/Art major. Eventually, that changed to Computer Science and I've never been happier (by this time, computer geeks were no longer the dorks with tape on their glasses). While in college I got a job with CellularOne. It wasn't a "real programming" job, but the company didn't really have anyone in IT who knew how to program. Most of my department's processes we're crazy long and redundant. I ended up spending most of my time on that job writing scripts that ran through AIX sessions to improve the business process and automate tasks. That started to consume too much of my time as other departments would start asking me to write scripts for them as well. In the end, I got fired for it. Instead of doing what I was hired to do I was spending all my time on the job writing scripts for many departments in the company, even for IT. Needless to say, getting fired for that was just the confidence boost I needed to go find a job where writing code was
my job function. These answers are getting long, I might never finish this. I better pick up the pace.
What Was Your First Language?
Atari BASIC, if you can count that. From there I learned other flavors of BASIC - Color BASIC, Commodore BASIC, GW-BASIC, QBasic, QuickBasic and finally Visual Basic. My time with Visual Basic was great because I was finally able to develop complete, self-contained and deliverable programs. However, it was short lived as I got turned on to Pascal. Borland's Delphi started to gain traction and I jumped the Visual Basic boat for Delphi. I loved Delphi. I was a big fan, I thought it was the greatest thing ever. Still, I was a minority with it. In order to keep working with other developers I had to keep my VB chops up to speed. When I switched to a Computer Science major in College I started using C++ (and some Lisp, Ada, and Assembly as well). That is what taught me to appreciate formal style and structure. After .NET made it's 2000 debut at PDC I quickly moved to C# and have LOVED it ever since (I actually own the domain CSharpIsLove.com
What Was The First Real Program You Wrote?
I'm not sure I can even remember that. Should I make one up? :-)
What Languages Have You Used Since You Started Programming?
Oops. I already answered that one (see "what was your first language" above).
What Was Your First Programming Gig?
Well, I still consider my first real programming gig as the job I got fired for writing code. My first real programming gig that I actually got paid to write code was the one after that. My dad's company had a CRM system and he would complain to me that the consultant that they were using always seemed to be running behind. So, I called him up and mentioned that his customers are telling me that he needs help. He and I teamed up and I've been programming in the CRM industry (CRM = Customer Relationship Management, although it was considered SFA, or Sales Force Automation back in those days) ever since.
If You Knew Then What You Know Now, Would You Have Started Programming?
Absolutely. Although I probably would have started doing it professionally much sooner. It was easy and fun to do it as a hobby. I loved doing it, however, the idea of making the move to doing it professionally was a little intimidating at first. I held off way too long looking for real "paid" programming jobs too long because I thought I wouldn't know enough. Turned out, I knew way more than most when I finally did get a real programming job.
If There is One Thing You Learned Along the Way That You Would Tell New Developers, What Would It Be?
I'd have to agree with what Joel said
, get involved in the community. There is so much great info out there, so many great minds to learn from. Don't let the fact that you might not be as experienced as others out there stop you from getting involved (blogging, participating in forums, etc). The developer communities online is about the greatest thing that will help you grow as a programmer as long as you have the passion to be involved and learn from others. Sticking your neck out to help others is an excellent way to learn for yourself as well.
What's the Most Fun You've Ever Had ... Programming?
It's all been fun. I do actually love the late nights writing code. Going to bed and I just can't stop writing code in my head so I have to get back up and type it out. I do have to say that the first time I knew a program I designed and developed myself was in production, and actually solved real business needs, was a pretty cool feeling.
Good memories. So long and thanks for all the fish. If you still wanted to read more about me (but really, isn't this enough already?), you could see my about page