Fellow Silverlight enthusiast (and great author) Chad Campbell called me out on this, so now it's my turn :)
How old were you when you first started programming?
That was either 6th grade or 7th grade, so I was around 12. I often question the people who tell you they were hacking systems at the age of 6, but who knows? :)
How did you get started in programming?
The first time I ever wrote any BASIC statements I was using a DEC Robin. Digital had a computer bus that toured various schools and parked in the playground for a day. The math classes would then take their students out to the bus and let them poke around with the computers.
In 7th grade I wrote a BASIC program on the CP/M Robin. All the program did was draw a rocket ship and "launch" it up the screen by printing out a bunch of blank lines. With the display set to smooth scrolling, it was convincing to me anyway.
The computer room had Commodore VIC-20 computers as well, but the huge letters on those just looked cumbersome to me. Soon, the school received a shipment of Commodore 64s, and I was hooked. I used to stay in for recess and stay after school until the room closed.
It wasn't until highschool that I got a computer of my own - a Commodore 128 with all the trimmings.
What was your first language?
I wrote a couple programs in MBasic on the Robin, and then a ton in Commodore 64 basic. I didn't get into Pascal at all until highschool, and into C/C++ until college..
What was the first real program you wrote?
Real is hard to define here. I'll take it to mean something rather functionally complete. I wrote some D&D helpers - programs that rolled dice - on the Commodore. My friend at the time also wrote some of those (a very popular "killer app" of the day :) )I also wrote a boatload of games and utilities that were somewhere between 10% and 75% complete. Of course, I did also write the "Would you like to play a game?" WarGames emulator.
The first "real" program, meaning I got paid for it and it worked and provided some business value is down below under professional gig.
What languages have you used since you started programming?
Learned and did Academic Projects: COBOL, x86 assembly, VAX Pascal, Apple II Pascal, MSIL, VAX DCL
Used to Actually do Something: Basic (Visual Basic, VBScript, QBasic), C, C++, C#, Delphi (Pascal), PowerBuilder, XBase (dBase, FoxPro), Gupta SQLWindows (I forget the language there), and probably a bunch I've forgotten about.
Still use: C# and once in a blue moon I do something in VB.NET, but that is rare.
What was your first professional programming gig?
When I was in college, I worked part-time at the Medical Bureau of Economics in Worcester, MA. My job was to do data entry, which I found boring but it paid well - and I was a decent typist. It didn't take me long to realize that the unix app we were all using on those terminals was written in basic and that I could list/modify the source code if I wanted (I limited myself to just looking). What tipped me off was a syntax error I got while using it one day.
Anyway, shortly afterwards I was moved downstairs because the new director saw that I was working on a CS degree and she realized I was as close to an IT person as that place had. That company had close to 100 employees, but the only IT was one person who used to come in and wire new terminals to the unix server, and replace faulty boards. No programming support at all.
Besides all the other admin stuff I did, I wrote my first business application: a DOS database and windowed UI in C++. I wasn't aware of dBase or anything at that point in time, but I knew about bTrees and I knew C++. Using the big blue box Borland C++, and some information from some books, I wrote a database to track payments for one of their hospitals. I wrote later versions of it in dBase and even later upgraded that to FoxPro.
If you knew then what you know now, would you have started programming?
Absolutely. While it has had its ups and downs, I can't think of any other career that would provide me the combination of things I need to keep me happy.
If there is one thing you learned along the way that you would tell new developers, what would it be?
User Experience is king, raw functionality is often secondary and great architecture a distant third. Users know this when they see it, but don't get it when gathering requirements. IT departments rarely get this. As the UI/UX bar goes up, professional design firms are going to eat the lunch of those who don't. Remember, a user isn't going to see the great SOA backend you built, and more often than not, they won't care. Build something that scales to the requirements, works well, and is both easy and a pleasure to build.
Show the users progress early and show it often. A prototype UI is often one of the easiest way to walk through requirements and functionality.
Note I'm not suggesting that pretty front ends with crappy back ends is a good pattern. We can certainly argue the general points here, but if you find yourself really disagreeing with this point, you might find that you're going to get run over in the RIA/rich revolution going on.
Oh, and one other point: Spelling and Grammar do Count :)
What’s the most fun you’ve ever had … programming?
That's hard to say. I've had lots of different kinds of fun, and I've had some real drudge work too. Staying up 20 hours a day coding that first Silverlight 1.1 alpha application was actually a ton of fun. So was doing my first sprite graphics on the C64. I've had lots of fun over time, but the most fun tends to be the little side projects I get to do in emerging/new technology.
Who are you calling out?