声明:此文乃本人转载,并非milkymiao本人,献给那些有共鸣的童鞋们。
我相信激励是非常重要的。这也是为什么我常常把时间管理(这些书激励我不管改进我的时间管理方法)的书和软件开发拿出来看看。我最近刚看完一本 书,“Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman”。这本书推动我仔细的思考我应该把时间花在哪里。
巧合的是最近是我25岁生日,也即将是新的一年。所有这一切都推动着我整理自己的技能,并制定下一年的学习计划。
我把它写到博客里面也是那本书的作者建议。我觉得这个建议非常好。和所有人分享你的计划,会让你更有动力去完成它!
那本书的作者建议,制作一张图表,列出你所有的技能,然后评估他们。有这样一张图表你就非常清楚你下面将要学习什么。
我把所有的技能分成四组。其中两组是非常实用的,包含了我日常用到的技术。其他的两组是一些软件开发的基础知识,计算机科学的理论等等。我要说明的是,我 并没有做非常严格的调查,这个图表也不是我这些年积累的所有技能。这个图表的目的并不是让你对自己所有的知识列一张详细的表,而是让你自己对自己的专业技 能有一个全局的了解。我对技能打分为1-5,1分就是了解,但是没有实际操作过。5分就是非常熟练的掌握。
当我第一次看到这张表时,我意识到我的计算机理论是这么差。我也意识到我欠缺unix技能。还有,我发现我在使用ruby的时候,没有使用java和groovy的时候爽。我也也许应该在ruby上多花点时间,让它达到5分。
阅读列表
在我看来,书是最有效的获取任何一个领域知识的途径。你可以看视频,阅读博客,但是你的知识是很分散的,直到你阅读了这个领域的一本好书。我有一个建议, 那就是交替阅读技能书籍和基础书籍。阅读经典的基础书籍从长远来看一定会大有裨益。但你也不能停止学习新的技能,也许你明天就能用上。
根据我的技能图表,我决定阅读“Rails AntiPatterns”这本书。而计算机科学的基础知识我打算通过阅读“Types and Programming Languages”来提高。
也许你会觉得我没有必要做这个知识图表,因为不用这个图表我也可以做相同的决定。这很有可能,但是这个图表给了我做这个决定一个清晰的理由。
现在就尝试!
所有这些工作大约只需要花费你30分钟时间,而你将有可能成为一个更好的程序员。