昨晚10点,好哥们阿哲的微信弹了出来,一屏幕的怨气几乎要溢出来:
“代码明明写比同事好,为什么晋升的总不是我?”
我问一句:“你平时怎么跟领导汇报工作的?”
“就说项目进度呗,什么功能做完了,什么还在做...”
我笑了:“兄弟你这不升职真不冤”
在技术世界里代码写得好只是基础,能把事情讲清楚才是进阶的关键。
一、你最大的错觉,领导听不懂技术
大家都有一个致命误区,觉得领导不懂技术所以懒得解释。
但真相是能把复杂的技术问题讲得让小白都能听懂这才是高手。
举个最常见的例子:系统崩溃。
小A会说:“服务器挂了正在修复。”
小B会说:“今天下午3点支付系统因为并发量突增3倍导致宕机,影响了2万笔订单预计损失30万。我们已经临时扩容15分钟内恢复。根本原因是缓存策略有缺陷需要2天时间彻底解决。”
看出区别了吗?
第一种说法,领导一脸懵,到底多严重?要多久?需要我做什么?
第二种说法,领导心里有数,知道影响范围,知道恢复时间,知道后续计划。
这就是为什么有些写代码一般却能快速晋升—因为他们懂得向上管理。
别说"系统很慢",要说"接口响应时间从200ms上升到3秒"
别说"用户在投诉",要说"客诉量增加300%,主要集中在iOS端"
别说"代码有bug",要说"支付模块在金额大于1万时计算错误,影响0.3%的订单"
数据是程序员最好的语言。
这是最考验功力的部分。很多程序员只会说表象:
记住一个技巧:多问自己5个为什么。
为什么慢?因为数据库压力大。 为什么压力大?因为查询没走索引。 为什么没走索引?因为...
这样层层深入才能找到真正的问题。
最让领导头疼的是什么?是你只会提问题不会给方案。
更让领导头疼的是什么?是你的方案不切实际。
好的方案应该包括:
因为在公司,你的代码可能只有20%的人能看懂,但你的表达需要让100%的人都理解。
产品经理需要理解你的技术限制 测试需要理解你的实现逻辑 领导需要理解你的工作价值 跨团队需要理解你的合作诉求
一个残酷的真相:在职场上不被理解的价值等于没有价值。
我见过太多技术大牛因为不善表达而被埋没,也见过技术一般的人因为会讲故事而平步青云。
为什么很多独立开发者赚不到钱?
不是因为技术不行,而是因为不会向用户讲清楚自己的产品价值。
为什么很多程序员创业失败?
不是因为产品不好,而是因为不会向投资人讲清楚自己的商业模式。
这个时代会写代码的人太多了,但能把代码的价值讲清楚的人才是真正的稀缺资源。
所以,下次当你想抱怨领导不懂技术的时候,不妨先问问自己:
我真的把事情讲清楚了吗?
END
记住:代码是写给机器看的,但你的职业生涯是写给人看的。
学会把事情讲清楚,可能比学会一门新的编程语言更重要。