It's important for programmers to challenge themselves, and no one is willing to stand up for creativity or technology. A computer professor at the University of Utah, Matt might, shared his annual plan (http://matt.might.net/articles/programmers-resolutions/), sparking a chord with many people.
1. Feel the Offline life
When you feel that your life is tied to the Internet and your income is getting smaller, try to put some effort into offline life (e.g. cooking, astronomy, and carpentry), and you may have unexpected gains.
2. Keep Healthy
Programmers often sit for a long time, which makes us vulnerable to some peculiar health problems, but often ignores them. Take one months to develop a fitness habit, and don't neglect the body's warnings.
3. Hug Discomfort
When I was in my early 20, I studied why some people in the elderly have made progress and people have stagnated. The answer is "comfort". We are used to finding a system that suits us no longer, but technology is not.
4. Learning Gate New programming language
Only one programming language will limit the scope of the problem, and there will be fewer choices in your career. Take one months to learn a new language (such as racket, Haskell, OCaml) or a new programming paradigm.
5. Automation
The most untapped potential for programmers is to automate the real world, as in the virtual world. It is interesting to try to study robots, Arduino, and similar insteon systems in one months ' time.
6. Learning Maths
The core of computer science is the law of mathematics, and better mathematics helps to be a better programmer. Try the system to learn logic, discrete mathematics, and statistics.
7. Focus on security
Few programmers develop good security habits, try to save and generate passwords with a password manager, and study how the biggest security incidents of the year are happening.
8. Backing up data
Test your backup strategy for a period of time every year and study how to make the system less expensive and easier to use. Use a version management system for critical files.
9. Learn new software
One way to add creativity to your own software is to learn about other new software. If you haven't tried 3D modeling, then you can learn blender; If you don't have latex, it's worth trying.
10. Complete a personal project
If you have been developing software for others, why not write one for yourself? Take one months to finish it and then open it up.
Programmer's Annual Plan