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

  每一个少年心中,都有一个英雄梦。曾经幻想自己,长剑佩腰,浪迹江湖,十步杀一人,如闲庭信步;曾经幻想自己,青衣长袍,长萧悠远,百年等一人,诉儿女情长;曾经幻想自己,堕万丈渊,偶遇奇人,习盖世武功,救民于水火。梦醒时分,心碎了一地,结局只是一个猥琐大叔,面对代码与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是技术路线发展的充分条件,不是必要条件)。下面图示最好到最差的技术配置:

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

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

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

  1. 程序员如何内外兼修?

    作者 | 倪升武 责编 | 郭芮 我们都生活在这个浮躁的社会,不排除会有一些负能量的人,但是绝大多数都是积极向上的,不管他们是在为自己的梦想奋斗,还是在为生活而奔波,总之,都在坚持. 我之前读过很多人 ...

  2. 内外兼修:程序员的成长之路+软技能 代码之外的生存指南

    .........代码之外的生存指南........... 内容简介  · · · · · · 这是一本真正从"人"(而非技术也非管理)的角度关注软件开发人员自身发展的书.书中论述 ...

  3. 《内外兼修:程序员的成长之路》

    1.最近笔者读了这样一本书,总的来说还是比较有意思 2.主要记得的内容有三个方面:首先是现在技术方向和计算机行业的就业方向:其次是利用开源程序框架加快开发和相关的工具:最后就是讲了工作中的团队精神,说 ...

  4. OSChina 周六乱弹 ——你和顶级程序员只差一件……

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2017)请戳(这里) [今日歌曲] @罗马的王 :林肯公园主唱查斯特-贝宁顿上吊自杀,年仅41岁. < ...

  5. python在哪里写代码比较适合-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  6. python在哪里写代码-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  7. 创意建筑投影秀 ——走进少林寺的武侠世界!

    中国功夫 是中华民族智慧的结晶 是中华传统文化的体现 刚柔并济 内外兼修 是世界上独一无二的"武化"中国功夫冠天下 天下武功出少林有着千年历史的少林寺中 在悄悄上演着一场 充满科技 ...

  8. 顶级程序员的心得 Coders at Work (IV)

    ( 第一,第二, 第三部分 ) "Coders at Work",   对15 位顶级程序员的采访, 总共600页. 看似冗长的问答中有不少精辟的言论. 我摘录了一些关于挑选,面试 ...

  9. 顶级程序员和普通程序员在思维模式上的5个区别!

    <The Effective Engineer>的作者在写书的过程中,为了了解那些顶级程序员和普通程序员的区别,采访了很多硅谷顶级科技公司的顶尖软件工程师.他发现这些给世界带来巨大影响的的 ...

最新文章

  1. 3 个重要因素,带你看透 AI 技术架构方案的可行性
  2. 程序改错(递归函数):数字转字符
  3. db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
  4. 每天一小时python官方文档学习(四)————数据结构之列表
  5. 数据仓库、数据集市、数据湖、数据中台到底有什么区别?
  6. 模糊查询(类似百度搜索框)
  7. php log日志管理,PHP日志LOG类定义与用法示例
  8. 用AtomicStampedReference解决ABA问题
  9. Struts2之异常处理
  10. 制作PPT和画报的免费素材:pixabay免费照片插图矢量图
  11. IoT 物联网设备OTA:升级包下载过程详解
  12. 炫酷粒子表白,双十一脱单靠它了!
  13. Linux 使用docker搭建MySQL服务的一些细节问题
  14. Feburary——1052.爱生气的书店老板
  15. SVG动画和CSS转换:复杂的爱情故事
  16. IJCAI 2022 | 基于自适应虚词增强的小样本逆关系分类
  17. 解决 CMD 命令行中文件路径有空格
  18. 解决:tomcat6 多个web项目页面出现 多次重定向错误无法访问的问题
  19. 计算机msvcp120.dll丢失的解决方法
  20. 手机大战略的游戏设计(3)

热门文章

  1. mysql 值到99999后不增值了_MySQL必知必会3
  2. cmd批量修改文件名 增加文字_Dynamo自动批量化修改文件名称
  3. x什么意思c语言新闻app啊我et,C语言笔试题目
  4. SpringBoot视频教程
  5. 5 年之后,产品经理,没了?
  6. java无序数组_Java查找不重复无序数组中是否存在两个数字的和为某个值
  7. python f.write 保存图片到路径_Python实现生成图片路径和对应标签的方式
  8. 数博会重磅活动:第二届大数据科学与工程国际会议详细日程
  9. 作者:房毓菲(1990-),女,就职于国家信息中心信息化研究部,中国智慧城市发展研究中心政策研究组副组长。...
  10. 【计算机网络】物理层设备