Tuesday, June 28, 2011

How I Overcame Epic Fail

You can’t avoid mistakes.  It takes a seasoned programmer to admit they’ve had their share of epic fails. I think I do well, as my boss exclaimed “You’re at the Real McCoy now!” … meaning (I think) I’m not working for internal clients anymore.   This is my first job working for an ISV (Independent Software Vendor) since I began programming.

While the wounds are fresh, I’d like to share some of my greatest challenges and how I overcame them.

Being a Software Consultant
I never thought working for myself and making my own hours writing code, wearing pajamas in the room next to where my one and three year olds slept would be a problem. Truth was, although you can actually make great money working from home, you don’t get the experience from team building, code reviewing or even source control.

I had to struggle to get out of my independent coder cocoon. I did this, at least in the inception of .Net, by going to TechNet events and listening to a broad array of developing with .Net sessions.  I also joined an AITP chapter and a Linux User Group. At that time I also learned about the open source community, and how you could share your projects with other users.  I started to interact more and more with developers on Internet forums. It seemed like I had co-workers at my disposal.  With a few clicks, an email or instant message could help me when I got myself into a tight spot.  I learned advanced techniques only by sharing with other developers. The greatest benefit I got out of this was learning how to manage time, project and money. This allowed me to take a position in management for the first time.

Falling Behind
Being a manager was not all it was cracked up to be. I thought I could come in fashionably late and leave as I pleased. I could, but the truth was, there were tasks to be done and staff to oversee. As business grew, the responsibilities increased. Instead of working less and making more, the norm was making less and working more. Weekly travel, hours on Saturday, and on-call on Sunday left me no free time. My greatest challenge was keeping up with the ever changing technology. I wasn’t programming on a daily basis. Implementing new systems meant hiring a contractor to take on a project for three to six months. I was no longer involved and I was no longer happy.

I left the management position to pursue what is dear to me, writing code. It’s hard to do a comeback.  It’s not impossible. Take for instance, Robert Downey, Jr.  He was a wreck and now he’s Iron Man. I knew I could do the same but I had a lot of catching up to do.  I’d missed several versions of Visual Studio .Net and didn’t even realize they dropped the “.Net” from it. SQL Server was totally different from 2000. I had to move quickly as a company took a chance on me even though my knowledge was a little outdated. The company gave me six months to progress.  I had to redo some .Net 2003 and take it to the next level.  Rather than playing it safe with 2005, I chose 2008. I also had to convert from my comfort zone of Visual Basic to C#.   I challenged myself to do this in three months rather than six.

How To Catch Up
I looked long and hard at what was around me. I knew Visual Studio 2003, but not as well as I knew Visual Studio.Net. After playing some catch-up on Visual Studio 2008 and SQL Server 2008 for two months, I registered for an exam to be taken a month later so I could still meet my three month challenge. The most important thing I did was to schedule and register for the exam. I know people who want to certify and study to certify, but it’s when you’ve paid money and scheduled a date that you’ve created yourself a real deadline.  

Still cloudy on the subject, I created a study plan.  I also found much help and resources on Twitter. Social Media was evolving, and virtual user groups and #sqlhelp hashtags were mentioned regularly on Twitter.  I became family with Twitter, again, creating a network of go-to experts that could get me out of a jam.  I found free training and learned about branding myself.

Maybe the stint in management could count for something. I worked hard at my career and planned it as a project with goals, and certifications served as my benchmarks.  I became certified in 2009 as an MCTS and achieved MCPD status in 2010. 

Now I plan on staying on the certification track.   I won’t allow my certs to expire and I vow to upgrade to newer technologies one day at a time.

No comments:

Post a Comment