Software Development Meme

So thanks Danny for giving me a ping... it's been a while since I participated in one of these blog chain letters. Funny really because now I am a Program Manager, I'm not a real developer anymore ;)

How old were you when you first started programming?
I remember mucking around with my Vic20 when I was 10.

How did you get started in programming?
My university degree was in Engineering Science, i.e. Operations Research and Continuum Mechanics. It turned out it was not really for me, but I did something out my time at university: I learnt how to program. I remember mucking around trying to write an application to work out how to optimize an airline crew roster.

What was your first language?
I did a little Basic on my Vic20, but my first real programming was in Fortran, and then C.

What was the first real program you wrote?
What exactly does real mean? Every program I wrote is 'real'.

But I jest. To me real means something that has actual users, bugs, quality expectations, and a roadmap. I wrote a number of VB5 forms applications that measure up to that definition, but one really stands out, it was a Timesheeting / Invoicing application that used DCOM and actually had a couple of tiers!

What languages have you used since you started programming?
Basic, C, C++, C#,  F#, Fortran, Haskell, Java, Javascript, Python, Ruby, Nermerle, T-SQL, VBA, Visual Basic 3, 4, 5, 6, Visual Basic.NET.

What was your first professional programming gig?
Olympic Software as a junior dev, working on a VB 3 point of sale integration application. The project went nowhere in the end, so I got my first canned project out of the way pretty early in my career!

If you knew then what you know now, would you have started programming?
Not sure. I like programming, but I love creating, and there are lots of ways of doing that, I kind of stumbled into computers and I seem pretty good at it... but I'm sure I could do other things as well. I definitely have the requisite ego!

If there is one thing you learned along the way that you would tell new developers, what would it be?
Learn to ask good questions. Question assumptions, question motivations, question rules, question the status quo, question the process, question the requirements...

Learn to ask good questions!

What's the most fun you've ever had ... programming?
Writing Base4.NET, without doubt. It's fun creating something that is synergistic, and more that the sum of it's parts. System's Engineering at its core, it is like playing a giant game of LEGO, except you get to decide whether to mold your own special pieces or work with what's already available.

Who’s next?