对程序员来说,挑战自己很重要,没人甘心在创意或技术上停滞不前。犹他大学计算机教授Matt Might分享了他的年度计划(http://matt.might.net/articles/programmers-resolutions/),引发了很多人的共鸣。
1. 感受线下生活
当你感觉生活被网络束缚,所得渐渐变少时,请尝试对线下生活(例如烹饪、天文和木工)多投入一些精力,可能有意想不到的收获。
2. 保持健康
程序员时常久坐,这让我们容易受到一些特有的健康问题困扰,却又往往视而不见。用一个月时间养成一项健身习惯,也别忽视身体的警告。
3. 拥抱不适
在我二十出头时,曾经研究年长者为何有人不断进步,有人停滞不前?答案是“舒适”。我们习惯找到一个适合自己的系统就不再改变,但技术不是这样。
4. 学门新编程语言
只会一门编程语言将限制自己解决问题的范围,职业生涯也会少了一些选择。用一个月时间学一门新语言(如Racket、Haskell、OCaml)或新的编程范式吧。
5. 自动化
程序员身上最没有充分发挥的潜力是像在虚拟世界那样,让真实世界也实现自动化。试着用一个月的时间研究下机器人、Arduino,以及类似Insteon的系统是件有意思的事。
6. 学习数学
计算机科学的核心是数学法则,更好的数学技有助于成为更优秀的程序员。尝试系统学习一下逻辑、离散数学和统计学。
7. 关注安全
很少有程序员养成了良好的安全习惯,试着用密码管理器保存和生成密码,研究一年中影响最大的安全事故是怎样发生的。
8. 备份数据
每年都用一段时间检验你的备份策略,研究如何让这套系统成本更低,使用更便捷。对于关键文件要使用版本管理系统。
9. 学习新软件
为自己开发的软件增加创意的一个方式是,学习其他新软件。如果你没尝试过3D建模,那么可以学Blender;若你不会LaTeX,很值得尝试。
10. 完成一个个人项目
倘若你一直在为别人开发软件,那何不为自己也写一个呢?花一个月的时间完成它,然后把它开源。