程序员学习能力提升三要素

摘要:IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。

IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。

众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在毕业之后2年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习能力。

学习人人都会,但不同的人学习效果却千差万别。一个善于学习的人,首先应该是一个善于读书的人,懂得如何高效地学习,并且拥有良好的心态。唯有如此,才能成为一个卓有成效的学习者,成就卓越的程序人生。

要善于读书

买书是最划算的投资

古人云:“书中自有黄金屋,书中自有颜如玉。”这说明先贤们早认识到,买书是最划算的投资。

我刚出道时,拿着非常微薄的工资。有一次向主管抱怨道:“现在的书真贵啊,这点工资连饭都吃不起,更别说买书了!”主管对我说:“不要吝惜买书的钱,宁可忍着不吃饭,也不要忍着不买书,因为买书是回报率最高的投资。”

主管的话让我非常震动。后来,我看到喜欢的书时,再也没有手软过。通过不断学习,我的开发能力不断提高,工资水平也大幅提高。一年后,我一个月工资的涨幅,就足够买两年的书了。你说,还有比这更划算的投资吗?

一本书,哪怕只有一页纸是有用的,它所将产生的潜在价值,也会远远超过书本身的价格。当然,书不在多,踏踏实实消化掉一本好书,比泛泛而读10本普通书,要有价值得多。

多读经典书

现在市面上给程序员读的书种类非常丰富。人生有涯,我们只能有选择性地看,要多看好书、多看经典书。

软件开发方面的图书大致分为三类。

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来实现。利用这个思路,我解决了一些看起来很难的问题,得到老板的赏识,从而很快获得提升。

顿悟非常可贵,然而它不是随便发生的,而是经过一次次苦苦思索之后、灵光闪现的结果。思考的过程,其实就是将外在知识内化为自己的知识的过程。而顿悟,则批量实现这种内化,将无数个知识点连接在一起,达到融会贯通的境界。

克服“高原现象”

爱学习的人都会有这样的经历:学习持续了一段时间之后,往往会有一个瓶颈期,长时间似乎都没有什么进步,于是内心非常着急。

这种情况,实际上是由人的学习规律决定的一种“高原现象”。据研究,学习者在刚开始进步快,随后有一个明显的或长或短的进步停顿期,后期进步慢,中间的停顿期叫高原期(如下图所示)。


高原期,实质是一个消化期。由于前期的学习积累了太多的知识点,这些知识点在大脑中乱作一团,还没有形成一个知识体系。这时需要一定的时间来消化它,让它融会贯通,经常思考总结可以快速帮你跨过高原期。

处于高原期时,还可以换一个相关的方向来学习。例如,编程语言学不下去了,可以学习一下设计模式,设计模式也学不下去了,再换成数据库。通过学习这些相关的知识,不但补齐了知识体系中的短板,而且各个知识点之间可以互相启发,帮助你实现顿悟,跨过高原期。

要有好心态

学习要静心

急于求成是学习过程中普遍存在的一种心态,这可以理解。毕竟作为一名程序员,要学的东西实在太多,而社会又是那样的浮躁,让人觉得一切都是那样的不安全、不确定,似乎只有学得快一点,才能跟上社会的脚步。

可是“欲速则不达”,想快快地学,往往会形成东一榔头、西一棒槌的学习方式,每一个点都没有吃透。心沉不下去,知识也会沉不下去。要想成为真正的高手,只能静下心,一步一个脚印慢慢来。

学习是持续一生的过程

人生,就是一个自我完善过程。

子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”可见孔子也不是天生的圣人,也在不停地学习、进步,从“志于学”到“从心所欲,不逾矩”,孔子一共花了55年的时间。

作为一名程序员,更需要不断丰富自己的知识库。我们所知道的东西,就像一个白色的圆圈,圈外则是黑暗的未知的世界。当圆圈越大,所接触到的黑暗部分就越多。我们只有不停地学习,才能打破更多的黑暗,找到更多光明。

保持饥饿,保持愚蠢

我非常喜欢乔布斯的一句话:“求知若饥,虚心若愚”(Stay Hungry,Stay Foolish)。其实我更喜欢它更原生态的翻译“保持饥饿,保持愚蠢”。我们只有认识到自己还很饥饿和愚蠢,才会像没吃饱一样,由衷地需要学习、爱上学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMD Mantle再添新作,引发下代GPU架构猜想

摘要:今年秋天即将发布的《希德梅尔文明:太空》将全面支持AMD Mantle API,如此强大的功能背后离不开强大的CPU、GPU支持。上周AMD爆出了下一代海盗岛R9 300系列,据网友猜测海盗岛家族可能用上速度更快的HBM堆栈式内存。 小伙伴们…

VUE : 双重 for 循环写法、table 解析任意 list 、万能表格组件、解析一维数组、动态生成 table 所有数据

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.需求: 我想要一个 table 组件能在实际调用时动态生成所有的 tr 、td 。 后端返回的只是一个 list , 前端页…

超详细 图解 : IntelliJ IDEA 逆向生成 JAVA 实体类

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.配置数据库,,这里连接的是mysql。 2.填写 连接数据库的信息,填写完成后可以点击Test Connection,测试一下是否…

leetcode练习——数组篇(1)(std::ios::sync_with_stdio(false);std::cin.tie(nullptr);)

题号1. 两数之和: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: …

intellij idea 中去除 @Autowired 注入对象带来的红色下划线报错提示

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 PS: 有 2 种方法,第 2 种方法更简单,在此谢谢好心友人的评论。 方法1: idea中通过Autow…

Coolite动态加载CheckboxGroup,无法在后台中获取

Coolite在后台动态加载CheckboxGroup&#xff0c;页面显示都正常&#xff0c;但是在后台去获取选中的checkbox时&#xff0c;使用下方法&#xff1a; ///<summary>///获取所选权限 ///</summary>///<returns></returns>privatestringGetPermiss…

图解 IDEA 中 springboot 项目 MyBatis Generator 逆向生成实体类及 mapper 配置文件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、准备工作&#xff1a; 1. 新建一个 配置文件&#xff1a;generatorConfig.xml 。 <?xml version"1.0" encoding&qu…

关于IIS 7.5 限制连接数与流量限制模块

网页中的视频是用户喜闻乐见的常见形式之一&#xff0c;并在主要的站点中中以某种形式&#xff08;产品视频、教程视频、理财场景、user generated content、消费报告等&#xff09;在更广泛的应用。 其中的一个挑战是把视频加入到站点&#xff0c;虽然这并不花费很多代价。高质…

汽车标志大全 买车必知

简要介绍&#xff1a;为您提供汽车标志、世界汽车标志大全、各种汽车标志、国产汽车标志大全、汽车标志图片、汽车标志及名称、名车标志大全、世界名车排行榜、世界十大名车、世界名车图片等有关汽车标志、汽车图片、汽车名字及汽车品牌方面的知识。 欧美汽车标志图片大全_欧美…

解决: Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a; Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver 2.但是&…

解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 启动 springboot 项目报错&#xff1a; Field userMapper in gentle.service.impl.UserServiceImpl required a bean of type gent…

Linux 查看 MySQL 版本的四种方法

1 在终端下执行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 里查看 select version() 4 在mysql 里查看 status 转自&#xff1a;https://blog.csdn.net/chengyuc/article/details/77094775

html 基本布局介绍

1、div默认是纵向排列的&#xff0c;例子如下&#xff1a; <div id"wrap"><div id"div1">div1</div><div id"div2">div2</div><div id"div3">div3</div> </div> 2、如果要div横向排列…

@JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 数据库中是 1、0 记录性别。 预期效果为&#xff1a;当查到属性值为 1 时&#xff0c;就给序列化后的 json 中性别字段赋值为 “男”…

【Android开发】NDK开发(1)-Hello World!

上半年&#xff0c;公司的一个项目&#xff0c;本身我是不喜欢Android开发的&#xff0c;但是学习到的东西总需要整理一下。 从iOS转到Android&#xff0c;真心有些不习惯。就IDE来说&#xff0c;eclipse比Xcode差的不是一点半点。Android模拟器竟然还要开机&#xff01;我勒个…

jQuery 实现表格与 ckeckbox 的全选、单选功能

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 功能点 1. 用户点击头的checkbox时&#xff0c;所有表格数据行的checkbox全选或反选。 当数据行某一行没有选中时&#xff0c;头check…

VUE:checkbox 单选框(单选、多选)、一选全选 / 全选一选、表格单选列实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 效果&#xff1a;如红框中部分。 一选全选&#xff1a;表头上的单选框选中则下面每行都选中。 全选一选&#xff1a;表中数据每行都…

我爱学习第一天(委托)

---恢复内容开始--- 1.delegate 一般用法 delegate void WriteValue(string vale);//申明一个委托,参数是string类型,无返回值static void Main(string[] args){WriteValue write new WriteValue(WriteLine);//实例化委托write("喝水");//调用Console.ReadKey();}pu…

VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Vue是一个轻量级的渐进式框架&#xff0c;对于它的一些特性和优点在此就不做赘述&#xff0c;本篇文章主要来探讨一下Vue子父组件通信的…

c1科目三考试技巧

起步平稳。转向灯不要错了。靠边要和路边平行。离边近量保持&#xff1a;30CM距离。车子在运行中。换档尽量保持利落。若道路比较复杂。看好路牌路标&#xff0c;不要违规。一般很容易过的。你不要紧张。晚上夜考灯光把好。一切很顺利的。祝你好运。 方法/步骤 紧记着“一灯二…