Software development is a great place to be. It’s at the intersection of a variety of disciplines - science, mathematics, engineering, and more.
But the challenge of this particular field is that it moves fast and it can be difficult to keep up with all that’s going on with new languages, platforms, technology, and more.
Here are five suggestions that I’ve found to be personally and professionally useful in trying to keep up with the pace.
Learn a New Language
When we get comfortable with something, it’s easy to get complacent. This is true with most things, too – not just programming.
Learning a new programming language goes a long way. It gets you out of your comfort zone, thinking about problems in new ways, and it enhances your skillset.
I’d even go as far as to say that it can sometimes help make you a better programmer in other languages.
Build Your Own Stuff
The current state of the web makes it very easy to create mashup applications. It’s very easy to grab a component from one place, hook it up to a piece from another source, and have a functioning application.
I’m not for re-inventing the wheel, but you gotta get your hands dirty if you want to make progress. Find a utility, application, or feature that you find interesting and try to recreate it.
Maybe it won’t leave your desktop, but the knowledge gained in devleoping it will be useful in the future.
Work with a Team
Generally speaking, developers are introverts. We like to stay at our desks with our headphones typing away in our IDE’s. The thing is, working with a team can help you go much further, faster.
Working with a team also exposes you to project management, trust, and will likely require you to get familiar with source code control platforms and at least one form of a software development methodology.
If you’re an object-oriented programmer, you’re likely familiar with a number of design patterns. If not, spend sometime getting familiar with a handful of them.
Getting in deep with design patterns lends itself to seeing natural solutions to common problems, programming to interfaces and abstractions versus implementation, and creating more stable, testable code.
Podcasts, Blogs, Talks, and More
It’s hard to stay up to date with everything that’s going on in the world with respect to software development,
butbecoming aware of what’s available doesn’t require too much work.
Subscribe to some development podcasts and blogs, watch some talks online, read whitepapers that have been published related to the field.
Do what you can to stay actively engaged in the industry.
Of course, these five suggestions aren’t complete – just things that I’ve found useful over my career. I’m genuinely interested in what you guys have done to stay focused in the field.