Shawn Wildermuth passed the torch to me (among others) in a new version of an old blog-theme. Oh well, these are always fun . It's more or less an interview-like way of pulling trivia out of people, so here we go!
How old were you when you first started programming?
I was 16, my younger brother and I bought a Toshiba MSX-1 (Z80 power!) back in 1986 after working for a couple of years as newspaperboys. From day one I started writing code, as that was the main reason for me to get the computer in the first place: to be able to write a little program which did things for you, it was like magic!
How did you get started in programming?
On my highschool, a math-teacher had installed large PC-like systems with 16KB ram and some basic interpreters. Once a week we were allowed to touch the keyboards, under his supervision of course. The first time I wrote a little program (by simply repeating what he told us), I was sold: writing code was the best thing since sliced bread for me. Everything I did after that was to become someone who would write software.
What was your first language?
MSX basic, though quickly after that I bought a book about Z80 assembler and started writing assembler on the MSX-1, and later on the MSX-2. Z80 assembler is very clean and because you don't have much room on the chip (just a few registers), you have to find all kinds of solutions to tiny problems which pop up in your way, which of course is great when you're beginning with writing software.
What was the first real program you wrote?
It might sound geeky, but the first program I wrote was in MSX basic and it solved the Quadratic Equation for a given a, b and c. Pretty simple (ok, back then it was a challenge!)
What languages have you used since you started programming?
What was your first professional programming gig?
At Triple-P, working on RoadRunner, which was a software product for transportation companies. The product was written in some 4GL system, on top of uniVerse, a post-relational database system (which still exists). I was a fresh B.Sc. graduate in computer science and tried to convince everyone over there to change their horrible ways of how they wrote software but of course all they did was laugh at me and did their own thing . I learned a lot about how a real-world software project works, when most of the people on the project have learned how to write software while working on a similar project. I can't say it was a disaster, I had a lot of fun there, but I didn't learn a lot, technically (except of course that there are weird database systems like uniVerse).
If you knew then what you know now, would you have started programming?
Absolutely! There's nothing else in the world I'd like to do otherwise. Every day I am allowed to do what I like the most, and they even give me money for it .
If there is one thing you learned along the way that you would tell new developers, what would it be?
Get an education from a good school, e.g. a B.Sc. degree or something like that, in software engineering or computer science. Learning 'on the job' isn't going to give you all the knowledge you might want to have later on in your software engineering life. Sure, most B.Sc. courses are dull and force you to wade through dark areas of computer science you don't want to hear about ever again, but at the same time they give you the unique oppertunity to learn things you'd otherwise not be able to learn because the job takes all the time during the day and during the evenings and weekends, you'll likely do something else than dig through books. So if you have the chance: go to a good school and finish it.
What's the most fun you've ever had … programming?
What I find one of the greatest thing in writing software is that every day you're faced with puzzles you've to solve. And when you find the answer, it's giving a great sense of joy, at least for me, but perhaps I'm weird, dunno. . So the 'most fun', I think there are too many situations to mention: winning a demo competition at an Amiga demo party (demoscene), finally finding a bug after two days of hunting for it, finishing a part of a project you'd never thought you'd be able to do because it seemed so complex, finding a total unrelated situation where you can apply a class you wrote two days earlier and it is the perfect fit... etc..
So who's next?
It's always difficult to make a selection. So, please don't be mad if you're not on the list below.