程序猿加油站 -- 不是人人都懂的学习要点
转载自酷勤网,原文链接:http://www.kuqin.com/pragmatic/20121030/333066.html
学习是一种基础性的能力。然而。“吾生也有涯,而知也无涯。
”。假设学习不注意方法,则会“以有涯随无涯,殆矣”。
一.学习也是一种能力
看到这个标题,有人会说:“学习。谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候。什么也不知道,是一张真正的白纸。我们靠学习的本能,学会了走路、说话、穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里。我们掌握的知识越来越多,与此同一时候,我们学习能力却好像越来越差了。习惯了被别人喂饱。似乎忘记了怎么来喂自己了。
学习本来仅仅是一种本能,算不上什么能力,然而。经过二十多年的不断学习,学习反而成为了一种真正的能力,由于我们慢慢失去了它,它就更显得珍贵。
在学校里我们基本上被动式学习,然而走出了象牙塔之后,不会再有人对你负责,不会有人主动教你。我们须要主动的学习。
所谓的学习能力。事实上就是自主学习的能力。
几年前。曾有一本风靡管理界的书。叫《第五项修炼》,这本书倡导建立学习型组织,由于从长远来看,一个组织唯一可持续的竞争优秀,就是比竞争对手更快更好的学习能力。
一个公司如此。一个人又何尝不是如此?众所周知如今是一个知识爆炸的时候代。知识更新非常快。
据说,一个大学毕业生所学习到的知识,在毕业之后的2年内。有效的只是剩下5%。更何况我们的学校与社会须要严重脱轨。我们赖以立足的,不在于我们如今掌握了多少知识。而是我们有多强的学习能力!
学习不但是一种能力,并且是一种至关重要的能力,而这样的能力的核心,就是学习的方法和心态。
二.买书是最划算的投资
古人云:“书中自有黄金屋,书中自的颜如玉。”这说明先贤们早就认识到,买书是最划算的投资了。
当我刚出道的时候,拿着非常微薄的工资,有一次我向主管抱怨道:“如今的书真贵啊,这点工资连饭都吃不起,更别说买书了。”主管对我说:“不要吝惜买书的钱。宁可忍着不吃饭,也不要忍着不买书,由于买书是回报率的最高的投资了。”
主管的话让我非常震动。后来。我看到喜欢的书时,再有没有手软过。我不断的学习,开发能力也不断的提高,工资水平也获得了大幅度的提高。
一年后,我一个月工资的涨幅,就足够买两年的书了。你说。还有比这更划算的投资吗?
一本书。哪怕仅仅有一页纸是实用的,它将所产生的潜在价值。也会远远超过书本身的价格。当然,书不在多,能踏踏实实消化掉一本好书,可能比泛泛而读10本普通书,要更有价值得多。
三.多读经典书
十年前,我刚进入IT行业的时候,真是求知渴,每星期都要往购书中心跑,可惜的是。那时给程序猿看的书不像如今这么多。高质量的书就更少了。
当时我印象中比較经典的书籍就是《Windows程序设计》、《COM本质论》、《Java编程思想》。还有就是谭浩强的《C语言程序设计》。其它充斥书架的。就是相似于《21天精通XXX》、《XXX从入门到精通》、《XX宝典》这样的书籍。
回首往昔,令我比較郁闷的一件事就是在我最有学习动力的时候,看的高质量的书籍太少,就好像是在长身体的时候,天天吃的是没营养的泡面。当然,这跟没有人指导也有非常大的关系,独自一个人学习。让我走了非常多的弯路。
软件开发方面的书籍,我大致将其分为三类:
(1)浅显的入门类书籍。
这类书的标题往往是《XX天精通XXX》、《XXX从入门到精通》、《XX开发实战》等。这类书往往从软件的安装讲起。喜欢翻译帮助文件。有人批评这类书为烂书、毫无价值,这并不公平。
至少我本人。也曾从这些书中学到一些东西。
即使是21天系列书,也有适合看的人群。仅仅只是。它一般也就仅仅能看21天而已,过后就能够扔到垃圾堆。这类书仅仅适于还没有入门的刚開始学习的人。从中学到一些入门的招式。这样的书在刚起步的时候一般买上一本就能够了。
假设你善于使用搜索引擎。这一本书也能够省了。
(2)国内外高手写的实战类书籍。
这类书实战性非常强,把技术及原理讲得非常透彻。比方《windows环境下32位汇编语言程序设计》、《深入解析MFC》、《Delphi深度探索》、《深入浅出WPF》、《深入剖析Asp.net组件设计》等。以前这类书都是从国外翻译或从台湾引进。如今国内高手越来越多,出自国内作者的也越来越多。这类书假设在你学习的每一个方向看个两三本,并且通过实践消化掉,那么毫无疑问。你会成为一个优秀的程序猿。
(3)国外大牛写的、揭露本质、有丰富思想的书。
这类书就是所谓的经典书了,比如《代码大全》、《编程珠玑》、《设计模式》、《重构》、《代码整洁之道》等。经典书就像一个有深度、有思想的朋友,他会给你启示、每次阅读都会有新的收获,这类书具有真正的收藏价值。看经典书永远是正确的选择,它绝不会浪费你的时间,由于经典书是无数人沙里淘金、帮你挑选过的结果。
然而,阅读这类书并非一件easy的事情,读者须要有丰富的开发经验,才干与作者产生共鸣。真正能消化经典书的人事实上不多,这就好像饮酒。一个新手不管怎样也品不出葡萄美酒的醇香。
在酒桌上,人人都把杯中酒一饮而尽,当有人点评“这个酒不错”的时候,我仅仅能无奈的苦笑一番。真的是甘苦自知。
假设一本经典书你看得非常辛苦,非常有可能就是由于你功力未够。这样的情况下不要着急,慢点来,最好还是先将其先束之高阁,多看看第二类实战型书籍,过一段时间再回头来看,或许你会有新的惊喜。
四.不要在上班时间看书
一个善于学习的人,首先要善于利用一切时间来学习。不知是伟大的雷锋叔叔还是鲁迅爷爷以前说过:“时间就像海绵里的水,仅仅要愿挤,总还是有的。”然而,当我们从上班时间中挤时间学习时。就千万要注意了。不要在上班时间看书!
上班时间看书不但是一件非常敏感的事情,并且非常吸引眼球,非常快就会引起周遭的不爽。
首先老板心里不爽,他想:“我给你钱是让你来工作的,不是来学习的!”。其次同事们也不爽:“我们工作都做不完,瞧。这小子真闲哪!”用不了多久。你就会成为被众人排斥的异类。
当然,你可能会说,“我工作已经做完了,经理没有安排,当然能够学习了”,事实上不然。你完毕了一件事情。不等于全部的事情都完毕了。一个优秀的员工,应该是主动要工作,而不是被动的等工作。
工作完毕以后,你至少还能够:
(1)主动汇报给你的经理,请他来检查你的成果。并安排新的任务。
(2)假设公司这一段时间确实比較闲,没有什么详细的任务。能够进行代码重构、优化;
(3)你还能够主动请缨,承担额外的工作或更艰巨的任务。
(4)假设一定要学习。也仅仅能对着电脑屏幕来学习,纸质书最多仅仅能拿来翻阅一下。而不能一直捧着。以免影响到其它人的情绪。
五、仅仅学习与工作相关的东西
我曾发现不少程序猿在学习方面找不到方向。一会学学C#,一会学学Java,看了最新的编程语言排行榜。又认为该学C++。这样左抓抓,右挠挠。仅仅会让你认为更痒。
学习最忌三心二意。俗话说:“伤其十指不如断其一指”。每门都学一点。还不如专心学好一个方向。
这个道理谁都懂,但是又该学哪个方向呢?难道仅仅能跟着感觉走吗?
不!
最实际的方向,应该跟着工作走,工作须要什么。我们就学什么。把工作须要的技能熟练掌握。我们为什么要学习和工作弱相关的东西呢?是为了转行或跳槽吗?但是,假设我们连如今本职工作都不能做好。又怎么能保证到新的岗位、用新学的技能就能够做得更好呢?
学习与工作须要的的东西,有非常多优点:
首先,能够集中精力,在某一方面钻研得更加深入。
所谓“百招会不如一招绝”,有了绝招。你还怕不能在“武林”立足吗?《天龙八部》中的慕容复武功博学无比,最后还不是被仅仅会一招六脉神剑的段誉打得落花流水?
其次,能够学得更快、更深入,由于学习更具有针对性,并且能够立即在工作中运用,能够立即检验出学习的效果,对存在的问题能够进行深入的研究,因此掌握的知识也会更加的坚固。
第三,学习与工作结合在一起,工作时间也就成了学习时间。这样突破了三个8小的限制。
有人说,我们每天全部拥有的时间能够分为三个8小时,工作8小时,睡觉8小时,另外还有8小时自己能够自由支配的时间。
工作和睡觉的两个8小时大家都一样。决定人生高度的是另外这个8小时。
当我们把学习的焦点放到与工作相关的知识上时,工作时间中的非常大一部分,同一时候也就成了宝贵的学习时间。这真是一举两得的美事啊。
六.织网式的学习
知识的广度和深度都非常重要。作为一个程序猿。深入把握技术细节,是写出优质代码的保证。
但对于一个项目经理而言。知识的广度更显重要。项目中碰到的问题往往是综合性的。仅仅有具有广博的知识,才干高速的对问题进行分析和定位。
在程序猿通往项目经理的道路上。我们必须有意识的扩大自己的知识面,形成更完好的知识体系。
每一个人的知识体系就好比是一张网,我们学习事实上就是要织这样一张网。
我曾看过渔网的编织过程。渔网虽大。也是一个结点起步,一个点一个点的编出来的。编织的过程中。始终仅仅有一根主线。
学习又何尝不是这样。知识体系的大网也是由很多小的结点组成,要结这样一张网。仅仅能由一个点起步。牵住一条主线,织出一个个的点。由点带出面,最后才干形成这张大网。
我以前编写过一个网络信息採集软件,这个软件能够从具有列表页站点中按字段设置採集信息,支持自己定义字段、页面多级关联、下载附件、支持多种数据库、可视化定义等特性。
刚開始时。认为这个软件也是一个比較大的功能点而已。后来发现这个不起眼的功能关联着大量的知识点,在开发过程中,我顺藤摸瓜。各个击破,对非常多知识点进行了仔细的学习研究,软件开发完毕后,个人的知识体系网也进一步得到了补充和完好。
图1由知识点形成知识网
七.问题是最好的学习机会
日本经营之神松下幸之助以前说过:“工作就是不断发现问题、分析问题、终于解决这个问题的一个过程,晋升之门将永远为那些随时解决这个问题的人敞开着。
”可见。工作过程中有问题是正常,没有问题那才是真正的问题。
在发生故障能时。能勇于面对问题、解决这个问题的人,才是公司真正的核心骨干。
现实中,非常多人总是千方百计回避问题,当上司安排一项艰巨的任务时。也是想尽办法推托。殊不知,对于个人而言,事实上问题是最好的学习机会。往往那些愿意接受困难工作的人。能力会变得越来越强,那就是由于他们在克服困难的过程中取得了巨大的进步。
有一次,一位项目经理对我说:“有一个问题,客户有一台HPserver要装磁盘阵列,没人会做。怎么办啊?”
“能够学啊。没有人愿意去吗?”
“我都问了,没人想去。”
“哦,正好明天我有时间,我也没装过磁盘阵列。那我明天去学着弄一下。”我说的是真心话。
第二天早上,当我准备出发时,项目经理告诉我不用我去了。由于项目组好几个同事都想去“学着弄一下”。
结果server非常快就装好了,远远没有之前大家想像的那么困难嘛。更重要的是,在解决这个问题的过程中,大家都学会了怎么装磁盘阵列。
碰到困难时,迎难而上吧,千万不要拒绝这个最好的学习机会!
八.常常思考总结
子曰:“学而不思则罔”。
仅仅学习不思考。就会迷惑,难以把握事情的本质。这就好比一个学武之人,仅仅习得其形,而未得其神,难以成为真正的高手。
一个程序猿从入门,到成为高手的过程中。往往要经过几次顿悟。顿悟会让你跳出知识的丛林,一切豁然开朗,仿佛打通了全身的奇经八脉一般奇异。
记得我有一次,顿悟到了一个非常easy的结论:“原来高级编程语言中的类库是封装了Windows API来实现的。”后来碰到一些自带类库无法实现的功能时。我就会想到。事实上能够通过调用Windows API来实现。利用这个思路,我攻克了一些看起来非常难的问题,得到老板的赏识,从而非常快获得提升。
顿悟非常可贵,然而它不是随便发生的。而是经过一次次苦苦思索之后、灵光闪现的结果。
思考的过程,事实上就是将外在的知识内化为自己的知识的过程,而顿悟,则是批量的实现这样的内化。将无数个知识点连接在一起,达到融会贯通的境地。
九、克服“高原现象”
爱学习的人都会有这样的经历。学习持续了一段时间之后,往往会有一个瓶颈期。长时间似乎非常久没有什么进步,于是内心非常着急。
这样的情况实际上这是由人的学习规律决定的一种“高原现象”。
据研究,学习者在刚開始进步快。随后有一个明显的或长或短的进步停顿期,后期进步慢,中间的停顿期叫高原期。
图2 技能学习练习曲线
在我看来,高原期实质是一个消化期。由于前期的学习积累了太多的知识点,这些知识点在大脑中乱作一团,还没有形成一个知识体系。这时须要一定的时间来消化它,将它融会贯通。常常思考总结能够高速帮你跨过高原期。
在处于高原期的时候。还能够换一个相关的方向来学习,比如编程语言学不下去了。你能够学习一下设计模式,设计模式也学不下去了,再换成数据库。
通过学习这些相关的知识。不但补齐了知识体系中的短板,并且各个知识点之间能够互相启示,帮助你实现顿悟。跨过高原期。
十、学习要有好心态
(1)学习要静心
急于求成是学习过程中普遍存在的一种心态。这能够理解,毕竟作为一个程序猿,要学的东西实在太多了,而社会又是那样的浮躁。让人认为一切都是那样的不安全、不确定,似乎仅仅有学得快一点。才干跟上社会的脚步。
但是“欲速则不达”,想快快的学,往往会形成东一榔头、西一棒槌的学习方式,每一个点都没有吃透。心沉不下去,知识也会沉不下去。要想成为真正的高手。仅仅能静下心来,一步一个脚印的攀登。
(2)学习是一个持续一生的过程
人生的过程,就是一个自我完好过程。
孔子以前说:“吾十有五而志于学,三十而立。四十而不惑。五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”可见孔子也不是天生的圣人。也在不停的学习、进步。从“志于学”到最后“从心所欲,不逾矩”,孔子一共花了55年的时间。
作为一个程序猿。更是须要不断更新自己的知识。我们所知道的东西,就像一个白色的圆圈,圈外则是黑暗的未知的世界。当圆圈越大,所接触到的黑暗部分就越多。我们仅仅有不停的学习,打破很多其它的黑暗。找到很多其它光明。
(3)保持饥饿,保持愚蠢
看了《乔布斯传》之后,我最喜欢的一句话是“求知若饥,虚心若愚”(Stay Hungry,Stay Foolish),事实上我更喜欢它更原生态的翻译“保持饥饿。保持愚蠢”。
我们仅仅有认识到自己还非常饥饿和愚蠢,才会像没吃饱一样,由衷的须要学习、爱上学习。
当然,知易行难。知行合一才是学习的最高境地。我也始终是一个学习者。一直在路上。
posted on 2017-06-22 20:07 cynchanpin 阅读(167) 评论(0) 编辑 收藏 举报