我们生在一个有趣的时代。随着开发工作在全球分布,你很快就会意识到有无数的人都能胜任你当前的工作。你需要一直学习以保持市场竞争力,否则你会变得跟恐龙一样,陷入同一个工作直到某天你的工作变得无用或者被廉价的外包资源替代。
所以应该怎么应对呢?一些老板比较慷慨,会为员工提供技术培训以扩展员工工作技能。而其余大部分的老板可能给不出时间和金钱来培训员工。为了安全起见,你需要对自己的学习负责。
这里有一系列的方式来让你一直保持学习,绝大部分可以从网上免费获取到:
-
阅读书籍,杂志,博客和web站点。如果你想更深入学习一个主题,可考虑加入相关邮件列表和新闻组。
-
如果你真正想深入学习某一个技术,需要动手实践写代码。
-
要一直试着跟牛人工作,如果自己在一个组织中是顶尖的人,会阻碍你更进一步。虽然你能从身边任何人身上学到东西,但远远没有比从聪明的和经验丰富的人身上学的更多。如果你身边找不到牛人,那可以考虑换一份工作了。
-
可试着找虚拟的牛人。从网络上寻找你自己喜欢的开发者,阅读/学习他们做写的所有东西,订阅他们的博客。
-
深刻理解自己使用的框架和库的相关技术。 知道相关技术的实现原理有助于你更好的驾驭它。如果它们恰好是开源软件,那就很幸运了,使用debug调试代码学习底层是怎么实现的,能学到真正的高手是如何写代码和审查代码的。
-
当你开发中需要错误,解决了一个bug或遇到问题,应当尝试理解发生问题的根源。自己遇到的问题大概率其他人也遇到过,且将解决方案分享到了网络上。搜索引擎此时非常有用。
-
一个真正好的学习方法是教别人或说给其他人听。当其他人听你讲并提问时,你的学习积极性会很高。
-
参加学术研讨会,如果不能去,许多研讨会会将会议视频免费放到网络上。
-
长途通勤吗?充分利用这段时间听音频,看视频。
-
有用过静态代码分析工具或仔细看过IDE中的警告提示吗?要理解提示了什么并且原因是什么
-
遵从《程序员修炼之道》的建议并且每年学习一门新的语言。至少学一个新技术或工具。不同的分支能给你当前工作栈提供新的思路。
-
并非都只学技术相关的东西,学习你工作相关领域的东西有助于理解需求和解决业务问题。学习如何提高效率,如何工作的更好也是不错的选项。
-
重新回到学校深造
小结
持续学习(Continous Learning) 是当前开发者立于不败之地的制胜法宝。你不需要花光每一点空闲时间,每周抽一点时间学习就比什么都不做强多了。