What Motivates Me as a Programmer

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

我写了很多关于管理和激励的讽刺文章,批评了一些传统而非常流行的做法。现在我决定仔细思考并总结当我作为一个程序员为别人工作时,实际上是什么激励了我。假设你明天雇佣我作为一个Java编码员,并问:“为了让你最有效率,我们应该为你做些什么?”这将是我的心愿单。

这个列表没有特定的顺序。

远程工作。我喜欢在办公室里工作,但我讨厌被迫在9点到5点呆在那里。对我来说,能够在任何地方工作非常重要。大多数公司都声称可以,但实际上我每次决定在家工作时还是要“通知”你。相反,我希望在我决定去办公室时再通知你。换句话说,我的默认状态应该是“不在办公室”。

任务的隔离。我讨厌对别人的错误负责,而且我不是一个很好的团队合作者。我想独立解决问题,并对自己的成功和失败负责。这就是为什么明确定义和隔离的任务能够激励我并帮助我保持专注和兴趣。我想看到它们的书面表达(作为工作票),并且我想确切知道完成的定义是什么。简单说,完成任务需要我做什么?

责任边界。我讨厌感到害怕,尤其是如果我真的不知道我应该害怕什么。我想知道我可能受到的惩罚是什么,以及它们何时发生。我需要知道游戏的规则。比如说,我在代码中犯了一个错误,导致我们损失了10万美元。我会受到什么后果?或者说,我没有在截止日期前完成任务。或者我没有回复一封电子邮件。或者我在代码审查中漏掉了一个错误。或者我打破了“master”分支。后果是什么?对它们的明确解释将严重提高我的动力。

开源。我是开源的忠实粉丝。如果你不是,我很可能不会喜欢为你工作。如果你的公司将一些代码开源,而我是其中的一部分,那将严重影响我的动力,因为我将同时实现两个目标:赚钱和在开源世界中变得更受欢迎。对我来说,纯粹封闭的软件项目是一种缺乏动力的因素。

项目的可见性。我很想看到我的名字与一个对外可见的项目挂钩。而且这个项目不一定非得是Google或Facebook。实际上,在这些公司里,普通程序员比在小型创业公司里可见度要低得多。所以,除非你让我成为首席工程师副总裁,否则我不会认为在大公司的职位在这方面很有趣。最有趣的项目将是一个有着雄心壮志和高媒体曝光度的小型创业公司。即使只是作为一个普通程序员在那里,我也会非常有动力。

明确的层级结构。是的,我听说过holacracy、扁平化自我管理团队等现代理念。我都讨厌。我相信任何管理都是基于权力和强制的,避免这些相当暴力的概念的负面影响的最佳方法是组织和结构化它们。如果一个团队没有明确和明确定义的角色层级体系,它很快就会变成一个毒蛇窝,充满政治斗争、背后捅刀子和幕后游戏。所以,如果你不能准确告诉我谁是我的老板,以及群体的指挥链是什么,我根本不会认真考虑这个地方,也不会有动力。

请不要使用敏捷/Scrum。我还需要再说什么吗?

支付结构。我讨厌猜测钱的事情,我更愿意知道数字和背后的逻辑。我想确切地知道我将得到多少报酬以及何时。我想知道数字什么时候会上升以及我如何影响它。此外,我想了解公司的支付政策,理想情况下,还想知道我周围的人的薪水或费率。嫉妒心会因为获悉有人比我拿得更多而产生,即使我的薪水还过得去,也不会激励我。如果我从第一天就知道一切,那对我来说会容易得多。

业务透明度。如果不是我的大想法,我讨厌为大想法工作。主要是因为我知道几乎所有的大想法都会失败。为一个失败的项目工作,并被告知我们的未来光明并不能真正激励我。所以,我希望你能够坦诚告诉我为什么与投资者的会议持续了三个小时而不是一个小时,以及为什么门紧闭。此外,我还想知道为什么我们的首席技术官几周前辞职,现在为我们的竞争对手工作。我想知道我们在市场上的真实情况,以及为什么网络流量统计数据在下降。换句话说,我要么是被蒙在鼓里的奴隶,要么是知道真相并且有动力(不管真相多么丑陋)。

按结果支付。除了我的项目外,我从未见过这种情况,但我相信这才是良好团队应该建立的方式:每个人都必须根据结果而被支付,而不是按小时/周/月/年计费。如果你想让我真正有动力,你必须发明一种支付结构,使我的薪水与我的结果相对应。我认识到,这可能需要你改变整个管理系统,所以我并不坚持。但你必须记住,只要你只付给我工作时间的报酬,我会尽力从中获益。

职业发展路径。我没有问题从初级开发人员开始,但我必须确切知道我的未来是什么,以及它将在何时发生。我想成为首席技术官,无论如何。这不仅仅是一个头衔的问题,更关乎我将拥有多少技术权威和责任。我想要所有这些。如果我看不到明确的实现这个目标的途径,我会非常缺乏动力,并把我的工作当作临时的。我总是会寻找一个更好的地方,一个更容易成为首席技术官的地方。所以让职业发展对我明显可见是你的工作。如果我永远不可能成为首席技术官,那也请明确告诉我。毕竟,真相总是更好的。

强悍的上司。这可能是我最重要的要求。我无法在一个软弱的经理下工作,这会从第一天起严重削弱我的动力。我可能会再写一篇关于什么是“强悍经理”的博客文章,但简而言之,一个“强悍经理”是指一个愿意为自己的想法、权益、思考、决策等奋斗的人。一个软弱的经理只是随波逐流。在这样的经理下工作是一种巨大的挫败和浪费时间。我会失去动力,无论给我多少钱都无法保持兴趣。

这些事情一点都不重要,我甚至不会问:

  • Business domain

  • Tech stack

  • Location

  • 公司规模或结构

  • 团队中人们的种族、性别、性取向、宗教或政治信仰

  • 公司的财务状况

当然,我并不认为这个清单适用于所有人。其他程序员可能有其他观点,或者可能不同意我的观点。

附注:我很可能会远离从事我认为不道德的业务,比如腐败、赌博、犯罪等。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-16 at 15:32

sixnines availability badge   GitHub stars