分类:
2010-02-22 16:53:44
——译自《97 Things Every Programmer Should Know》
之《Continuous Learning》
作者:Clint Shank
我们生活在一个有趣的时代。由于软件开发遍布全球,你得知有很多人有能力做你的工作。你需要学习去继续保留市场。否则你将变成恐龙(落伍),卡在一棵树上,直到某天,不再需要你,或者你的工作可以外包成更廉价的资源。
因此你该怎样做呢?有些雇主很慷慨的提供足够的培训扩展你的技能。其他的可能根本花不起时间或金钱在任何培训。为谨慎行事,你需要为你自己的培养负责。
这里有一个让你保持学习的方式的清单,很多都可以在网上免费得到:
· 阅读书籍、杂志、博客、Twitter和网页。如果你想深入到某个主题,可以考虑加入一个邮件列表(mailing list)或新闻组。
· 如果你真的想专注于技术,腾出手来——写代码。
· 一直尝试和有经验的人合作,因为如果你在说处的团队中最牛,可能会阻碍你的学习。尽管你可以从其他人身上学到一些东西,你可以从精明能干者发现比你多得多的经验。如果你不能找到一个有经验的指导者,考虑走人。
· 使用虚拟的指导者。在网上找一些你喜欢读的文章的作者或开发者,订阅他们的博客。
· 去了解你所使用的框架和库。了解某些事物怎样工作会让你知道怎样更好的使用它。如果它们是开源的,那么你很幸运。使用调试器单步遍历代码,看看底层发生了什么。你将看到已经由一些聪明的家伙写好并检查过的代码。
· 无论何时你犯了错误、修复一个bug或运行到有问题的地方,尝试理解到底发生了什么。可能某些其他人已经碰到同样的问题,会把它放到网上。在这里,Google真的很有用。
· 一个好的学习事物的方式就是去教别人或者讲给别人听。当别人从你那听到,并向你提问,你也会更理解它。尝试加入一个launch-‘n’-learn、用户组或当地的会议。
· 加入或发起一个学习小组(模范团体)或者一个本地的用户组,为一种你感兴趣的语言、技术或学科。
· 参加研讨会。就算你不能去,很多研讨会会把他们所谈论的免费放到网上。
· 路途遥远?看视频。
· 曾经在代码库上运行静态分析工具,或者看到你的开发环境的警告?理解他们报告了什么和为什么会这样。
· 听从实用主义程序员的建议,并每年了解一门新的语言。至少了解一个新的技术或工具。扩大在你当前所了解技术中,你可以使用的新的观点。
· 不是你知道的每样事物一定与技术相关。去了解你所从事的领域,这样你可以更好的理解需求,并帮助解决商业问题。了解怎样是更有成效的——怎样工作更好——也是一个不错的选择。
· 回到学校。
如果有像黑客帝国中Neo的能力可能会更美好,简单的把我们需要的信息下载到我们的大脑。但我们不能,所以我们需要花时间来担负这个责任。你不必把所有醒着的时间都花在学习上。一点时间——我要说,每周——总比不花时间好。这是(或者应该成为)工作之外的生活。
技术日新月异,不要被时代遗弃。