Keeping Your Skills Sharp - Staying Up To Date As A Programmer
Staying Relevant as a Programmer
In the fast moving field of software and technology, staying relevant as a programmer has always been a challenge. Every day it seems like there is some hot new language, some killer framework, or even some new design pattern that everyone is talking about. Keeping up with it all can be a full time job in and of itself! Luckily, I have a few tips to provide that you will be able to leverage in your quest to stay up to date as a programmer.
Follow Influencers on Twitter
The first, and perhaps most passive way, to stay up to date in the field is to follow some of the more influential folks in your field on Twitter. For example, if you are a Rails developer, I'd recommend following @dhh and @yukihiro_matz, if you you're a Python developer then you should be following @gvanrossum, etc. If there is an author of a tech book that has had an influence on you, follow them!
That doesn't mean that you should restrict yourself to your own language, though! Also follow some industry thought leaders, start ups, really anyone. This will help you stay current on the happenings in the industry and keep you up to date on the absolute latest of news.
Read Books. Lots of Books.
As a software developer, you should never stop reading. Read books related to the language you work in, read books for languages you're interested in, read books about the practice of programming in general! If you're unsure of what to read, start with the classics such as Code Complete and The Pragmatic Programmer. Once you've made your way through those, I recommend searching for the highest rated literature that covers that new language you've heard so much about.
Read Hacker News
Hacker News is one of the closest things we have to a trade journal. Here you will find the latest news on start up culture, fellow developers showing off their latest side projects, and compelling discussions on the latest happenings in programming and technology in general.
In addition to the generality of Hacker News, also follow blogs that are more specific to your particular programming niche. For LISPers, a good example would be the Lambda the Ultimate blog.
Attend Conferences (or watch Tech Talks)
If you can swing it, I would highly recommend attending a developer conference or two in the niche of your choice. At conferences, not only will you attend talks and hear first hand the latest happenings in your field, but you will also have an excellent opportunity to network with like-minded individuals. When thousands of developers get together, it is truly a beautiful sight to behold.
If actually attending a conference is out of the question, I recommend doing the next best thing: watch conference talks. Thanks to sites like Confreaks (and YouTube in general), hundreds of tech talks are available for free online. So if you have a moment to spare, definitely watch a few!
Contribute to Stack Overflow
Sometimes at work it's easy to get in the doldrums of development and stagnate. For this reason it's important to participate in question and answer communities such as Stack Overflow to keep your skills sharp and to disseminate your knowledge. Plus, if you play your cards right, you can use your profile as a way to demonstrate your skills and further your own career.
Enroll in a MOOC
As developers, we are fortunate to have access to the best lecturers and courses from the comfort of our own desks. MOOCs, or massively open online courses, are available from sites like EdX, Coursera, and Udacity. They bring the benefits of a university education to your home and can be an excellent resource for continued learning.
Participate in a Programming Challenge or Hackathon
Programming challenges and hackathons can be the perfect opportunity to try out a new technology in a relatively low stakes environment. Plus, there's nothing like the pressure of a time limit to motivate you to work and succeed.
Programming challenges, like the Google Code Jam, can grant you the rare opportunity to test your skills against other developers and learn new techniques for solving problems. There's no better way to stay on top of your career than through the crucible of competition.
Work on a Side Project
Last, but not least, the single most important thing you can do to keep from stagnating is to work on a side project. Not just any side project will do, however. It's not good enough to just work on something that mirrors what you do every day at work. No, it's important to diversify. Do something completely different! If you are a Rails developer by trade, it's not going to be as useful for you to try and learn Django. Instead, why not try out the embedded world for once and work with a microcontroller? Or maybe even work through the SCIP book and play around with LISP!
Working on a side project can give you the deliberate practice necessary to reach the next level.
With a little bit of effort, the options above will enable you to keep up to date in the world of software develop.