If you’re a serious developer/programmer/hacker you need goals. Lots of goals. Goals that evolve often. Far too many programmers get into “The Rut”, and they become satisfied with what they know. This is a bad thing. Great programmers are always learning new things, and goals help with this, regardless of what the goals are. You should have goals that you have to work for, but that you can still obtain so you don’t feel like you’re striving for the impossible (Although you technically are).
Here are some example goals:
- I want to master Emacs and Vim, popular and powerful editors with drastically different syntax
- Learn 1 new language every year (You can never learn too many, read below)
- I want to earn half of the badges on StackExchange (Such as wonderful resource)
Learning a new language every year should probably be a goal for every programmer, because even if you don’t use that language very often, you’ll gain new perspective you wouldn’t otherwise have. You might discover a new, better way to do something in the language you DO use every day, and it will open doors that would normally be closed.
Also, I have always thought, and will continue to think that writing about programming is very helpful and one of the best ways to learn new things (The best way is of course to read other people’s writing/write code).