I'm a little late to the party, but a tweep, Michael Eaton, posted some questions on how he got started in programming. So I thought I'd finally provide my own answers.
How old were you when you started programming? I was probably around 13 or so when I started coding. I had gotten a second-hand Vic20 that I practically lived on. After a year or so of that I had saved up some money and purchased a Commodore 64 with disk drive and was in absolute heaven. About age 18 or 19 I purchased an Amiga 500 with some college loan money (I justified it to my parents since I was going into computer science). Then at age 23 or so (around 1993 / 1994) purchased my first PC a screaming 486 66 and I paid the extra money to get the CDRom addon.
How did you get started in programming? When I had the Vic20, I loved the old Scott Adams adventures games that you purchased on cartridge. My coding interest grew really out of a desire to hack those old adventures and write some of my own. This grew into getting the programming magazines of the day (Compute and Compute Gazette being a few that I recall) and typing the code in from the magazine. I grew beyond that to start writing my own games (back when you could still develop games in your garage or familiy room as was my case). I continued in that direction with the Amiga and really wanted to develop games for a living, but I never had the artistic background and got a bit discouraged that I couldn't create the nice looking games I saw on the Amiga.
What was your first language? I started off with Commodore Basic on the Vic20 and Commodore64 along with learning some 6052 assembly language. Once I moved to the Amiga I learned C and went on from there. In fact at one point I wrote C compiler/interpreter for the Commodore 64 in its Basic language....that was fun.
What was the first real program you wrote? I think the first real program I wrote was a few text adventure games on the Commodore 64. Also I wrote a pacman clone on the Amiga as my first real C program. One game I started writing with a buddy of mine was called Time Train and was a text adventure with some minimal graphics. We never got really far as that was about the time girls started looking more interesting to me than computers, but I remember we spent a lot of time on the title screen (animated graphics and such) and on the first few rooms of the game. I've thought a few times of reviving that concept, rewrite it in Inform (Infocom based development language) and submitting it to the Interactive Fiction competition.
What languages have you used since you started programming? I've used a ton of different languages over the years (some just in college so not sure if that really counts) but of course many version of Basic, from Commodore Basic to QuickBasic, AMOS on the Amiga, and to VB3, 4, 5, 6 and VB.NET. I've used C, C++ and now practically live in C# (I think I talk to my wife and kids in a C# dialect at times). I've touched Fortran, Lisp, Pascal, assembly mostly in college. REXX on the amiga and now starting to use some Powershell scripting. I'm sure I've forgotten a few obscure languages I played with at one time or another, but those are the major ones.
What was your first professional programming gig? I got a job straight out of college in 1994 working for a place called Synergy Data Systems, then known as Nationwide Interchange Systems and then Top Echelon. I met some great people there (Goody being one) and have kept intouch with some people since. We worked on desktop applications, web sites, and server procesess and I did learn a ton there. I left in 2001 to work for a local consulting firm (basically an independent who decided to hire an employee) and left there in early 2002 to start my own consulting firm which I've been working hard at ever since.
If you knew then what you know now, would you have started programming? I probably would have as it is a great career. My only regret is that I've discovered as I get older and my children get older that I really don't like being stuck behind a computer all day. Consulting has helped in that regard some, but still a lot of time spent at the keyboard.
If there is one thing you learned along the way that you would tell new developers, what would it be? I'm going to have to say don't get stuck in a cubicle your whole career. Also as Michael said in his answers, communication is key. It is easy to hide behind the screen and not communicate with anyone. I'll just say it can be very lonely there at times. Consulting has enabled me to interact with people on a regular basis and that has got to be one of the great benefits of what I do now.
What's the most fun you've ever had ... programming? I can't really nail it down to just one moment. But I really enjoy working with other developers, especially in the early design stages of a project when ideas are flowing freely and there is just a general excitement about the project as a whole and everyone is just itching to get started.