The rate of change in the software development world is increasing every day. If you don’t pay attention you may wake up one day and find your skills are no longer marketable.

The good news is that by just doing one or two of the items below, you can move yourself into a position where instead of fearing what might be coming next you can be excited about the next opportunity that will be coming your way.

Listen to Podcasts

Learn from the best minds in the industry while you do the dishes
I’m surprised to hear how many people don’t listen to Podcasts. The most common reason I hear is that time is not available, to which I respond, “Do you do the dishes?”. Many of life’s repetitive tasks can be made more enjoyable by turning on your iPod or your smart phone and having a listen to the latest dotNetRocks, Hello World, or MS Dev Show. See my podcasts list for some ideas of where to start. Don’t knock it till you try it.

Attend a User Group

It’s not what you learn, but who you teach
Many of us less-than-outgoing software types tend to try and learn all on our own. With all the blogs, podcasts and videos out there, where is the need to go and learn at a user group?

I’ve found that the best reason to go to a user group is not to learn, but to contribute and lift others up. Once you experience the excitement of helping someone else grasp a concept or complete a project, you will see that it truly is better to give than receive.

What does this have to do with your career? Who would you want to hire: someone you have never heard of, or someone that’s known for teaching others about the type of work you need done?

Have a Side Project

Don’t be limited by what you do at work
One of the best ways to be motivated to improve your skills is to start a side project that interests you. Pick a technology you are drawn to or a domain that you enjoy (or both) and build something. Even if you would never use the specific technology at work, chances are there will be transferable concepts that you can use to improve the way you solve problems.

Whatever you decide to do, make it achievable in a reasonable amount of time, and FINISH IT! It is better to have one smaller finished project than 15 grand ideas that are 10% done.

As you work on your project commit the source code to GitHub, it helps others learn and helps build your “clout” as a software developer.

Pair Programming

Two heads are better than one
If you spend just 10 minutes watching another developer code you will undoubtably pick up something (an IDE trick, a command shortcut, or a concept) that you wouldn’t have come by on your own.

Pair programing doesn’t mean you have to be in the same room; in fact I think it is better for each to use your own computers and use some screen or editor sharing tools to facilitate the pair programming.

Attend a Conference

Or better yet, speak at one
I used to think conferences were expensive events held in places that required flights and hotels to attend.

A couple years ago my friend James Sturtevant told me about “Code Camps”. A Code Camp is a free event that encourages anyone to submit a talk (more information here). James encouraged me to submit a talk to the Boston Code Camp and the talk got selected. I was pretty nervous but the whole experience turned out to be great. I liked the experience so much that I gave another talk at the Vermont Code Camp a few months later.

I know of a person that landed a great new job because the employer attended one of their talks, it can happen.

Join a Mastermind Group

Accountabiliy is key
A Mastermind is simply a group of people that are all working toward a common goal. For some more info on Mastermind Groups see this post from SmartPassiveIncome.com.

A friend and I formed our Mastermind Group around the goals of Continuous Improvement and Life Balance. Our group has met weekly for over two years, during which time members have completed an impressive amount of direct goals and some unexpected side benefits such as new jobs, pay raises and promotions.

Start a Blog

Share the solution
There are many reasons to start a blog. Since we are talking about career, the reasons that jump to mind are showing you are knowledgeable and showing you know how to communicate that knowledge.

My suggestions for getting started:
  • Don’t stress about the platform, just pick one and go. It’s really easy to get bogged down by setting up your blog and never actually get to writing a post.
  • Every time you solve a tricky problem, write a post. If Google (or Bing) didn’t know the answer for you, it won’t for others as well. Document how you solved the problem, and at they very least when you have the problem again in 6 months you will know how to solve it.

Do It!

You won’t move without taking the first step
None of the above items will do you any good if you don’t give them a try. Pick one that sounds interesting and commit to trying it out.

For Example:
  • Listen to a podcast whenever you do the dishes
  • Find an interesting open source project and do a pull request
  • Find a Code Camp near you and sign up to attend the next event
  • Find another coder that wants to improve and meet twice a month to talk tech and encourage each-other

Let me know on Twitter if do any of the above and find it helpful, I’d love to hear all about it.