狂刷 JIRA 工单只是个小把戏,并非提升影响力的正道
不要成为无脑刷 JIRA 工单的“丧尸”!很多有上进心的初级工程师(包括曾经的我)常因为团队进度慢而感到沮丧,于是决定“不管了,我要把这些工单全刷完”。在很多团队里,做别人两三倍的工单并不难。但这其实是一条死胡同。你最多会得到一句夸奖“干得好,别累坏了”,但这对你晋升高级工程师毫无帮助。
你在公司想要的一切——升职、加薪、受人尊重——都来自于成功交付项目,而不是疯狂关闭工单。当然,刷工单在某个阶段也是有用的:可以让你了解自己的工作速度、快速熟悉代码库、并在同事面前建立信誉。但到了一定阶段,你必须从“有活就干”转变为“优先去做最重要的事情”。
如何去做重要的事情?
重要性由什么决定?在科技公司,总监/副总裁/高管说重要的事,就是重要的事。这是字面意思。作为工程师,你的工作是执行公司战略,而战略是高管定的,所以你要与他们眼中的重要事项保持一致。在任何运作正常的公司,他们都会反复强调这些事,你应该多加留意。
你要果断放弃不再重要的工作。如果你交付了一个项目,而管理层已经开始讨论下一个目标,那就停止继续优化旧项目。在我的经验中,继续打磨已交付的项目是个常见错误。宣布胜利,然后继续前进!
确定优先级的法则非常简单:
- 我现在做的是最重要的事情吗?
- 如果不是,放下手头的活,去做最重要的事。
你每天至少应该问自己两次。这是很多工程师常犯的第一个错误:根本不去排优先级,每天一来就接着干昨天的活,或者随便领个新工单。
第二个错误是不知道什么才是最重要的。以下是我在实际工作中的判断顺序:
- 有没有正在发生的、备受关注的线上事故(比如高管正在过问)?如果有,我能帮忙吗?
- Slack 或 JIRA 里有没有我能回答的问题?有没有人在等我们团队的回复?
- 对于我负责的项目,按重要性排序:现在能发布吗?如果不能,我现在能做点什么来加速发布(比如部署代码或审查 PR)?
- 对于我们团队正在做的项目,按重要性排序:有没有我能接手的活来推进进度?
- JIRA 看板上有没有“准备开发”的工单?
注意,看 JIRA 看板是最后一步,而不是第一步。记住,公司看重的是项目,不是工单。
如果你做对这一点——把时间只花在最重要的事情上——即使每周工作不到 40 小时,你也能产生巨大的影响力。很多工程师工作缺乏明确方向,只要你每天做一两件真正有用的事,你的效率就会显得异常出众。
这不是你经理的错
讲个我在工作中生过最大气的故事。职业生涯早期,我曾花极大精力去维护一套测试环境的集成测试。这项工作很难:要随着应用更改保持测试更新、确保账号池等状态健康、还要应对网络慢等偶发问题。我为此熬了好几个月,把一片飘红的测试跑成了近乎 100% 绿灯。结果在一次会议上,我的经理随口说我不该在上面花这么多时间,因为这没那么重要。
我中途愤然离席(这是我职业生涯唯一一次)。我走进一个空会议室坐下,直接更新了简历。我觉得自己辛苦做的重要工作被完全否定了。事后看来这挺可笑的。我很努力!但经理否定得对,因为我做的根本不是我真正该做的工作。
类似的故事经常发生。某个工程师觉得某项任务很重要(比如支持一种冷门的输入格式,或清理某些技术债务),然后花了几周或几个月去做。他们遵循了所有正确的敏捷开发流程:提前与经理沟通、建工单、把代码拆分成模块化 PR。但当这个项目第一次与公司真正的价值发生冲突时,他们就被要求停止,这让他们为白费的努力感到愤怒或沮丧。
这是管理的失败吗?是,也不是。理论上,经理可以早点警告他们这些工作优先级低,不值得做。但当资深工程师说某项技术工作很重要时,经理往往会信任他们。而且经理沟通优先级时往往比较委婉,比如会说“如果你觉得值得做就去做吧”,而不是直白地说“我看不到这项工作的价值”。
经理不够可靠还有另一个原因:公司口头上宣扬的价值观常常与实际价值观相左。当我是个初级员工并痴迷于集成测试时,我的经理不会告诉我“其实公司没那么在乎测试偶尔失败”,因为公司内部一直在大力宣传测试有多重要。我自己有责任去判断该把这些口号当多真,并与其他任务进行权衡。
谨慎试图去改变公司的方向
最容易产生价值的方法,就是弄清楚你的组织当下最看重什么,并参与其中。虽然很难判断公司宣称的“第十大要务”是不是真的有价值,但其首要任务通常都是有价值的。你通常可以直接问你的经理(或跨级领导),他们的首要任务是什么。或者,多留意跨级领导及更高级别高管在 Slack 或会议里都在问些什么。
最难产生价值的方法,是发现组织没有做的重要事情,并试图说服他们去做。这相当于打赌公司高管没看清自己想要什么,而你比他们看得更准。
也许你是对的!尤其当你的公司是做开发者工具(比如 GitHub)时,你可能会有独到的见解。但风险很大。即使你说服了他们,这件事也未必会被排上高优先级。一旦风向转变,你努力推动的项目很可能就会变得不再重要。然后你就会落得跟我当年做自动化测试一样的下场:在一个公司不重视的困难技术任务上投入太多心血。
我不是在劝退你去向公司推销点子。做成这件事会给你带来极大的成就感。只是你要谨慎行事——如果没成,你投入的时间可能颗粒无收。
总结
- 狂刷 JIRA 工单只是个吸引眼球的小把戏,不能带来真正的影响力
- 想做重要的任务,就要刻意关注你的管理团队认为什么重要
- 果断放弃不重要的工作
- 不要完全依赖直属经理告诉你什么值得做
- 说服公司某项任务很重要可能会成功,但风险很高
编辑注:这篇文章在 Hacker News 上引发了热烈讨论。很多评论者以为我的意思是“刷工单毫无价值”,并非如此。正如我在第二段所说,刷工单在某些阶段是有用的。但到了一定时候,你应该跨过这个刷工单的阶段。
如果你喜欢这篇文章,可以考虑订阅我的邮件更新,或者[将其分享到 Hacker News](news.ycombinator.com/submitlink?… JIRA tickets is a party trick, not a path to impact)。下面是一篇有相同标签的相关文章预览。
如何让我两次晋升为 Staff 工程师
2021 年初,Zendesk 将我晋升为 Staff 软件工程师。2021 年底,我跳槽到了 GitHub。2023 年初,GitHub 又将我晋升为 Staff 软件工程师。两年内两次成功通过 Staff 晋升流程是一次非常有趣的经历,我认为这让我有了很好的立场来谈谈如何完成从 Senior 到 Staff 的跨越。
继续阅读...