Monday, July 2, 2012

Tick, Tick: A Software Engineer's Guide To Hustlin'

'clock' photo (c) 2009, olle svensson - license: http://creativecommons.org/licenses/by/2.0/

Without a doubt, I love being a Software Engineer. According to this year's U.S. News Best Jobs report (link), Software Developement is #2 on the list of the top 25 careers. It really doesn't come as any suprise to me - I've enjoyed quite a bit of success in my career and see unbounded opportunity for the future. Demand is high for guys who can do the kind of work that I do, and the pay is really good. Sure, the work can be stressful and the hours are long sometimes, but on the whole software developers have it pretty good.

While I am feeling very confident about my future in this field of discipline, I have started to become aware of the sentiment expressed in a recent Bloomberg article that proclaims software engineering is a career dead-end (link). I already feel the clock ticking, and it's definitely not ticking in my favor. I am constantly struggling to keep my skillset fresh and up-to-date while also trying to build up on my soft skills and leadership qualities. One of my greatest fears is that my skills and experience will one day prove irrelevant as the younger, faster crowd will try to swoop in and take the same opportunities that I now thrive upon. I might very well have been that kind of guy myself, though I can't imagine myself that way.

I used to think that I would be playing the catch-up game for a few years before I could settle into some sufficient level of life-long technical mastery. I'm eleven years wiser now and it turns out that I have to be just as, if not more, tenacious as I've ever been as I grow older and more experienced. There's no such thing as a tenured engineer or a made-developer. I don't even want to know what it would be like to be just a step behind the competition. And while this is proving to be quite a tiring exercise, I know that I can't settle for anything less than greatness. That is just the legacy I want to leave for my children.

So, to my fellow colleagues, I have a few points of career advice. First, be aware of the copious resources at your disposal. I can't think of any other career where it is as easy (or as cheap) to grow and learn as it is in our profession. There is an endless of free resources spread all across the web that can help you build your technical brand. Don't ever stop seeking out opportunities to be hands on with new ideas and technologies. And try visiting sites like Google Code or CodePlex to explore other peoples code to build your own programming literacy. Every little bit can be the difference in getting that promotion, higher pay, or more employment opportunites.

Secondly, know your worth. We software developers build useful stuff out of practically nothing all the time. That's a gift that not many people in this world possess, so figure out how to harness that knowledge to your advantage when negotiating your career path. We are professional problem solvers, adept thinkers, and can be just as creative as any other artist, actor, or musician out there. Don't be afraid to challenge yourself and test your limits, you'll be suprised what you can achieve.

Lastly, make sure to write down a list of your goals. Writing them down is important because it forces you to think about what you want and make it clear. It also helps you to seek out and identify the right opportunities that will help you meet those goals. Written goals will help motivate you to work for what you want, and will provide you a measure with which to determine how well you're doing as you progress in your career.

Think like a hustla, and you'll be fine. Move with urgency and always think a step ahead. Slack off, and you might find yourself out of a job real quick. It's how the game is played.