Tuesday, January 1, 2013

Goal-Setting Tips for Programmers

We all know that goal setting is important, and the beginning of the year is a great time to recalibrate your compass! So to start your year off right, here are a few tips for goal-setting, from a programmer's perspective.

Start with a Vision

Before deciding exactly what you want to accomplish over the coming year, it's a good idea to understand why you want to accomplish it. Start with a vision – how do you see yourself five or ten years from now?

  • Are you a CIO at a startup?
  • Do you own your own business?
  • Have you shifted gears to project management?
  • Are you a software architect?

Now, what roles one year from now would put you a few steps in the direction of your vision?

Once you've got your vision nailed down, ask yourself why that vision is so important to you – hopefully come up with a reason. Then ask why that reason is important to you. That'll give you another reason. Keep asking yourself "why" until you can't answer it any more. That's often when you've found a personal value that's core to who you are.

Limit the Number of Goals

If you're like me, you still have a sense of wonder about programming. There are endless possibilities in the technical world, and there's so much to learn and do! It's easy to want to learn eight different programming languages, launch your own app in the App Store, and become an expert in 3D computer animation, all in the next twelve months. But if you commit to so many things, you won't really commit to any of them.

I prefer limiting myself to about three to five goals in a year. We programmers like new things. Every time a new technology sprouts up, we want to go learn what it's about. By limiting the number of goals you set, you're allowing yourself to have room to explore those new technologies as they emerge throughout the year, without compromising your larger objectives.

Goal-setting is basically prioritization. You're saying that a handful of objectives are more important to you than the rest. And it's simply not possible for everything to be most important.

Celebrate Small Wins

It's easy to be overwhelmed by too many goals, and it's also easy to be overwhelmed by one very large goal. It's good to shoot for the moon, but small wins provide the motivational fuel to get you there.

Do you want to write a book? Break it up into units and chapters. Do you want to release an open source project? Set up the milestones for it ahead of time.

And whenever you complete one of these smaller sized accomplishments, find a meaningful way to celebrate. You can even associate a prize with each accomplishment ahead of time, so that you have something to look forward to at each success.

Find Opportunities to Combine Your Goals

Programmers can often combine their goals in unique ways. For example, you might have goals to get more involved in the programming community, learn the TestNG framework, and learn how to use Git.

Rather than focusing on each of these three goals individually, you could look for an active open source project using TestNG on GitHub and work toward becoming a contributor to it. That provides opportunity to work toward all three goals while only having the stress of a single project.

Love What You Do

Finally, and most importantly, enjoy what you do! Your goals are your compass to keep you on track, not a whip to keep you working. They're meant to give you wings, not shackles. Goals alone are not enough to motivate or fulfill you. It's the enjoyment of your daily tasks that makes it all worthwhile.

How about you?

What have you learned about goal-setting over the years? Do you have any big goals for the coming year?

No comments:

Post a Comment

Profile Picture
Dave Leeds
My Hobbies:
  • Programming
  • Cartooning
  • Music Writing
Full Profile