A certain meme has been going around asking developers how they got started in software development. While I'm a little late to the game, here's my story:
How old were you when you started programming?
I was around 15 years old when I started playing with HyperCard and Filemaker Pro on a Mac IIci. I loved it from the start; my dad would literally have to unplug the computer for me to go to bed at night. I really didn't start getting into commercial development though until I was around 19-20 years old.
How did you get started in programming?
I built a couple websites during high-school using Microsoft Publisher and Microsoft FrontPage, and while I now feel these were the worst tools possible, they enabled me to visually design a web page, and then view the underlying markup. From there I moved on to glorified notepads (Dreamweaver, Homesite, Interdev, and Visual Studio). After moving back to the Philadelphia area, I bought an HP desktop and sat in front of it all day every day for about six months and just soaked up as much as I could.
What was your first language?
My first language was HyperTalk back in the HyperCard days. My first real development languages were Visual Basic and ASP.OLD.
What was the first real program you wrote?
It's been so long now that I don't remember. I built my first website in Microsoft Publisher, the second in Microsoft FrontPage, and from there, again, I moved onto glorified notepads. The first real project was probably a client website.
What languages have you used since you started programming?
What was your first professional programming gig?
My first gig was from a guy who called me up to sell me on Amway. While I wasn't interested in 'sales', he also co-owned a small software company and gave me my start.
If you knew then what you know now, would you have started programming?
Absolutely. For me, programming is like the only thing in life that's logical. Even when computers screw up for seemingly illogical reasons, under the covers there are some bits that can explain it. I can only tell people that it's the way my brain is wired; I don't think I could quit this business if I tried.
If there is one thing you learned along the way that you would tell new developers, what would it be?
For starters, find what really gets you passionate in software development, whether that's a specific technology, an industry, or a particular focus, whatever. It's really the underlying passion that counts.
Second, understand that a career in technology means you must constantly be learning, growing, and rethinking. Technology, as well as patterns, practices and methodologies, are always in a state of constant flux. If you're not willing to commit yourself to this, you may want to find another career.
Third, if you have the passion, don't worry so much about degrees or certifications. For me, I'd rather hire someone with a thirst for knowledge, passion in their heart, and an aptitude for programming over someone with an 'education' any day.
Fourth, get involved in the community: attend local user groups, join the online forums, participate in community or open-source projects, etc. Not only do you get a chance to give back, but you learn so much along the way.
What's the most fun you've ever had ... programming?
I don't think there is any one project I can single out. The most fun I've had programming however have been client projects that significantly impacted their business. I also enjoy little personal projects, either because they were 'cool', or they helped automate and simplify something in my life, or taught me something new.