/ css

Keeping Up To Date

As a developer, I often hear that developers need to keep up to date with new technologies. They need to be continuously learning new things. For a lot of people, this seems to raise a few questions, the most common of which seem to be: why, when, and how?

These are all very valid questions, and I honestly haven't really thought about deep seeded answers to them, which is actually why I'm writing this post. Although I personally do try to learn new things, and I tell my co-workers that they should too, I've never really thought about why, how, or when this should be done.

Why Upgrade?

There are several reasons to upgrade your skills. First, let's consider your job. If you're working for an agency, it makes sense that you keep up to date in order to offer your clients cutting edge technologies. What if you develop internal, or proprietary systems? Your users still deserve the best experience you can give them. And your managers deserve to have you work as efficiently and effectively as possible. So, why not try something like Grunt for automating tasks, or Vagrant to maintain development environments? Sure, there is likely still a need for "the way we've always done it", but why not push that? Why not consider there might be (and likely is) a better way?

If not for your work, do it for yourself. Maybe you aren't in a position to implement new technologies or ideas in the workplace, sometimes it's just too hard tom institute that kind of change. But that doesn't mean there aren't benefits to learning new things. First of all, if you're stuck doing the same old thing day in and day out, you can get really bored. You start losing your creativity. You will actually find it harder to solve problems when the do arise, because you've spent so much time thinking inside such a narrow box. If you ever want to move beyond that position of doing the same old thing, you'll need these new skills at any place outside of where you currently work.

Typically new technologies emerge for a reason. They don't just exist for the sake of existing. They are created to solve problems. Maybe the problem they solve isn't one you've encountered, or one that stops everything from working, but what if the technology just makes things better? Embrace that! It keeps your brain moving, and it makes you significantly more valuable to any employer.

When to learn?

It seems this is a touchy subject for some people. Managers obviously want you to learn on your own time, but developers often seem reluctant to learn something on there time, if it's something that is required for their job. So, when should you learn? YES.

Learning on your time

Why are you a developer? I would assume you are a developer because you like to write code, or build interfaces, or do whatever it is you do. Why would you want to be stuck with the same old thing? It's likely a comfort issue or something, but that's all the more reason to learn on your time. Get excited about development again. Find whatever it is that lead you down this path in the first place, and find that spark again. You should love learning new things! Make time to do it! Take this time to develop your own pet project. Think of something you want to do (please, not another to-do app), and build it in a language you've never used. Or with a framework you're unfamiliar with. You'll learn something new, and possibly solve a problem for yourself.

Learn on someone else's time

Learning at work is a great thing to do! Even in the most dynamic environment, it's still easy to become "the expert" in one particular area, or on one particular system and totally miss out on new technologies. Don't let this happen, push to be part of new projects, or work to apply new technologies to your existing projects. I firmly believe that managers should a lot time to developers learning new things. Especially if that thing is something new to the company, or new to the project. Take time to experiment. Get training. Maybe there isn't a budget available for training courses or conference, but set up internal training sessions with other developers. This is incredibly important if the technology is new to the company or project. For example, the company I work for first built there site in 1995. A few years later, they hired a developer who is still with us today. When she started, JavaScript wasn't something used commonly on websites, and was certainly a lot different where it was being used. She deserves the time, at work, to advance those skills.

How to keep up to date?

There are a lot of ways to keep up with changes. Depending on your situation, these may not all work, but I'm sure something will!

First, I say get on Twitter. Find a hashtag that fits what you're interested in, or something you know about already. Maybe that's #frontenddev, or #javascript. In there you'll find blog posts, questions, tutorials, all sorts of things. Find a tutorial and try it. If you come across something you haven't heard of yet, focus on that for awhile. Subscribe to newsletters and blogs. Read as much as you can, and find as many tutorials as you can. When you find these posts on Twitter, follow that user! They (along with their followers) can provide a wealth of valuable resources.

Attend conferences! This can be tough. They can be costly, but are incredibly valuable. If the content of the conference is applicable at work, ask your employer to either cover your expenses, or at the very least split them with you. Thousands of developers attend conference to share ideas, thoughts, and experiences, and to learn from others. You will hear discussions on best practices, standards, and trends. It's a great way to meet people who do what you do.

Find Courses - Personally, I prefer to learn through tutorials, reading, experimenting, and discussions (like at conferences). But if that doesn't work for whatever reason, try your local college. See if there is a night school course available. Ideally this would be something that helps you at work, but really, anything is better than learning nothing!

Keep your brain working, keep your skills valuable, and have fun.