程序员的聪明与智慧

1

IT这个行业的一个特点就是日新月异,每天都在变化。无论是技术还是开发平台,无论是语言还是类库。基本上可以说18个月一大变。趋势变来变去,从来不存在着老码农可以不学习就可以一直混下去的。例外当然是有的,比如说银行。银行里面的技术更新得慢,Cobol这种早就应该死的东西,几十年如一日在银行活着。这种例外当然不在这篇文章的探讨范围之内。

我们常说,小聪明大智慧。聪明和智慧是不同的。如果我们把聪明和智慧搬到程序员这个职业来,那么这种不同其实更有其特殊的意义。

2

什么是聪明,什么是智慧。每个人都有自己的定义。但是如果这两个东西是相同的,其实不需要发明两个词。而且无论中文英文其实都有两个词,英文里有smart和intelligent的区别。因此,我们起码可以先同意聪明和智慧是两回事。

有一个说法是这样的,如果把人作为一台电脑的话,聪明可以认为是硬件配置。聪明的人,他硬件配置往往高一些,作为表现来说,就是速度处理的比较快。换个说法,记忆力,反应能力,对新事物的接受能力等等都比较敏捷。智慧更像是不断更新换代的操作系统,随着更新则变得越来越强大。换个说法就是聪明其实很大程度上是先天的,很难轻易改变,记性差的人不可能变得记性好。而智慧则可以不断的去更新,最终体现出其强大的一面。

作为外在的表现上来说,聪明的人学东西快,不一定很牢靠但是一定是上手很快的。有智慧的人,不一定学东西快,但是很善于思考。思考需要更多时间,所以并不会显得特别的聪明,但是思考的好处则有利于透过现象看本质。

3

换到码农这个岗位和IT这个行业来说,聪明的人和有智慧的人其实混法不同,也有不同的优势。

具体来讲,如果一个人很聪明,那么他一定有一种如鱼得水的感觉。新技术掌握的快就能够更有效的跟上事物发展,从而更好的在IT行业里面发展。能迅速掌握新东西,在每个行业都有价值,唯独在码农这一行,尤其有得天独厚的优势。这种人,其实也是领导最喜欢的人。

如果一个人有智慧,但是不聪明,做IT这一行可能会很痛苦。因为技术更新很快,但是这个人却需要打破砂锅问到底。实际从事的工作并不允许这个人花费这么多时间去干这个事情。所以结果可想而知。至少在行业起步阶段,这类人其实很痛苦,也许很容易就迷失了自己的方向。

如果一个人既聪明又有智慧,那么我只能说这种人太有得天独厚的优势。既能够追随技术的发展,又能够引领技术的发展。这类人,如果不夭折,肯定都是一尊尊的神。

4

聪明的人,如果只是注意到了自己的聪明,却没有明白智慧的不同,在码农这一行的发展,会渐渐的感受到危机。这就是为什么我写程序员的危机,大家都很认同。

因为一个人再聪明,适应能力再强,总有精力体力的限制。也许以前是可以追逐技术发展的,后面肯定会有比这个人更年轻,更有精力体力的人能更有效的追随新的技术发展,那么作为一个中年的聪明人,是不是真的可以从一如既往的聪明里长期存活下去呢?这应该是每个聪明人精下来去好好思考的,静中生慧。

人力有穷尽,但是不排除很多人就是天生天赋异禀,可以一直聪明下去。不排除80岁的人的脑子比30岁的人脑子反应还快。撇开那些异常情况,所有的聪明人,在持续的聪明过程中,都不免会沾染了一点浮躁。那么想想智慧是什么,也许对自己的职业发展,不无裨益。

5

有智慧的但是不聪明的人,则是另外一个极端情况。这种人其实也不算不常见。但是这种人是不是能够在IT业界混得好,是一个挑战。

大体来说,我们可以把这类人再分两类:第一类是不缺钱的,第二类是缺钱的。如果说不缺钱,比如说家里大富大贵,不用为五斗米而折腰,那么其实完全可以不用去做程序员。真要做,也不妨读个博士,找个自己真正热爱的方向。举个例子来说,神经网络不是什么新东西,起起伏伏很多次了。差钱的人是没办法坚持下去的。不差钱的教授就可以几十年如一日的做下去,最终等到Deep Learning的爆发,进而彻底改变这个世界。

如果是缺钱的,需要养家糊口的。那么首先得说,可能选择码农来做自己的职业,选错了。有智慧的人善于钻研,一旦钻起来,就不一定那么容易爬出来了。等真爬出来的时候,公司可能也不需要你了。如果说下定决心排除万难非要投身IT行业,那么有一条建议是,不要和别人去比拼对新技术的追逐。最好的办法,应该是选择一个需要积累,同时又长期有商业需求的领域,然后做下去,成为专家。这种专家会有优势。IT行业虽然更新换代快,但是这样的领域其实也不少,显而易见的,比如说和安全相关的任何东西。

其实对于有智慧但不聪明的人,职业本身需要更多积累的,往往是更合适的职业。这种职业当以政治家作为最经典。哪国领袖都不可能太年轻。除此之外还有医生律师等等。如果从事一个需要行业经验和IT技能相结合的工作,其实也是这种人比较好的一个选择。