程序员真正的天花板,不是技术,是表达
做了16年技术面试过几百个人也带了不少人往上走。如果让我总结一条最反直觉的规律是这样的一个程序员的职业发展高度跟他技术能力的相关性没有我们以为的那么高。这话不是说技术不重要。技术是入场券没有它你连门都进不来。但进了门之后决定你能走多远的往往是另一个东西——表达。不是那种口若悬河、PPT做得漂亮的表达而是一种更本质的能力能不能让别人看到你的价值。我见过两种程序员。第一种技术确实强。系统架构他设计得最合理线上问题他排查得最快代码review他提的意见最到位。但你问他做了什么他说不清楚。让他汇报一下项目进展他憋了半天蹦出来一句还行在推进。年终述职的时候他写了满满一页技术细节但领导看完之后不知道他今年到底做了什么有价值的事。第二种技术中等偏上不是最强的那个但他有一种本事能把自己做的事情讲明白。技术方案评审的时候他能用三分钟说清楚为什么要这么设计、trade-off是什么、风险在哪。跟产品对需求的时候他不只是接需求还会说这个需求背后的问题其实是XX如果用YY方案可能更好。项目结束复盘他能清晰地总结出做对了什么、踩了什么坑、下次怎么改进。你猜这两种人五年后谁走得更高不需要猜。我带过的人里面这两种结果我都见过。而且答案非常一致——第二种人的发展轨迹几乎总是好于第一种。不是第一种人不值钱是他的值钱没人看得见。你可能会觉得这不公平。凭什么技术好的人反而吃亏凭什么会说的人就能占便宜但如果你仔细想想这件事其实很合理。一个公司里决定你升不升职、加不加薪、拿不拿到好项目的人是谁是你的领导以及你领导的领导。他们不可能像你一样了解你每天在做什么。他们对你价值的判断80%来自于你在各种场景下表达出来的东西——周会上你怎么汇报、方案评审时你怎么呈现思路、跨部门协作时你怎么推动事情、一对一沟通时你怎么反馈问题。这不是不公平这是组织运转的客观现实。一个人做了十分的工作但只能表达出三分在组织眼里他就是三分的人。另一个人做了七分的工作但能表达出七分在组织眼里他就是七分的人。你的技术能力决定了你能做出多少价值你的表达能力决定了这些价值有多少能被组织识别和认可。两者缺一不可。而且说实话“技术好但不会表达这件事在技术圈里太普遍了。普遍到大家已经把它当成了一种性格特点而不是能力缺陷”。你会听到很多人说我就是不爱说话、“我不擅长这些虚的”、“让代码说话就好了”——好像不会表达是一种值得骄傲的事情。但它不是。它是一个真实的、正在限制你发展的瓶颈。说到这我想聊聊我自己。我是一个很内向的人。入行的时候开会从来不主动发言领导问意见就说我没什么特别的想法。同事讨论技术方案我就算有不同意见也懒得开口觉得反正说了也不一定听。很长一段时间里我觉得这没什么问题。我代码写得好bug少交付准时这不就够了吗但后来我发现我做的东西经常被别人的方案覆盖。不是别人的方案更好而是他讲出来了、被讨论过了、被认可了而我的想法还在我自己脑子里。有一次晋升答辩跟我同级的另一个人讲得头头是道评委频频点头。轮到我我讲了十分钟评委问的第一个问题是“你能具体说说你这个项目做了什么吗”那一刻我才意识到你以为代码会说话但代码不会替你晋升。后来我开始有意识地练。不是练口才——我到现在也不擅长即兴发言或者侃侃而谈——而是练一种更朴素的东西把自己的工作讲清楚。这个讲清楚我后来拆解成了几个具体的能力。第一能用三句话说清楚一件复杂的事。这是最基础也最重要的。很多程序员一讲技术方案就停不下来从背景讲到细节、从细节讲到代码、从代码讲到框架版本五分钟过去了还没说到重点。我的练习方法是每次汇报之前先问自己——如果领导只给我30秒我最想让他知道的一件事是什么然后把这个答案放在最前面说。剩下的细节等他问的时候再展开。先说结论再说原因最后补细节。这个顺序对大多数技术人来说都是反直觉的——我们习惯从背景讲起一步步推导到结论。但在沟通场景里对方没有耐心等你推导完。第二能在被问到的时候给出有价值的观点。开会的时候被问你觉得呢是很多技术人最慌的时刻。我以前要么说我没什么想法要么说都行你们定。后来我给自己定了一个规矩每次被问到意见至少说出一条有内容的回应。不需要多精彩但要有信息量。比如我对这个方案有一个顾虑——XX场景下的性能问题我们验证过了吗“或者我觉得可以但有一个前提条件需要先确认——XX依赖方那边排期能对齐吗”这种回应看起来很简单但它传递了一个信号你在思考而且你的思考是有价值的。第三能在不确定的时候依然开口。很多技术人不敢表达不是因为没想法而是因为不确定自己的想法对不对。怕说错了丢人怕被反驳怕暴露自己不够专业。但说实话工作中80%的讨论都不需要你说出100%正确的答案。大多数场景下你需要做的是提出一个方向性的判断然后接受讨论和修正。比如我倾向于方案A主要考虑是XX不过XX方面我没太想好——这就够了。它比我没什么想法有价值一百倍。我自己到现在也没有完全克服这种不确定就不想说的惯性。但我学会了一个小技巧在说完观点之后加一句这是我目前的判断不一定完整大家补充。这句话不是谦虚是给自己留了一个安全的空间——你表达了同时也不需要对全对负责。带团队这些年我对表达这件事有了更具体的体感。我发现团队里那些发展得好的人不是话多的人而是表达精准的人。他们说话不一定最多但每次开口都有信息量。有个同事我以前带过后来去了更大的平台。他技术在我们团队里不算最顶尖的但每次技术方案评审他讲的东西所有人都听得懂、记得住。他有一个习惯写方案文档之前先写一页executive summary——用最简单的语言告诉读者这个方案解决什么问题、为什么选这个方向、有什么风险。就这一页纸让他在跨部门协作中永远是最有话语权的那个人。还有一个同事技术非常扎实但汇报永远是嗯……做了……还行……在推。有一年晋升答辩他准备了两周讲的时候还是磕磕巴巴最后没过。后来我跟他聊我说你技术绝对够但你得学会让别人看到你的技术。他花了一个月专门练述职表达第二年再答辩一次过了。这两个人之间的差距不在技术在表达。如果你也觉得自己技术还行但不会表达我分享几个我自己在用的练习方法不需要你是外向的人不需要你能言善辩内向的人也能练。练习一每周写一段工作摘要。每周五下班前花十分钟写一段话总结这周做了什么、解决了什么问题、有什么需要关注的风险。不用多200字以内。写完之后读一遍问自己“如果这段话发给我领导看他能知道我这周的价值吗”这个练习不是在练写作是在练提炼和呈现的能力。你会慢慢学会从一堆琐事里找到最有价值的那条线。练习二在每次会议前准备一句话观点。开会之前花两分钟想一想这个会议最核心的议题是什么我对这个议题的看法是什么如果只让我说一句话我会说什么把这个一句话记下来开会的时候找机会说出来。一开始可能说不出口没关系先在会后用文字发给相关负责人也行。重要的是养成开口之前先想清楚要说什么的习惯。练习三模仿一个你佩服的表达者。在你的工作环境里找一个你觉得说话很清楚、很有说服力的人。观察他怎么汇报、怎么讨论问题、怎么回应质疑。不需要全盘模仿只要学他的一两个习惯就行。比如他习惯先说结论再展开你也可以试试比如他在被质疑时习惯说你的顾虑我理解我补充一个信息你也可以试试。练习四录下自己的一次汇报然后回放。这个方法有点痛苦但非常有效。用手机录下你的一次工作汇报或者方案讲解不需要给别人看回放的时候注意三件事你有多少次用了可能“大概”我觉得这样的弱化词你有没有在一个点上停留太久导致重点被淹没你的开头第一句话能不能让别人知道你要讲什么录一次你就知道自己表达上的问题在哪了比任何建议都直接。最后说几句掏心窝的话。我知道很多技术人对表达这件事有一种本能的抗拒。觉得它是虚的、是搞关系、是不务正业。我们从小接受的教育就是学好数理化走遍天下都不怕好像只要手艺好其他都是花架子。但现实是技术能力是你手里的牌表达能力是你打牌的方式。手里拿着好牌但不会打跟手里牌一般但打法精妙最后的结果可能差不多甚至后者更好。我不是说你要变成一个八面玲珑的人。内向的人不需要假装外向沉默的人也不需要强迫自己话多。但你需要学会在关键的时刻、关键的场景下把你的价值清晰地传递出去。这件事不容易我练了十几年年也没练到完美。但每进步一点回报都是实实在在的。你的技术天花板可能比你想象的高得多。但在那之前你得先翻过表达这道坎。人到中年最大的变化是学会了不急。带团队也好找第二曲线也好都不必非要在某个节点交出满分答卷。每天做一点新的尝试被年轻人带飞几次被自己蠢哭几回这一天就没白过。不油腻的秘诀保持被打脸的机会然后笑嘻嘻地爬起来。关注我聊点程序员职场里的真话。你有没有过明明做了很多但说不出来的经历评论区聊聊。