程序员必备的“软技能”

正确的学习能力,这一点很关键!!!

学习,讲究的不是谁更”努力“,或者谁更”用心“。

每天努力学习10小时的程序员,并不一定比每天学习2小时的程序员成长更快。

努力学习中的”努力“,并不是一个时间量的概念。努力的精髓应该是持续地学习自己做不好或者自己不会的技能。

我跟同龄人的差距是在工作第5个年头拉开的,不谦虚一点的说,我用了5年的时间,就把跟我同一批次的程序员远远落到身后了。

当时,我自己也不明白这种差距是怎么产生的,甚至觉得自己有很大的运气成分,但现在回头总结一下,完全是学习方式或者说思维方式的不同导致的。接触的程序员越多,越觉得我不是因为幸运,而是我的学习方式比别人高明。

好多程序员眼里的学习,可能就是在网上搜索一些文章,把这些文章仔细研读一下,而且即便是这种学习,也往往不是他们主动去搜索的,是在工作中遇到问题,才会去检索,然后美其名曰get了新技能。

在我看来,这完全就不是在学习,仅仅是在解决问题而已。道理很简单,如果你的所有技能都能通过搜索引擎获取,你凭什么拿比别人高好几倍的工资?

而我的学习方式,通常都是以”年“为单位来规划的。例如,在百度工作期间,我的目标是成为web架构师,然后我就把成为架构师的技能矩阵罗列出来,包括数据库、编程语言、设计模式、web服务器、分布式架构、业务分析方法论等等各个方面,然后给自己制定计划,一块一块的去填充整个矩阵,直到填满为止。

执行计划的过程中,当然有计划赶不上变化的时候,但是我的大方向从来都不曾改变。这样学习的好处就是我永远都在学习自己不擅长,甚至不会的东西,最关键的是,这种主动学习的方式,让我的技能更加系统化,结构化,而不是像其他人一样,天天学习一些碎片化的东西。

真正的专家,都有自己整套的知识体系。有了整套的体系,你才能在遇到问题时做出准确的判断,或是提出自己的见解。这就好比,有知识体系的油漆工可以识别20种不同的白色,而普通油漆工只能告诉你这是白色。看似所有颜色你都见过,但是让你说你就是说不出来。

普通的程序员,看似很努力,其实只是在做重复劳动,无非就是今天检索A问题,明天检索B问题,算不得真正意义的学习。真正有效的学习一定是主动的、有计划的、系统性的学习。

当我们每个人时间都一样多的时候,时间就不再是金钱。

时间是围棋:你走一手,牛人也走一手,牛人获胜并不是因为他走的比你多,而是他每一手都走在最有价值的地方。

原文链接:https://www.zhihu.com/question/48406009/answer/991227608

程序员必备的“软技能”_第1张图片
image

你可能感兴趣的:(程序员必备的“软技能”)