《程序员应该知道的97件事》——不断学习
读书感悟
你需要不断学习,才能保持自己的“市场号召力”。否则,你会变成恐龙,在一个职位上日复一日,直到有一天,你不再被需要,或者你的工作被外包给了某个更便宜的机构。
为了保险起见,你需要为你自己的教育负起责任。
以下列出了一些学习途径,它们中的大多数可以在互联网上免费获得。
- 阅读书籍、杂志、博客、推特消息和网站。如果你深入某个主题,可以考虑加入一个邮件列表或新闻组。
- 如果你真的想沉浸在一项技术中,那就亲自动手编写一些代码。
- 尽量为自己找一个导师(mentor)。如果自己就是最厉害的家伙,那会阻碍你的修习之路。虽然你可以从其他人身上学到点什么,但是在那些更聪明、经验更丰富的人身上,你能学到更多。如果找不到导师,就换一个地方。
- 要会利用虚拟导师。如果你真的喜欢阅读Web上某个作者或者开发人员写的东西,那就在他们的博客上注册一个账号。
- 了解你使用的框架和库。懂得他们的运作方式,会使你用得更好。如果它们是开源的,那你真是太走运了。用调试器在代码里一步追踪,看看底层是怎么运作的。你会看到某些真正聪明人写下或审查过的代码。
- 当你犯错时,或者修复一个bug时,或者遇到问题时,试着真正去了解到底发生了什么。也许有人遇到过同样的问题,并把解决办法贴在网站了。在这里Google就能发挥作用了。
- 学习某样东西的一个很好的方法是教授它或谈论它。当人们准备来倾听你的讲述,问你问题的时候,会极大地激发起你的学习积极性。可以尝试一下工作中的午餐学习会、用户组或小范围的讨论会。
- 加入或开创一个学习小组(也叫模式社区),或者一个学习语言、技术或任何你感兴趣东西的本地用户组。
- 参加讨论会。如果你去不成,许多讨论会也会把它们的会议记录放在网上,免费使用。
- 通勤时间长?那就收听播客。
- 在代码库上运行过静态分析工具吧?或者见过IDE上冒出的警告信息吧?吃透它们报告的内容,以及为什么会出现这些信息。
- 遵照《程序员的修炼之道》(“Pragmatic Programmer”)里的建议,每年学习一门新的语言,至少要学用一门新的技术或工具。这可以帮你拓宽新思路,充实你当前的技术储备。
- 你学的东西不一定跟技术相关。学习所从事领域的知识可以让你更好地理解需求,更快地解决业务问题。另一项不错的选择是学习如何提高生产力——如何做得更好。
- 回到学校去。