高级工程师应该做些“额外投资” (Side Bets)
原始链接: https://www.seangoedecke.com/side-bets
初级工程师应该专注于分配给自己的任务。原因有二:一是你需要资深工程师的指导与检查,做职责外的事会让他们难以跟进你的进度;二是出色完成手头的本职工作,是你积累口碑和获得晋升的最佳途径。
然而,高级工程师不应该只做被分配的任务。原因也有两点:首先,如果高级工程师把所有时间都花在任务列表(如 GitHub Issues、JIRA 工单等)上,他们很容易错过真正重要的工作;其次,高级工程师应该拿出 10-20% 的时间用来下“额外赌注(Side Bets)”。
什么是“额外赌注”?它是指你认为对公司有价值,但还没被其他人注意到的自发项目。不论是新功能、性能优化,还是能提升开发效率的改进,只要能带来实实在在的收益都可以。
强调“具体收益”非常重要,因为下这种“赌注”带有风险。往好了说,你只是浪费了自己的时间——没有实际收益又不是上级要求的工作毫无意义,你还不如把时间用来陪家人、散步或打游戏。往坏了说,你可能会惹恼管理层,给他们留下一个“总把时间浪费在无用功上”的坏名声。
事实上,很多这类项目都会失败。你做出来的东西可能没人用,或者并没有让系统变得更好更快。遇到这种情况,少说为妙。没必要大肆宣扬你在这上面花了时间,默默承担沉没成本,继续做下一件事就好。
那为什么还要做?最大的原因在于:只要成功一次,所有的付出就都回本了。这是建立良好声誉的绝佳方式。原因在于“替代价值”的区别:常规工作哪怕你做得再好影响再大,换个工程师来做可能也能达到同样效果;但你自己发起的项目,哪怕只产生了一点点积极影响,那也是你独一无二的功劳,因为别人根本想不到去做。
一旦你的项目成功了,就要大胆宣传。写篇内部文章、在 Slack 里发个通知、汇报给经理、向同事展示成果——因为别人原本并不知道你在做这个,你必须主动让大家看到。这也是一种倒逼机制,能检验你的项目是否真的成功:如果你觉得没底气去炫耀,那多半是因为它带来的实际收益还不够拿不出手。
在任何时候,我都会同时进行一两个这样的项目。有时耗时一两周,有时要几个月。比如我最近在 GitHub 做的两个项目(能公开讲的):一个是开发了“在编辑器中打开提示词”按钮,另一个是将 AI 推理权限直接集成到 GitHub Actions 中。结果那个按钮彻底失败了,没人用它。但 Actions 的集成很成功,不仅有真实的访问量,我们交流过的客户还会主动夸赞它。有输有赢,这很正常。
我喜欢做“额外赌注”,因为在大型科技公司里,这是最接近“纯粹以结果论英雄”的方式。如果你次次都能赌赢,那你大可以把 90% 的时间都花在这上面,并获得极大的认可;如果你总是失败,说明你的判断力可能不太行,趁早收手。我每年大概能成功两三次,我觉得这已经很不错了。
总结
- 你应该完成分配给你的任务,但如果你是高级工程师,应该拿出 10-20% 的时间做你认为重要的事。
- 如果成功了,让所有人都知道。
- 如果失败了,果断放弃,默默开始下一项。
- 成功的标志是它能带来具体的收益。
- 如果你总是失败,也许是时候停下来了。
如果你喜欢这篇文章,可以考虑 订阅 接收我新文章的邮件更新,或者把它 分享到 Hacker News。下面是一篇标签相关的文章预览:
优秀工程师如何打破常规并安然无恙
在每家大型科技公司里,都有一些工程师因为公然打破常规而受到奖励。这对某些循规蹈矩的软件工程师来说可能会很让人沮丧。事实上,打破常规在大型科技公司里是受到系统性奖励的,这是有充分理由的。但这把工具很锋利——你如何以及何时打破常规非常重要。优秀的工程师是有意、谨慎地打破常规,并以能够保护他们经理的方式进行的。
继续阅读...