The Evolution of a Programmer

The blog is currently being ported from WordPress to over 12 years of static pages of content. If there's an article missing that you're hoping to see, please contact me and let me know and I'll prioritize getting it online.

April 5, 2007

It’s a funny thing, looking back at the myriad of experience I’ve been blessed to have throughout my life with computers.

I’ve been working with programming professionally for 11 years, which I guess technically qualifies me as a senior developer in a lot of ways, but it still sounds funny to me to realize that I’ve really been programming and tweaking software of some kind for about 24 years – and I’m only 33 years old… To think it all started when I was 8 or 9 years old and my dad brought home a Commodore 64.

It’ll be 11 years this month that I graduated from college, and reminiscing about the journey over the years and forks in the road where I had to make tough decisions, made for some interesting insights. Just this week, I had to look back at all of this experience to apply for a full-time position that would having me doing a bunch of things I really like:

  • coordinating and managing multiple projects
  • meeting with clients
  • organize work for other team members,
  • training and coaching junior programmers
  • and of course, writing code myself.

“With great power comes great responsibility,” a fictional uncle once said.

“With a decade of experience comes the ability to teach and lead others, whether you like it or not” would be a worthwhile update, I think.

Looking back at my college days, I remember sharing with a few friends that I didn’t think I’d ever want a “leader”/“manager” sort of position. I was too afraid of red tape getting in the way of letting me be the programmer that I’ve loved being since I was that little kid learning to write BASIC on my C64 to hack my favorite games.

Still, I had to look into all of this experience to answer some questions about my qualifications for this full-time position:

  • when did I ever have major oversight responsibilities
  • with that responsibility, how did I meet the client’s needs
  • discuss my experience with enterprise-level content management
  • give an example of using my skills to meet a customer service need.

The customer service answer was the easiest to think of – I just highlighted my SpamAssassin training utility and pages upon pages of text to support the new script I’ve written in the past week, and how 20,000 users have looked through the original documentation I wrote for the SpamAssassin trainer.

The other questions, though, had me looking back to some of the responsibility I’ve been given at various jobs, some of which placed me in a ‘team lead’ position without me even realizing it. And, looking back, to see I was very successful at it and came out the other side as a better leader/programmer. And to think that at one point I almost walked away from professional programming to be a full-teacher at a private college in Ottawa. Thankfully I moved to Los Angeles just before the “dot-bomb” era. I don’t regret my decision to halt my candidacy for the teaching position, but I can’t help but think of ‘what if’ scenarios sometimes.

So now I anxiously wait for a panel to review my resume and experience, and determine whether my answers were appropriate enough to grant an interview for a full-on team leader position. This position, of course, would all but halt my freelance programming, but nothing will ever keep me from shell/Perl/PHP script hacking with Linux as my full-time operating system at home and using it to find ways to make my daily routines less routine through automation, and posting those scripts here, as always, to share with the world.

Update, 2017: I didn’t get the job, the panel felt I didn’t have enough managerial experience yet. I continued to do freelance programming until early 2008.