天天加班却不受重用?大佬聊职场进阶
导读每天疯狂搬砖加班加点地完成一个又一个任务提交的代码行数在团队中名列前茅遇到不懂的逻辑也绝不废话闷头硬啃。你的工作状态是不是也是这样在潜意识里甚至把这种“高度配合”的踏实与勤奋等同于自身价值的护城河。然而这往往是一种一厢情愿的认知错位。前阵子软件工程领域的泰斗、极限编程创始人Kent Beck撰写了一篇火爆全网的犀利长文《嘿菜鸟我们雇你来不是为了完成任务的》。前端领域的一代宗师、ESLint 创始人Nicholas C. Zakas也在其职业生涯回顾中留下了 7 条字字珠玑的自省建议。把这两位顶级大佬的思考放在一起交叉比对你会惊出一身冷汗那些在系统演进和职场博弈中走得最远的人从来不靠“计件”取胜而那些每天闷头刷任务、追求高频交付的人可能正在一步步滑向边缘。今天我们就来拆解一下两位大佬眼中高阶工程师的成长与变现逻辑究竟是什么。公司的底层逻辑我们雇你是在买一份“未来期权”很多职场新人甚至是工作了几年的熟手都有一个这样的认知“公司付我薪水我帮公司干活一手交钱一手交货天经地义。”但这只是表象。Kent Beck 直接戳破了这个幻象如果单纯为了“完成当下的任务”一个复杂的功能熟手自己动手可能只需要 20 分钟而交由一个新人去做往往需要经历数天的试错以及在代码审查中的反复拉锯。如果仅仅关注眼前的绝对生产力公司为什么要花更高的综合成本雇你“我们现在支付你的薪水其实是为你未来将成为的工程师购买‘期权费’。”—— Kent Beck优秀团队真正的账本是这样的他们愿意支付当下的薪水并投入资深人员的带教时间这些在短期内都是高昂的成本去对赌你未来能成长为独当一面的核心骨干这是长期的复利收益。因此在团队的考察中证明自己具备“升值空间”远比证明自己“是个便宜好用的工具人”重要得多。拒绝当 C 类做稳 B 类如何向 A 类跃迁在团队里每个人其实都在被管理层和资深人员打上隐形的标签你是能带来生产力爆棚的 A 类博弈者还是表现稳健的 B 类执行者亦或是正在悄悄增加团队熵值的 C 类高危人员对照以下两张清单我们可以清晰地厘清技术人员的价值分水岭。安全防线从 C 类到 B 类的“及格线”作为执行层想要不掉队核心不是立功而是不添乱在合理时间内完成并交付不要闭门造车如果快到初始预估时间还没搞定要提前暴露风险而不是等截止日期到了才摊手说“我没搞定”。低级错误绝不犯第二次犯错是新人的特权但同样的低级错误如引入明显的格式或语法问题犯两次你的团队信任度会呈断崖式下跌。零容忍的底线虚报进度、谎称做了没做过的工作这种“作弊”行为会被一票否决归入 C 类。打破天花板从 B 类向 A 类跃迁的“高光信号”区分 A 类和 B 类的标准不是你完成了多少任务而是你从每个任务中沉淀了多少价值以及给团队带来了多大的正向杠杆。以下是 Kent Beck 列举的一些典型 A 类信号逆向思考你能有力地论证这个任务根本没有做的必要。ROI 意识你通过数据分析找出了能产生 90% 收益的那 10% 核心工作。多维探索你用多种技术方案实现了任务并做出了清晰的架构对比。修路而非赶路你发现了一个更好的设计不仅完成了任务还顺手简化了系统的其他部分。工程素养你提交的是一系列小而清晰的变更而不是一个包含成百上千行变更的“大炸弹”。杠杆效应你编写了一个内部通用工具来简化同类任务。跨域贡献你在与自己团队不直接相关的领域提交了有用的基础设施代码且没有耽误你的正职工作。沉淀输出你以有趣、有用且有说服力的方式写下了在此次任务中的所学所悟。团队贡献你是一个有洞察力且响应及时的优秀代码审查者。工程底线你编写了高质量、高覆盖率的单元测试Kent 吐槽道我倒希望这只是 B 类的及格线但现实中很多团队把它当成了 A 类信号……。所有的 A 类信号都有一个共同点——它们比单纯完成任务所需的时间更长。但这不代表你可以永远沉迷于旁枝末节。一定要在合理的时间内把任务搞定只是别为了追求那个“绝对最短时间”而放弃了长期的工程投资。然后把高效交付省下来的时间投资在那些能让他人受益的自我提升上。A类之上硬核技术之外的两道分水岭Zakas 在其职业生涯回顾中指出当一个工程师在专业领域深耕到一定阶段给出高质量的交付产出已经不再是问题时往往会迎头撞上一面隐形的墙很多技术人终其一生都在这面墙下打转。因为当个人技术能力过关后下一步的实质性提升不再是堆砌熟练度而是越过自己难以认同的“思维转变”1. 从“被动接受”到“主动推进”Zakas 在他的 7 条职业自省建议中特别提到了工程师中后期的瓶颈主人翁意识的缺失导致其无法完成从被动接受到主动推进的跃迁。大部分普通工程师一辈子都在解决 “How怎么做” 的问题——架构师定好了技术方案产品经理写好了业务逻辑你负责用代码把它们堆叠出来。在这种状态下你只是一个昂贵的“代码翻译器”。而真正拉开身价差距的是那些开始思考 “What做什么” 和 “Why为什么” 的人为什么这个高并发业务场景要采用这种弱一致性方案这个链路经常出故障我们是不是可以设计一个自动化工具一劳永逸地解决这个上下游的偶发性 Bug当你不再是坐在会议室角落里被动接受指令的听众而是成为了整个系统演进的驱动者时你才真正构筑起了属于自己的工程壁垒。2. 从“孤军奋战”到“学会协作与带领团队”在技术进阶的早期单兵作战能力决定了一切。但个体的精力和时间是有物理极限的一个人就算不吃不喝一天也只能产出 24 小时。Zakas 在向主管请教如何获得进一步提升时得到了一个极其深刻的反馈“当你的技术能力过关以后就要考验你与他人相处、带领团队协同工作的能力了。”很多硬核工程师对“管理”和“带人”抱有本能的排斥认为那是务虚。但在真正的复杂系统中“学会与他人相处”是一种更高级的能力放大器。你能否清晰地向非技术人员推销自己的架构理念并达成共识你能否克制住“不如我自己写来得快”的冲动去辅导、带领周围的人让整个团队的生产力爆棚高级工程师的最终形态往往自带一种“不依赖头衔的领导力”。正如 Zakas 所强调的哪怕你现在还不是主管也要开始学着承担责任成为那个“提出解决方案的人”而不只是“提出问题的人”。写在最后拿省下来的时间投资给自己回到核心论点在高级工程师和管理者的眼中单纯的任务关闭数量无法提供足够的评判信息他们关心的是你的工程潜力。如果你只做被分配的任务且缺乏思考那就是 C。如果你高质量地完成任务、及时沟通且不添乱那就是 B。如果你能在任务中主动承担责任、优化系统设计、沉淀工具让团队受益那你就是 A。看到这里你可能会产生焦虑“我已经忙得不可开交了天天加班哪有时间去想什么架构、工具和技术沉淀”这正是两位大佬给技术人开出的药方1. 别放弃“动脑的机会”疯狂刷任务很多时候并不是因为你无可替代而是因为待在“只要堆代码就能看到产出”的舒适区里最安全。试着去优化你的时间管理、单测策略和提交习惯在合理的时间内解决战斗但不要为了追求“绝对最短的交差时间”而放弃代码背后的复盘机会。2. 生活不全是工作正如 Zakas 所说“生活才是最重要的”把工作和生活分开真正重要的事情往往发生在工作以外。工作环境中的历史债务、扯皮的流程并不值得你投入无限情绪把它当作工作问题看待保持心平气和。把你在高效工作中省下来的时间投资给自己——去阅读、去重构、去跟更高段位的人交流探讨。记住拉开工程师差距的并不是你在电脑前敲击键盘的绝对时长而是你在每一个任务背后的思考深度与价值发掘。