每个有追求的程序员,都有一个“改变世界”的梦。 只是小时候,我们希望学一身绝世武功,行侠仗义;长大后,我们用的是技术,在程序的世界夺天造地。 武功与技术,“侠客”与“黑客”,只是手段和称呼不一样而已,这个梦,却从来没有停过。程序员的江湖,奇迹丛生的世界_程序员
虽然长大后,明白世界上并没有“轻功”、“内力”,虚拟的武侠世界,名字是假的,情节是假的,但人性的各个侧面,又显得那么真实,一万个读者,就有一万个哈姆雷特,有人从中看到了权谋,有的人看到了心理。 而作为一个程序员职业内核分析师,我看到的,是一个和江湖一样的职场: 到处是奇迹,细细品味,一切又都在意料之中。 故事是生活的比喻,江湖就是职场的影子:很多奇迹,细一看,都有着简单不过的底层逻辑。

01

张无忌一天练会“乾坤大挪移”:内功是根本 张无忌身上的奇迹,并不是摔下山崖,学会了“九阳神功”;而是用一天的时间,练会了“乾坤大挪移”。程序员的江湖,奇迹丛生的世界_程序员_02 明教前教主阳顶天,练了几十年,也就练到第4层,杨逍那么聪明的人,也才练到第一层。 怎么就这么难呢?“乾坤大挪移”心法有这么一句话:此第一层心法,悟性高者七年可成,次者十四年可成…… 这还只是“第一层”照这个节奏,张无忌练完整套乾坤大挪移,就能申请吉尼斯长寿记录了,事实上他练到第七层,也就用了一天的功夫,这必须是个“奇迹”。 奇迹的背后,是“九阳神功”的根基。 之前很多“聪明人”练不成“乾坤大挪移”,不是因为他们不够聪明,而是内力不够,说白了,就像让一个十岁的孩子,去举200斤的杠铃,用劲的方法不难,一天就能掌握,力气不够,是硬伤,想长个子、攒力气——这就得花时间。 “心法”里说的第一层要练7年,这7年的时间不是用来学招式的,而是修炼内功的,张无忌有了“九阳真经”的内功,学起来,自然不用7年。 程序的世界,每年都会出现很多新技术,每年都会有很多程序员来问我:“这个东西有没有前景?要不要学一下?” 不学吧,怕错过风口,被趋势淘汰;学吧,担心学习成本,更担心自己学错了方向,做无用功。 怎么办? 张无忌肯定是没这个问题,有“九阳神功”的底子,想学“太极拳”、“太极剑”,也就是一顿饭的功夫,现学现卖,刚学完就把“八臂神剑”揍得满地找牙。 程序员的“内功”之一,就是学习能力,同样一门技术,别人学一个月,你只需要3天,掌握得比别人还好,掌握好这门内功,新技术出来要不要学,就不会再那么纠结了。 只是这种能力需要长时间沉淀,张无忌学“乾坤大挪移”的招式只用了一天,但“九阳神功”,人家也练了好几年,对不对?

02

令狐冲的“独孤九剑”:背后是思路的革命 工作以后,但凡涉及到“学习”,我第一反应就联想到这个情节: 风清扬教令狐冲“独孤九剑”的那一段。 “独孤九剑”不是剑招,而是“剑法”,或者说,是一种“思维方式”。 风清扬没有传令狐冲一招一式,只是把令狐冲之前学过的招式,创造性地自由组合,行云流水地用出来,威力瞬间增加了十倍。 核心思想是:招是死的,人是活的,只要能解决问题,招数要活学活用。 他甚至鼓励令狐冲自由发挥:“你用完那招“白虹贯日”,剑尖朝上,难道你就不会顺势拖下来吗?剑招中虽没这等姿势,难道你不会别出心裁,随手配合吗?”程序员的江湖,奇迹丛生的世界_程序员_03 招式还是那些招,指导思想变了,令狐冲在几天之内,打败了之前根本赢不了的田伯光。不能不说是个奇迹。 在程序世界里,知识点是死的,需求是活的,一般人和高手的差距,不在于具体的知识点,而是解决问题的思路,没有一本书讲过什么叫“肌肤遮瑕”、“眉毛浓黑”,但是你应该明白,书上有“边缘捕捉”、“大面积着色”、“模式识别”…… 高手的核心竞争力,肯定不在具体的知识层面,你看令狐冲和小师妹,都背过了华山石壁上的招数,用起来,也完全不是一个水平吧? 

03

洪七公的奇迹:理解深度才是关键 《射雕英雄传》里,我最喜欢的是洪七公。 最让我佩服的,是人家一边当“吃货”,还成了武学大师,多少人一辈子勤学苦练,也就是个跑龙套的角色。 人和人的差距怎么这么大呢? 黄蓉第一次见到洪七公的时候,心里犯嘀咕:这个人的岁数也才四十来岁,怎么武功能练到“天下四绝”的境界? 这个场景,让我想起很多人辛苦地熬夜加班连轴转,一个星期没搞定的事情,技术大牛2天就解决了,到底差在什么地方了? 还记得洪七公教郭靖的“亢龙有悔”吗?从招式变化到运功法门,由浅入深,最后从《周易》的角度来分析这一招的原理,嘱咐郭靖“你现在不理解没关系,练上十几二十年就明白了”。程序员的江湖,奇迹丛生的世界_程序员_04 一招“亢龙有悔”牵扯出这么多层面的是,让我想起程序界的“插件搬运工”,遇到需求拼拼凑凑,至于自己引用的函数,到底能不能看懂什么意思,根本没想过:测试过了就行,想那么多干嘛?至于自己能不能写出来这样的函数,怎么灵活运用,就更没想过。 活没少干,但水平还是原地打转。 高手的“深刻理解”也不是一天练成的,只是在每一次做项目的时候,用心一点,尽量搞清楚每一个环节,时间一长,积累的思考足够多,有了深度,面对新需求,一眼就能看透本质,把自己之前的轮子临时调整,分分钟搞定;而划水的人,每一次都在清零,哪怕需求只是改了一点点,也只能忙着去找新的插件。 洪七公这一辈子,主打技能就两样:“降龙十八掌”和“打狗棒法”。但他对武功理解的深度,足以让他用两套技能,应付各种局面。就像一个前端工程师,把vue用得出神入化,不耽误人家一个月40k,相反,有很多程序员不明白:我三大框架都懂一点,怎么工资就是上不去呢? 洪七公优哉游哉吃烧鸡的时间,是用效率省出来的,而效率的背后,是理解深度,是用心。程序员的江湖,奇迹丛生的世界_程序员_05 写在最后的话 故事,尤其是武侠故事,是职场的比喻。 那些在江湖上扬名立万的大侠,放到现在的程序世界,也会变成独领风骚的技术大牛,创造属于自己的奇迹,不见得他们其中的每个人,都天赋异禀、智商超人,更多的,是用正确的方法,修炼好自己的内功,用实际问题锻炼着自己的思路,用心加深自己的理解深度。 这条路,每个人都可以走,但走到头的人,不多;不是因为它本身有多难,而是路边的风景太美,岔路口太多。 当你在修炼内功的时候,有人告诉你:“跟你水平差不多的那谁,换了家公司,工资涨了30%”当你锻炼自己的思路时,有人告诉你:“提交测试能过就行,想那么多干嘛?”当你用心在“深度工作”时,有人告诉你:“光会这一个框架可不够啊,你最好再学门其他的语言……” 朝着正确的方向,用正确的方法,保持好自己的节奏,再加上一点点耐心,好成绩,水到渠成,你自己明白,想得到这样的结果虽然不简单,但也不算难,每一个人都有机会,都能做到,只是大部分走在弯路上的人,管它叫:奇迹。

 

 

程序员的江湖,奇迹丛生的世界_程序员_06