解读程序员的武侠世界,顶级程序员是内外兼修的大侠,那么你呢?

阿里云双11来了!从本博客参与阿里云,服务器最低只要86元/年!

  在漫天的星河中,有这样一颗星,他朴实无华,却又熠熠生辉,照亮了无数人的人生。他就是金庸先生。随着一代大侠的驾鹤西去,“飞雪连天射白鹿,笑书神侠倚碧鸳”,成为绝响。

  每一个少年心中,都有一个英雄梦。曾经幻想自己,长剑佩腰,浪迹江湖,十步杀一人,如闲庭信步;曾经幻想自己,青衣长袍,长萧悠远,百年等一人,诉儿女情长;曾经幻想自己,堕万丈渊,偶遇奇人,习盖世武功,救民于水火。梦醒时分,心碎了一地,结局只是一个猥琐大叔,面对代码与bug。忧虑着远方,焦虑着当下,侠义的心肠,英雄的梦想,都逐渐的远去。

  但是,有人的地方就有江湖。程序员的世界,未尝不是另外一种武侠的世界。有的程序员,神功盖世,侠之大者如乔峰,以一敌百;有的程序员,似裘千丈,编程多年,不过一江湖术士;有的程序员,功名在身,却深居简出,低调隐居,如同风清扬。

  我们总结金庸武侠小说里面绝顶高手的共同特征,可以发现如下特点:

  1. 有极强的内力修为

  2. 至少深入掌握一门绝世武功

  3. 对多种神功均有一定了解

  我们下面来逐一剖析。

有极强的内力修为

       令狐冲最开始在习得风清扬的独孤九剑之后,已经可以解决田伯光这样的senior engineer了。独孤九剑强调的是招式的牛逼,无招胜有招,但是,他还是有致命的弱点,那就是内功不强。令狐冲在独孤九剑大成之后,在地下室和principle engineer任我行对练的时候,任我行还是用内力震昏了他。直到令狐冲学到了《易筋经》,成功融合桃谷六仙、不戒大师分别注入的八道真气,方生大师给他输入的真气,黑白子全部内力,岳不群大部分内力后,这个时候的令狐冲,可以说是真正的独孤求败了。

  这件事情对我们的启发是,内力不强,招式再多,也会限制最后在技术领域的成就。由于大学阶段计算机学习的整体缺陷,导致很多童鞋毕业数年后仍然不具备一些基本的内力

  a. PV操作

  b. 信号量,初值为1的信号量通常做互斥,初值为0的信号量通常做同步

  c. 互斥

  d. 通信分为同步和互斥

  e. LRU

  …

  很多很多不可尽数,比如有的童鞋,在公司里面都工作几年了,还是不知道堆和栈的区别。你这个时候,练再多的招式,懂再多的语言,C/C++/Java/Python…全部都撸过一遍,也难逃程序员的终极宿命,那就是越到后期越悲凉,它的曲线类似:

  因为到了35岁,这种大龄程序员,很多公司对他的定位,已经是要能够独挡一面,解决性能、架构等方面的需要突破的问题。这个时候,内力不强,计算机的基本原理都不通,就极可能在这个时间点上,技术生涯自由落体,变地非常被动。

  我们认为,有两门基础课,对程序员练习内力尤其重要,一是微机原理,二是操作系统。微机原理让我们理解计算机是怎么工作,CPU、CACHE、内存、硬盘、外设彼此间的牵绊;操作系统让我们理解软件是怎么工作,系统的硬件资源如何被软件消耗,各个软件组件如何互动。这里我们推荐两门书:

《深入理解计算机系统》

《Operating System Three Easy Pieces》

至少深入掌握一门绝世武功

  有很多童鞋,一生随波逐流,今天在这个公司干这个,明天在这个公司干那个,没有明确的兴趣点和技术成长目标,这样很难形成坚实的技术沉淀。比如你把凌波微步学一招,打狗棒学一招,降龙十八掌学一招,每个都学一招,一共学了100招,但是随便来一个会两招降龙十八掌的人就可以把你干掉。所以,任何一个顶级的程序员,必有他的成名武学,他在这个领域,成为大师。

  乔峰、郭靖

  降龙十八掌

  张无忌

  九阳神功

  小龙女

  玉女心经

  洪七公、黄蓉

  打狗棒

  杨过

  黯然销魂掌

  张三丰

  太极拳剑

  …

  …

  现在的技术领域这么多,热点层出不穷,追逐热点固然不是坏事,但也可能让你筋疲力尽。其实这样无穷追逐,不如找到一个自己的兴趣点,比如Linux内核也罢、TensorFlow也罢、GPU多媒体也罢、Android也罢,至少你要在某个领域里面成为高手,这是吃饭的本钱,也是行走江湖的筹码。就是说,只要想到某个技术领域,就能想到你名字;想到你名字,就能想到这个技术领域。

根据我们的观察,拥有成名武学的程序员,到了35岁,甚至40岁后,不仅没有在江湖上被遗忘,还逐步进入了更加顶级的公司的更加顶级的技术团队,待遇之高,达到如果在微信群透露,就会让其他程序员活不下去的程度。

对多种神功均有一定了解

  既要低头拉车,又要抬头看路。有成名武学,也不能故步自封。仍然要看一看别人在玩什么,这是聊天的资本,在广泛的场合,可以和更多的人好好聊天。不能低估聊天的重要性,不能聊天,尤其是不能和高级领导聊天,会限制自身的可见性。另外一个方面,知识面广,对自身技术领域可形成交织互补,因为很多技术,做到后来,发现它们会交织互融。在金庸武侠小说里,经常出现练习某种武功久久不能突破,但是在练习了另外一种武功的情况下,突然前一种武功的最后一层就练成了的例子。

  下面我们看看顶级高手的武功配置:

  张无忌融合九阳神功、乾坤大挪移、太极拳剑和圣火令神功四大盖世武功为一体,当世无敌,此外还精研医术和毒术,术绝尘寰。

  虚竹为少林派弟子,学以罗汉拳和韦陀掌。意外破解珍珑棋局后,承得无涯子七十年深厚的内力,而其中也含有无涯子本身所学的北冥神功以及小无相功。获得了天山童姥传授的逍遥派天山折梅手以及天山六阳掌和生死符。在继承天山灵鹫宫后得见灵鹫宫后殿壁上无数精妙武功。

  令狐冲学会了华山的剑法,宁式一剑、思过崖山洞的其他门派剑法,之后习得独孤九剑,在梅庄地牢中习得吸星大法,最后一个阶段,习得少林易筋经。

  …

因此,我们总结顶级程序员的三大特点:内功强(1),某个领域深(2),多个领域广(3)。这三者之间的关系是:1是2的必要条件(如果基础不牢,不可能在某个领域深),1+2是技术生涯成功的必要条件,3是1和2的补充(3是技术路线发展的充分条件,不是必要条件)。下面图示最好到最差的技术配置:

  因此,我们总结顶级程序员的三大特点:内功强,某个领域深,多个领域广。当然,无论武功有多高,都必须具备一个品质:那就是仁义。

  没有仁义,武功高强如任我行、东方不败、岳不群、欧阳锋、成昆者,都不会成为任何人的榜样。

了解更多C/C++程序员小知识,学习并提升自己的C/C++编程技术,欢迎关注简书专栏:

C/C++程序员相关

学习C/C++,从现在开始!

https://www.jianshu.com/p/65e3ef9b2ffd

Python量化投资网携手4326手游为资深游戏玩家推荐:《【测试介绍】一起来跟RWBY愉快地盘戮兽吧!(破音)

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论