IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。多年的学习经验总结出了提高程序员学习能力的三个要点。
学习人人都会,但不同的人学习效果却千差万别。一个善于学习的人,首先应该是一个善于读书的人,懂得如何高效地学习,并且拥有良好的心态。唯有如此,才能成为一个卓有成效的学习者,成就卓越的程序人生。
要善于读书多读经典书
现在市面上给程序员读的书种类非常丰富。人生有涯,我们只能有选择性地看,要多看好书、多看经典书。
软件开发方面的图书大致分为三类。
1. 浅显的入门类图书。这类书的标题往往是《XX天精通XXX》、《XXX从入门到精通》、《XX开发实战》等,通常从软件的安装讲起。有人批评这类书为烂 书、毫无价值,这并不公平。至少我曾经从这些书中学到了一些东西。即使是21天系列书,也有适合看的人群。只不过,它一般也就只能看21天而已,过后就可以扔到废纸堆。这类书只适于还没有入门的初学者,从中学到一些入门招式。在刚起步时一般买一本就够了。如果你善于使用搜索引擎,那几乎没有买这类书的 要。
2. 国内外高手写的实战类图书。这类书实战性很强,将技术及原理讲得很透彻。比如《Windows环境下32位汇编语言程序设计》、《深入解析MFC》、 《Delphi深度探索》、《深入浅出WPF》、《深入剖析ASP .NET组件设计》等。以前这类书都是从国外翻译或从台湾引进的,现在国内高手越来越多,出自国内作者的图书也越来越多。如果能在学习的每个方向看两三本这类图书,并通过实践消化掉,那么毫无疑问,你会成为一名优秀的程序员。
3. 国外大牛写的揭露本质、有丰富思想的书。这类书就是所谓的经典书,例如《代码大全》、《编程珠玑》、《设计模式》、《重构》、《代码整洁之道》等。经典书 就像一个有深度、有思想的朋友,能给你启发,每次阅读都会有新的收获,这类书具有真正的收藏价值。看经典书永远是正确的选择,它绝不会浪费你的时间,因为 经典书是无数人沙里淘金、帮你挑选出的结果。然而,阅读这类书并不是一件容易的事情。读者需要有丰富的开发经验,才能与作者产生共鸣。如果一本经典书你看得很辛苦,那么很有可能是因为你功力未够,这种情况下不要着急,慢点来,不妨先将其束之高阁,多看看实战类图书。过一段时间再回头来看,也许你会有新的惊喜。不要在上班时间看书一个善于学习的人,首先要善于利用一切时间来学习。雷锋曾说过:“时间就像海绵里的水,只要愿意挤,总还是有的。”然而,当我们从上班时间中挤时间学习时,就千万要注意了,不要在上班时间看书!
上班时间看书,不但是一件很敏感的事情,而且非常吸引眼球,很快就会引起周遭的不爽。首先老板心里不爽:“我给你钱是让你来工作的,不是来学习的”;其次同事们也不爽:“我们工作都做不完,瞧,这小子真闲啊”。用不了多久,你就会成为被众人排斥的异类,这最终会让你自己“很受伤”。
要高效学习
只学习与工作相关的东西,我曾发现不少程序员在学习方面找不到方向,一会儿学学C#,一会儿学学Java,看了最新的编程语言排行榜,又觉得该学C 。这样左抓抓,右挠挠,只会让你觉得更痒。学习最忌三心二意。俗话说:“伤其十指不如断其一指”,每门都学一点,还不如专心学好一个方向。这个道理谁都懂,可是又该学哪个方向呢?难道只能跟着感觉走吗?不!最实际的方向,应该跟着工作走,工作需要什么,我们就学什么,把工作需要的技能熟练掌握,有很多好处。
首先,
可以集中精力,在某一方面钻研得更加深入。所谓“百招会不如一招绝”,有了绝招,你还怕不能在“武林”立足吗?《天龙八部》中的慕容复武功博学无比,最后还不是被只会一招六脉神剑的段誉打得落花流水?
其次,
可以学得更快、更深入,因为学习更具有针对性,而且可以立即在工作中运用,可以马上检验出学习的效果。对存在的问题进行深入研究,掌握的知识也会更加牢固。再次,学习与工作结合在一起,工作时间也就成了学习时间,这样就突破了三个8小时的限制:有人说,我们每天所拥有的时间可以分为三个8小时,工作8小时,睡觉8小时,另外还有8小时可以自己自由支配。工作和睡觉的两个8小时大家都一样,
决定人生高度的是另外这个8小时。当我们把学习的焦点放到与工作相关的知识上时,工作时间中的很大一部分,同时也就成了宝贵的学习时间,这真是一举两得的美事啊。问题是最好的学习机会,日本经营之神松下幸之助曾说过:“工作就是不断发现问题、分析问题、最终解决问题的过程,晋升之门将永远为那些随时解决问题的人敞开着。”可见,工作过程中有问题是正常,没有问题才是真正的问题。在发生问题时,能勇于面对问题、解决问题的人,才是公司真正的骨干。现实中,很多人总是千方百计回避问题。当上司安排一项艰巨的任务时,也想尽办法推托。殊不知,对于个人而言,问题其实是最好的学习机会。往往那些愿意接受困难工作的人,能力会越来越强,那就是因为他们在克服困难的过程中取得了巨大的进步。
织网式学习
知识的广度和深度都很重要。作为一名程序员,能深入把握技术细节,是写出优质代码的保证。但对于一名项目经理而言,知识的广度更显重要。项目中碰到的问题往 往具有综合性,只有具备广博的知识,才能快速对问题进行分析和定位。在程序员成长的道路上,我们必须有意识地扩大自己的知识面,形成更完善的知识体系。
我曾经编写过一个网络信息采集软件,这个软件可以从具有列表页的网站中按字段设置采集信息,支持自定义字段、页面多级关联、下载附件、支持多种数据库、可视化定义等特性。刚开始,我认为这个软件只是一个比较大的功能点而已,后来发现这个不起眼的功能关联着大量的知识点。在开发过程中,我顺藤摸瓜,逐个击破,对很多知识点进行了细致的学习研究。软件开发完成后,我的知识体系网也进一步得到了补充和完善。
经常思考总结
从入门到成为高手的过程中,程序员往往要经过几次顿悟。记得有一次,我领悟到了一个很简单的结论:“原来高级编程语言中的类库是封装了Windows API来实现的。”后来碰到一些自带类库无法实现的功能时,我就会想到,其实可以通过调用Windows API来实现。利用这个思路,我解决了一些看起来很难的问题,得到老板的赏识,从而很快获得提升。顿悟非常可贵,然而它不是随便发生的,而是经过一次次苦苦思索之后、灵光闪现的结果。思考的过程,其实就是将外在知识内化为自己的知识的过程。而顿悟,则批量实现这种内化,将无
数个知识点连接在一起,达到融会贯通的境界。
克服“高原现象”
爱学习的人都会有这样的经历:学习持续了一段时间之后,往往会有一个瓶颈期,长时间似乎都没有什么进步,于是内心非常着急。这种情况,实际上是由人的学习规律决定的一种“高原现象”。据研究,学习者在刚开始进步快,随后有一个明显的或长或短的进步停顿期,后期进步慢,中间的停顿期叫高原期。高原期,实质是一个消化期。由于前期的学习积累了太多的知识点,这些知识点在大脑中乱作一团,还没有形成一个知识体系。这时需要一定的时间来消化它,让它融会贯通,经常思考总结可以快速帮你跨过高原期。处于高原期时,还可以换一个相关的方向来学习。例如,编程语言学不下去了,可以学习一下设计模式,设计模式也学不下去了,再换成数据库。通过学习这些相关的知识,不但补齐了知识
体系中的短板,而且各个知识点之间可以互相启发,帮助你实现顿悟,跨过高原期。
要有好心态
学习要静心,急于求成是学习过程中普遍存在的一种心态,这可以理解。毕竟作为一名程序员,要学的东西实在太多,而社会又是那样的浮躁,让人觉得一切都是那样的不安全、不确定,似乎只有学得快一点,才能跟上社会的脚步。可是“欲速则不达”,想快快地学,往往会形成东一榔头、西一棒槌的学习方式,每一个点都没有吃透。心沉不下去,知识也会沉不下去。要想成为真正的高手,只能静下心,一步一个脚印慢慢来。学习是持续一生的过程,人生,就是一个自我完善过程。作为一名程序员,更需要不断丰富自己的知识库。
我们所知道的东西,就像一个白色的圆圈,圈外则是黑暗的未知的世界。当圆圈越大,所接触到的黑暗部分就越多。我们只有不停地学习,能打破更多的黑暗,找到更多光明。
保持饥饿,保持愚蠢
我非常喜欢乔布斯的一句话:“求知若饥,虚心若愚”(Stay Hungry,Stay Foolish)。其实我更喜欢它更原生态的翻译“保持饥饿,保持愚蠢”。我们只有认识到自己还很饥饿和愚蠢,才会像没吃饱一样,由衷地需要学习、爱上学习。
摘抄的,忘记地址了。
分享到:
相关推荐
成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。 笔者作为一位tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目...
在编程世界中,编程修养是每位开发者不可或缺的素质,它涵盖了技术深度、学习态度、问题解决能力等多个方面。本文将深入探讨如何提升编程水平,帮助程序员成为更...只有不断积累,持续进步,才能在编程道路上走得更远。
通过学习这份资料,我们不仅可以提升自己的编程技能,还能了解并适应大型企业的运作模式,提升个人的综合能力,从而在程序人生的道路上走得更远、更稳。对于每一位程序员来说,这都是一份值得珍藏和反复研读的宝贵...
### C/C++语言编程修养与习惯 在编程领域,尤其是针对C/C++这类低级语言而言,养成良好的编程习惯...通过遵循上述原则和实践,程序员不仅能够编写出高质量、可维护性强的代码,还能够在职业道路上不断进步和完善自我。
Knuth教授编写的《计算机程序设计艺术》系列著作,是帮助程序员提升技术修养、深化对程序设计理解的经典读物。该系列书籍共分为三卷,详细探讨了计算机编程的各个方面,旨在帮助读者修炼成为技术高超的编程大师。 ...
从给定的文件信息来看,文章探讨了编程人员...正如文章所述,“程序是程序员的作品,作品的好坏直接关系到程序员的声誉和素质”,因此,培养良好的编程习惯,注重代码的细节,是每位程序员成长道路上不可或缺的一部分。
以下是针对程序员面试的七大成功技巧,它们能够在你通往职场的道路上助你一臂之力。 首先,合理安排面试日程和时间管理。面试前,务必制定详细的行程计划,确保面试日不会与其它重要事件冲突。对于面试时间,应尽量...
在软件开发的领域里,那些掷地有声的话语往往能够指引开发者的成长道路,而梁肇新作为...无论是初出茅庐的新手,还是经验丰富的老手,都能从梁肇新的箴言中找到提升自己技术修养的途径,并在软件开发的道路上走得更远。
在追求卓越的道路上,个人的道德修养与职业发展始终是相辅相成的。当我们探讨“慎独与自律”的概念时,它不仅仅是一种传统哲学思想的传承,更是现代社会,特别是技术领域中个人成长和成功的必要条件。本文将通过一个...
程序员和工程师的专业修养,往往反映在其对技术的深度理解以及解决问题的能力上。快速学习能力、团队协作、代码质量、项目管理等多方面的综合素养,构成了一个IT从业者的“内在美”。持续学习,不断积累这些软硬技能...
在当今信息技术日新月异的时代,软件编程员作为行业发展的中坚力量,需求量日益增长。我作为一名志在投身该...我相信,通过不懈努力和持续学习,我将能在软件编程这条道路上走得更远,与公司一起迎接更加辉煌的未来。
程序员常常需要对自己的代码进行反复审查,确保其质量与效率,这就是“问心”的体现。同时,面对技术发展迅速的行业,我们是否保持了学习的热情,是否坚守了初心,这也是“问心”的过程。 2. **立处惊涛沧茫中**:...
《软件工程思想》一书由林锐撰写,...总之,《软件工程思想》是一部值得一读再读的经典之作,无论是对于初学者还是资深从业者,都能从中获得宝贵的启示和深刻的洞见,引领我们在软件开发的道路上不断前行,追求卓越。
团队领导如同傅雷先生一样,应当成为团队成员成长道路上的引导者和激励者。 IT行业中技术分享和项目复盘等活动的举办,有助于创建开放和积极的学习环境。通过这些活动,团队成员可以相互交流,共同探讨技术问题,...
大学生应该注意锻炼身体,保持健康的体魄,这样才能更好地应对职业道路上的各种挑战。 综上所述,大学生在进行职业规划时不仅要深入了解自己,还要全面了解职业需求,并做好充分的准备。通过这些努力,可以为自己的...
它不仅是指专业技能上的娴熟,还包括一个人的道德修养、文化素养及面对困难时的泰然自若。以沈从文为例,这位文学巨匠的底气源于他对书法的热爱、对文学创作的专注和对生活的独特见解。这种精神层面的深厚积累,使他...
对于大一的个人总结,不仅仅是一份简单的回顾,它更是对个人成长历程的深刻反思,对大学生活适应能力的评估,也是对未来发展道路的规划和展望。 首先,在学习方面,大一学生从高中基础课程的教育模式中脱离出来,...