共计 977 个字符,预计需要花费 3 分钟才能阅读完成。
近日,来自 Stripe 的程序员 Julia Evans 在 Twitter 上问了一个问题:“你们是如何进行自我学习的?”很多人给出了他们的答复,总结起来就是浏览博客、加入技术大会、读书、利用空闲工夫观看演讲视频、应用感兴趣的技术开发实验性我的项目等。
有意思的是,这些事件简直都产生在工作之外,而且置信很多人也是这么做的。但问题是,为什么有些十分优良的程序员并没有在工作之余做这些事件,或者至多没有常常这么做,但依然不影响他们成为大神级人物呢?带着这个问题,Julia 在 Twitter 上与人们开展了交换,最初总结了以下几点。
第一,在工作中学习编程语言和框架。以 Julia 为例,她在工作中须要用到 Go 语言,她也很喜爱 Go,只是她并不想破费太多集体工夫,因为她感觉本人齐全能够在工作中通过编写代码,浏览他人的代码,让他人审查她的代码等形式来学习 Go。虽说在工作之外学习编程语言不是什么好事,但既然能够在工作中更高效地学习,那为什么不间接这么做呢?
第二,抉择能够从中学到货色的我的项目。Julia 在过来三年学到了很多货色,比方 Scala、Ruby、Go、Hadoop、Java 并发编程、Java 诊断、AWS、网络、容器、服务发现等。人们常常会说:“咱们应用了某某技术,你须要具备这些方面的教训能力胜任这份工作。”但实际上,Julia 在把握这些技术和常识之前,都没有接触过这些货色。所以,在一开始你不肯定要是某方面的高手,然而你要学会成为高手,抉择那些能够从中学到货色的我的项目。
第三,向高手学习。当 Julia 遇到高手时,就会察看他们是怎么做事件的,而后模拟他们,或者向他们求教。当她开始独立负责新的我的项目时,就会谨记前辈们的教诲,让我的项目停顿得更加顺畅。
第四,查看每一个 Pull Request。查看他人的 PR 也是很有帮忙的,通过跟踪这些 PR 能够晓得他人在做什么,以及他们是如何解决问题的。
第五,浏览源代码。浏览源代码是一个十分重要的学习路径,很多零碎并没有齐备的文档,如果不浏览源码就很难搞分明外部的细节。浏览源码能够理解它们外部的原理是什么,以及为什么要那么实现。
第六,跟踪你无奈修复的 bug。有时候,你面对 bug 时会大刀阔斧,当他人把问题解决掉之后,你会急不可待地想晓得他们是怎么做到的,在当前碰到相似问题的时候就晓得该怎么解决了。
文章起源:极客工夫《极客视点》