Learn a new language every year

Motivation

Each programming language is different. There are the obvious differences in language family, such as Object Oriented or Functional, but even within families, the differences are large: Objective C looks nothing like Java and the difference goes well beyond the superficial. Every programming language you learn teaches you new ways of reasoning about the task at hand. This experience carries over into other programming language, strengthening your ability in all of them. And it's fun!

Application

To learn a language, you need to go beyond "Hello, World!", but rewriting your day job from scratch may be a bit optimistic. Build Conway's game of life or a Sudoku solver. Build a TODO tracker or Twitter client. Contribute to an open source project.

The Xebia Essentials Cards

This page is part of the Xebia Essentials, a pack of flash cards about Software Development Done Right. You can get your own deck of Essentials cards in the Xebia store.