Wednesday, May 1, 2013

Software development career treadmill

In my last post I outlined many of the reasons why software developers are a good model for career resilience. It was based on the fact that we have to be resilient due to how quickly technology and trends move.

Several times in the past, I've been asked what one thing would I tell people considering a career in software development. I always give the same piece of advice; be prepared to continually learn.

There are downsides to this continual learning cycle though; I've dubbed this the software development treadmill. This treadmill keeps on going at a slightly uncomfortable pace and doesn't relent no matter how tired you get. This continuous pace requires you to have a passion for software development. Without that passion, it's been my experience, you'll washout or stagnate into a career deadend. Passion is critical because it will help keep you motivated to continually learn and practice, most often in your spare time.

Even those who do continually learn and practice aren't guaranteed to always be on top of new technology and trends. This is mainly because there are so many things that you could spend your time on. You end up having to pick and choose based on what interests you and your guess at where the industry is going. Sometimes you'll hitch your cart to the wrong horse and will have to leave that deadend; then scramble to catch up with what the market is actually doing.

For developers in the west, there's also the constant fear of being outsourced. This adds an extra pressure to keep up.

Eventually even lifelong learners can get tired of this unrelenting pace of change. Traditionally developers would move up into management, where their development skills don't have to be as sharp. That said, I've noticed that with the advent of self-organising teams and flatter hierarchies, there's less of a need for management and therefore less opportunities for promotion; these positions were limited before anyway. As a result we're staying in development jobs for a lot longer. This presents additional challenges. As you get older your family commitments generally increase. This means that you have less time to learn and practice on your own time.

Finally there's an unspoken darkside of being an older developer and that's that it's seen as a young person's game. There's a myth in the industry that young people are far more creative. If you want to have a long career in software development you'll need to be on top of your game.

Has this been your experience as a software developer? I'd love to know either way.

No comments:

Post a Comment