Well apparently Derik is trying to bring me out of my blogging hiatus by tagging me with the meme of the week. My story is pretty boring, but I’ll play along in an effort to bring me out of my recent break from the blogosphere.
How old were you when you started programming?
I suppose I was 14 (9th grade) when I first started dabbling on an Apple IIe with all the joys of line numbers and “gotos”. I enjoyed it but I definitely wasn’t as smart as the kid who created a program to generate one of those “magic eye” pictures that were all the rage at the time. Besides, I was a band geek for most of my high school days (drums).
What was your first language?
I guess technically Apple Basic and QBasic were my first languages where I would mess with my Mom by writing stupid little QBasic programs to simulate her computer exploding. Ahh, those were the days. But I would probably say that my Pascal class in 11th grade was where I really started to learn how to create stuff and solve problems by typing “codes” into some crazy thing called a “computer”.
What was the first real program you wrote?
Probably the first “real” program I ever wrote was a Pick 3 lottery program in my Pascal class followed later by a standard 5 card draw poker game, with stunning graphics! Looking back, I’m not sure if those were assigned projects or if I came up with those on my own, but regardless, either the school was encouraging the students to write gambling software or I had some weird attraction to writing software that could possibly ruin people’s lives. Both equally disturbing… LOL.
If you knew then what you know now, would you have started programming?
Oh yeah. I actually started my “professional” career on the hardware/networking side of things but ultimately I always knew I was a codemonkey at heart and eventually moved in that direction professionally. Besides, the money is a heck of a lot better too.
If there is one thing you learned along the way that you would tell new developers, what would it be?
So, what’s my size limit for this answer?
Well of course I’d say to have fun and be passionate and all that jazz. To me, that’s just a given. But also to focus on the fundamentals. Learn *why* it’s important to make testability and maintainability a first-level concern when building software. Get started in the community early because you’ll make some great friends and learn a ton along the way. I could say a ton more, but I don’t think the internet could hold them all.
What’s the most fun you’ve ever had … programming?
Not sure I can pinpoint a single time, but the times I’ve been able to do some greenfield projects and make testability a first-class citizen in the design, I’ve been very happy with the results. Also the journey towards “beautiful code” is something that I enjoy very much. Getting creative and coming up with new and useful ways of wiring something together or even just naming a method well is enough to make me happy.
Recently, I’d say that my brief stint in the Rails world (not professionally) was the most fun I’ve had coding in quite a while. Perhaps that’s why I’m getting the Ruby itch again.
The poor saps that I’m tagging?