How Did I Get Started In Software Development?
Someone (Max) finally pegged me with this old tech meme that has been floating the blogosphere forever. I decided to be a good sport about it, so here’s the whole seedy story of how I got started in the industry.
How old were you when you started programming?
Although I do remember spending several hours as a pre-teen typing in BASIC programs on my Comodore 64, I never really became infatuated with computers and programming until I was in my mid twenties. Before that I was a History major in college and then spent my first few professional years teaching in an inner city Washington DC school through an alternative certification program called Teach For America.
How did you get started in programming?
After four very long years, I realized that I was definitely not cut out to be a teacher. My original plan had been to go back to grad school to get a PhD in history after a few years of teaching, but I decided I really didn’t want to do that after all so I was looking for new options. I thought about all the things I either really liked doing or was good at, such as studying foreign languages, playing chess, problem solving, and being hyper focused on single problems for hours on end, and somehow it occurred to me that I might like computer programming.
On a whim I picked up a couple of brick sized C++ books on the first day of a summer vacation one year and was immediately sucked in. I spent every waking moment for the rest of that summer obsessively trying out every code sample and demo exercise I could find using notepad and a basic command line compiler. By the end of the summer I knew I had finally found my professional calling.
After that I concocted an insanely ambitious 9 month plan of intensive self-study and actually managed to follow through with it despite being perpetually sleep deprived. By the end of the school year, I worked up enough nerve to quit my teaching job and somehow managed to find a real job before my paltry savings ran out.
What was your first language?
As I mentioned before, I really did things ass-backwards by starting out with C++ instead of some scripting language (I didn’t know any better at the time). However, in hindsight I think it was a blessing in disguise because it helped give me pick up some lower level foundational principals that I otherwise would have missed out on by not receiving a traditional Computer Science education. It also made everything afterwards look relatively easy by comparison.
What was the first real program you wrote?
I wrote a few classic ASP applications with Access back ends for the school I worked for in order to help automate a new paper intensive professional development process that they had just started. I’m not sure if my apps were used much after I left, but at least they allowed me to escape the world of contrived book examples and finally get some real experience with the software development process.
What languages have you used since you started programming?
After C++, I studied Java for a while because I had a friend who thought he could get me a job as a java programmer. As my impending job search approached and I was scrambling around for some opportunities to build real applications, I decided to switch to Cold Fusion and then ASP because those were the options available to me on the school district’s web servers. I went on to use ASP, Javascript, and VB6 (COM) in my first job and then .NET as soon at the beta was released. I’ve been a .NET developer every since then, but have experimented with Ruby, Python, and PHP over the last few years. I also had to fix a production bug in a really old version of PowerBuilder once, but I’d rather not talk about that…
What was your first professional programming gig?
I worked for a publishing company writing the front end for a classic ASP\COM internal web app that tracked trade magazine subscriptions which they gave to people in exchange for selling their souls to the advertising demons. I think that was the last time I did any significant web development other than routine maintenance.
If you knew then what you know now, would you have started programming?
Absofrikenlutely. My only regret is that I didn’t start earlier.
If there is one thing you learned along the way that you would tell new developers, what would it be?
If you don’t like being a continuous learner, then this isn’t the profession for you. The best way to maintain your motivation over time is to constantly cultivate your passion for software as well as your humility.
What’s the most fun you’ve ever had… programming?
I love writing code, but my most enjoyable experience on the job was actually doing some security penetration testing on all of our internally developed applications at my last job. My knowledge in this area is still pretty basic, but the analysis processes reminded me of a chess game where you had to fight for small strategic advantages that you could eventually string together to win your objective.
One particularly satisfying moment was when I finished my analysis and then let our IT Security Specialist know that I found some serious security holes. He didn’t believe me, so I decided to provide a demonstration. The next day I had the pleasure of watching the look of shock on his face as I asked him to disable the new domain admin account that I was able to create for myself and gave him the instructions for how to remove the vulnerability.
That was fun.
If I ever get bored with corporate development, then I’m guessing that I’ll migrate over to the security world. In other words, I want to be a hacker when I grow up.
Now with the tagging…
I’m tagging Justice Gray because I’ve been waiting for an excuse to exact karmic revenge on him for starting that insipid How I’m becoming a better developer meme last year.
I’m also tagging D’Arcy Lussier under the condition that he somehow work in a picture of Justice Gray wearing a Princess Lei bikini and looking longingly at Jabba the Hut into the post.



When you just need to
Nice history, by the way I’m too a developer who see computer security as something with really nice problems to solve.
I think a good Computer Security guy should know:
* System administration
* Networking
* Software development
* Computer Security very specific things
So be a software developer is a really good way to start.
Thanks for your post! I found you from DZone.
I decided to answer the same questions as you did: http://www.robojenny.com/2008/.....mming.html
@Jenny - I’ve done that before myself. Consider yourself retroactively tagged by me if it makes you feel better…:-)
@Russell - Ah, but I didn’t tag anyone else to do it after me. I figured since I wasn’t officially tagged to do it, I was ok not tagging others. =)
@Jenny - But that’s the best part. I prefer tagging people that hate being tagged and then publicly taunting them until they comply.
Now that you’ve been retroactively tagged, it is your duty to help spread this evil meme like soul-sucking, parasitic, virus it was destined to be.
Спасибо за Ваш труд!!