How old were you when you started programming?
I originally started learning BASIC when I was very young, probably 11 or so. I gave up on programming for more worldly pursuits, only to come back to it 10 years later.
How did you get started in programming?
The second time around I wanted to create a ‘blog’, although at the time I don’t think we called them blogs. I think we called them e/n sites (everything/nothing). So I taught myself HTML.
What was your first language?
HTML, CSS, and Perl. It was a triple whammy.
What was the first real program you wrote?
The first real business program I wrote was a socket server written in PERL that accepted a rudimentary home grown protocol. It was used to remotely monitor the health of 8 different servers. What can I say, I started out as an HP-UX sysadmin.
What languages have you used since you started programming?
What was your first professional programming gig?
I worked at Qwest Communications writing unimpressive PERL scripts to automate keeping an Actuate Reporting Server running without too many memory leaks. I graduated to doing the same thing for Local Number Portability software. If you don’t know what LNP is, just think of it this way: it’s the reason your calls go through and the reason you can change carriers and keep the same number.
If you knew then what you know now, would you have started programming?
I might have kept with it when I was younger. Although, frankly, I think a good part of my approach and expertise come from my lack of formal training and my background in the Humanities. Getting a four year degree in CS would have probably proved impossible for me. However, that BA in English has taught me a great deal about the importance of communication, documentation, and solid presentational skills.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Communication is key. This stretches across every aspect of what we do on a daily basis. If you can’t communicate your ideas clearly and succinctly, the boss is never going to push for your pet project. If you can’t describe a problem well to non-technical people, they will never understand the importance of the issue. If you can’t share your failures and successes with fellow developers, someone will end up repeating your mistakes. Communicating is how we all learn. If people didn’t feel the urge to share their knowledge and write books, we would still be building Altair clones in our basements from Radio Shack kits.
What’s the most fun you’ve ever had … programming?
Frankly, every day is fun. I get to share knowledge with some exceptionally talented developers and I’m always learning from them. The best times are when I get to work with a dynamic team of people and build on each others ideas to make the best software we can.