掌握学习方法,成为技术大牛
上篇《为什么很多程序员,成为不了技术大牛?》中,介绍了一个核心认知:工作任务,是公司给了你一个练手的机会。并介绍了知识点扩展学习的方法。
本文继续分享成为技术大牛的学习成长方法。
方法 2:动手实践
编程,是一门实践课。各种知识点、设计模式、思想,都是要经过大量代码编写实践的过程才能熟练掌握、并且需要长时间积累和深入思考才能融会贯通的。因此,新学到的知识点,一定要马上动手写程序进行实际验证,并且在工作任务完成过程中一定要强迫自己使用新学到的技术进行代码实现,在实现的过程中反复体会这个新技术带来了哪些好处?是代码行数变少了,还是减少了内存占用,或是运行速度提高了?这个技术,是解决这个问题的最好方式吗?
经过实践后,这些知识点会被充分理解,达到信手拈来的程度。
方法 3:举一反三
当你已经能够顺利实现给定的需求后,再自己把需求或设计变化一下,提高实现难度,再次进行实现。
比如,之前是通过在栈上静态分配一块大内存来实现的,如果输入数据量没法预先确定大小,那么用动态内存分配的方式,如何实现?
比如,之前是通过数组来实现的,现在换成双向链表,如何实现?
再比如,之前是单线程实现的,如果换成多线程,如何实现?
......
这样,就能够构造出多种场景,用更强大的技术来满足更苛刻的需求场景。
以上介绍的三种方法,都是以自己的工作任务为牵引,在实现这个工作任务的过程中,可以采用的学习方法。
另外,我们还可以通过其它途径来学习和提升自己:
1. 通过别人的工作任务来学习:
通常一个团队中,大家会分工协作,各自负责一部分,相互之间有接口调用关系。平时会有周例会或者专题会,进行任务汇报或问题讨论。这些场合中,当别人汇报工作时,一定要认真听,理解清楚人家正在做的任务是什么,有什么要求,遇到了什么问题,他是怎么解决的。并思考,如果是自己来做,自己会不会做?会怎么做?自己实现的方案,与人家相比,是好一些还是差一些?
通过这些聆听和思考,会让你能迅速掌握整个团队要做的产品全貌,并对各个部分的技术实现都有清晰的理解,实现技术层次的飞快成长。
常见的思维误区是,自己只关心自己的工作内容,对别人的工作内容并不关心,会议过程中别人汇报时自己就分神看手机,白白浪费了大好的学习机会。
2. 通过阅读代码来学习:
通常一个项目,程序员认为没有挑战、没有技术成长,是因为采用了一些成熟的框架、组件或库,这些项目中只需要程序员调用这些框架组件,编写上层的 CRUD 这类简单的代码就可以了。这种情况下,程序员可以通过阅读这些框架、组件、库的源代码,搞懂这些底层是如何实现的。这些框架组件库的代码规模巨大,复杂度极高,技术含金量极高。可以先从其中的某一个小部分入手,逐步来研读。这样,你还会认为没有技术挑战吗?还会认为没有技术成长吗?
如果大家能够把上述的方法,应用到自己的实践工作过程中,我相信每天你都会收获满满,每天都会感受到成长。
不知不觉地,你就已经是你团队中的大牛了!
版权声明: 本文为 InfoQ 作者【实力程序员】的原创文章。
原文链接:【http://xie.infoq.cn/article/e09b1a95f63abf06fd0b990b7】。文章转载请联系作者。
评论