持续学习
本文翻译自"Continuous Learning",来自于《97 Things Every Programmer Should Know》一书中的某个章节。
我们生活在一个引人入胜的时代。软件开发分布在全球各地,你知道那里有很多人可以胜任你的工作。你需要不断学习以保持你在市场上的竞争力。否则,你将变成一条恐龙,专心从事某一个工作,直到有一天,你不再被需要或者你的工作被外包给了其它更为廉价的开发人员。
那么,你对此该怎么办?一些雇主非常慷慨地提供培训,拓宽你的技能。其它雇主则根本无法抽出时间或提供任何培训经费。为了谨慎起见,你需要为自己的教育负责。
下面是一个让你保持持续学习的方法列表,其中许多可以在互联网上免费找到:
·阅读书籍、杂志、博客,订阅twitter种子,浏览互联网站点。如果你想深入了解某一主题,可考虑加入一个邮件列表或新闻组。
·如果你真想深入研究某种技术,抓住它 – 编写一些代码。
·尽量找到一名导师与你一同工作,因为成为最牛的人将阻碍你的教育。虽然从任何一个人身上你都可以学到一些东西,但是从那些比你更聪明更有经验的人那里,你可以学到更多。如果你找不到导师,那么请继续往下看。
·使用虚拟导师。在互联网上找到那些你真正喜欢的开发者和技术书籍的作者,阅读他们写的一切。订阅他们的博客。
·去了解你使用的框架和库。熟悉它们的工作原理可以让你知道如何更好的使用它们。如果它们是开源的,那你真是幸运。使用调试器单步调试这些代码,弄清楚在幕后发生的事情,你将看到由那些真正聪明的人编写和评审的代码。
·每当你犯了一个错误,修正了一个bug,或者遇到了一个问题时,设法真正理解所发生的事情。很可能其它人也遇到过相同的问题,并把它放在了互联网的某个角落里。这时Google就会变得十分有用了。
·学习东西的一个真正的好方法就是去教它或者讨论它。当人们打算去听你的演讲并向你咨询问题时,你就会动力十足的去学习。尝试在公司组织一次午餐学习会,或用户组,或一个本地会议。
·加入或启动一个学习小组或者一个你感兴趣的有关语言、技术或行为准则的本地用户组。
·参加会议。如果你无法参加,许多会议都会将现场演讲视频免费放到网上供下载。
·上下班路程过长? 听播客吧。
·曾经在代码库上运行过静态分析工具或者看到过IDE给出的警告吗?弄清楚他们报告的是什么以及为什么报告。
·遵照《程序员修炼之道》一书中的建议并且每年学习一门新语言。至少学习一门新技术或工具。扩展技术视野将给你带来新的想法,你可以将这些想法用到当前的技术栈上。
·不是你学到的所有一切都与技术相关。学习你正在从事的行业的领域知识,这样你可以更好的理解需求并且帮助解决业务问题。学会如何更加高效-如何更好的工作-是另外一个很好的选项。
·回到学校
拥有《黑客帝国》中尼奥所具有的能力将是多么好啊,只需简单地下载需要装入我们大脑的信息。但是我们没有这种能力,因此我们的学习需要一个时间保证。你无需醒着就去学习。每星期花一点时间就比什么不学要强。拥有(应该有)一个工作之外的生活。
技术日新月异,不要落在后面。
By Clint Shank
评论