Our technology world is spinning faster, and sometimes trying to figure out what you need to do to stay relevant to employers and to continue to enjoy being a developer is difficult. It seems like every day there's a new release of a language, library, or technology that you need to know to be at the top of your game. With that in mind, here are six things that you can do to stay current.
1. Protect Your Passion
You became a developer for a reason. You're good because you love it—or at least you did at one time. If you want to be a great developer, you have to maintain or regain your passion for the craft. This can mean developing a game in Unity "just because." It can mean developing an Internet controlled toaster with a Raspberry Pi II.
The point isn't what you do to have fun with your development again—the point is to have fun. The best developers are those who've got a passion for their craft. If you've got it, keep it. If you've lost it, find it.
2. The Internet Is Not a Fad and Neither Is Client Side Programming
What would it look like to take publicly accessible data and map it or connect it to other data and display the results? Would it help you realize that much of the heavy lifting for user interfaces has already been done for you?
3. Devices are the Devil—Respond with Responsive
It used to be that we designed for one form factor, and it was a desktop PC. We knew exactly what resolution that users would be using because they all used 800x600. Our dialogs didn't resize and battleship gray was the color. Today, we're confronted with a wide array of devices with screens that are watch sized to computers with multiple monitors. Tablets are a new first class citizen that require different design approaches. Every developer needs to learn to think about their user interface as a flowable set of blocks that can be shifted as the device parameters change.
Responsive design principles—like thinking of blocks of flowable content—allow your applications to work across desktops, tablets, phones, and even watches. So, take a step to build an application that works beautifully on every device you have.
4. Tinker with the Internet of Things
It used to be that embedded programming was a specialty that was done by developers who knew assembly language, C, and the arcane rules of real-time development. However, the introduction of new platforms, better connectivity, and the economics of powerful computers in small packages, there are opportunities for all developers in creating tools for home automation, monitoring, home entertainment, and more. By tinkering with these solutions in your own home, you build practical skills that can be useful to both consumer and commercial companies.
These are the same skills that manufacturers can use to build more intelligence into their machinery and monitoring to get better efficiency out of the equipment they already have. They're also the same skills that can create ambient awareness solutions based on data we already have—like a solution to roll up your windows because a storm is coming. How many of your co-workers would have appreciated that?
5. Train Yourself
The technology world is moving faster, but the available training is getting better, too. There are numerous free resources that you can se to increase your knowledge of a new technology. From Channel 9 (http://ch9.msdn.com) to Microsoft Virtual Academy (http://www.MicrosoftVirtualAcademy.com) and other free resources to paid offerings like PluralSight, Udemy, and Lynda.com, you don't have to wait for a class to learn something new. You can learn from experts from the comfort of your home or office. Offerings from PluralSight and Lynda.com offer an all-you-can-eat-buffet of content for one monthly or yearly fee.
Challenge yourself to learn something new with one of the free resources. Whether it's more about TCP/IP networking or F# there's always something you could know more about and the training you need is waiting on you.
6. Have Fun with Failure
As developers, we sometimes forget that we're experts at failure. Ever since our first Hello World application, we've been failing repeatedly so that we can succeed. Failure isn't an option—failure is a way of life. We've learned to keep working on something until we've been able to convert a failure into a success. In today's world, it is more important than ever to try new things and to develop diversity in our thinking. That might be learning a new language or platform. It might be building an application to create a tag cloud of Facebook posts. The goal isn't really what you're doing. The goal is that you're trying something—and allowing it to fail.
Bringing It Together
Our world has changed some in the last 30 years, but in other ways it stays the same. The names have changed but the principles are still sound. When you explore new avenues and retain a deep passion for the craft that you love, you'll remain relevant in your career. You'll get the better jobs and assignments. The biggest risk to any developer is to forget why they love development in the first place.