How I Got Started in Software Development

I've decided to take Mike Eaton's challenge and answer some questions on how I got started in software development.

How old were you when you started programming?

I was 18.

How did you get started in programming?

When I was looking into possible majors prior to starting college, it came down to two choices: Psychology or Computer Science. I thought psychology was more interesting at the time, but computer science was the more practical choice. (Come on, we all have a relative or friend who graduated with a psychology degree, but ended up working in a restaurant or something.) The first time I saw source code was in the second semester of my freshman year of college. I had no idea what it meant to program a computer up until that point.

What was your first language?


What was the first real program you wrote?

I'm not entirely sure what you mean by "real" program, but....I believe it was a Java console application where the user could type in a number of pennies and the program would print out how many dollars, quarters, dimes, nickels, and pennies it broke down into.

What languages have you used since you started programming?

Java, C, C++, C#, Assembly, SQL, Prolog, Visual Basic, Common Lisp, Tcl, Bash script, MS-DOS script, JavaScript, Ruby

What was your first professional programming gig?

My first professional programming gig was developing extensions for a CAD/CAM software package called Unigraphics NX in C, C++, and C# for a die company.

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

Definitely. I really can't imagine doing anything else for a living. I get to be creative and make things out of thin air on a daily basis. I get to work with incredibly smart people on challenging problems that often require intense intellectual effort. And all from the comfort of an air-conditioned office!

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

Developing software in the real world is almost nothing like developing software in the academic world. For example, you won't have clear, unambiguous requirements like you had in college. Rather than just doing things, you'll spend an enormous amount of effort just trying to figure out what you're supposed to do. In general, your people skills end up being more important than your technical skills.

What's the most fun you've ever had programming?

In my sophomore year of college, I took a class taught by Dr. Scott Grissom, in which we were split up into small teams and collaborated heavily on complex (at the time) programming assignments. Prior to this class, I was really questioning my choice of Computer Science as a major and really wasn't enjoying programming. The more complex programming challenges that I encountered in this class and the great interaction finally made something click in my head. I got way into the assignments, working night after night on my programs, and I ended up acing all the assignments (and ultimately the class). Programming came quite naturally to me and I started to really enjoy the challenge. That class convinced me that I had found my calling.