Hazardous Enthusiasm

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

每天我都会与许多程序员打交道,他们要么是自愿为我开源项目做贡献,要么是通过Zerocracy以金钱的形式(我的软件项目都是开源的)。多年来,我意识到他们的行为中存在一种模式,我需要意识到这一点。我称之为“危险的热情”。以下是其症状。

一名新开发者加入了项目。他充满活力,说个不停,花很多时间在项目上,提交新的任务,并提出改进意见。他看起来是一个很好的候选人,我们都很高兴看到他加入。他是天赐的!

然后,当他对事情变得更加清楚时,他开始批评架构。他在Telegram上接近我,问我是否意识到架构是一团糟,如果我们不立即改变,项目将在几内死掉。我试图向他保证我理解,但是…他立即提出了一个改进方案:我们必须从头开始重新做,或者至少摆脱那个对象集合,用他一直在使用的单例和一个非常好的ORM库替代它,它简直太好了,呀呀呀…好吗?我们这么做吧?为什么不呢?

我很少说什么,而是请他提交一个任务。我试图向他保证,我将尽快调查可能性。我还试图以非常礼貌的方式提醒他,我在这里是一个架构师,虽然他的想法听起来很棒,但我不能一次性接受他们所有的想法。然后他说:“让我给你看看!”

几天后,我得到了一个巨大的拉取请求,其中包含了很多看起来有趣的更改,但这些更改完全违背了我已经嵌入到现有架构中的几乎每一个原则。我该怎么办?我为他感到难过。我不得不拒绝这个拉取请求,并试图解释原因。但是没有合理的解释。我只是一个不喜欢创新思想的坏人。

接下来会发生什么?他就消失了。

我曾多次看到这种情况发生,与不同的人。他们都是不称职的程序员吗?我不这么认为。从技术角度来看,他们都很出色。但是他们都缺乏一个非常重要的技能,我相信这是一名专业软件工程师与仅仅学会如何编写Java代码的人之间的区别:微任务管理。

他们根本不知道如何将他们的更改(在大多数情况下都并非没有用)分解成更小的片段,并逐步交付它们。他们希望将他们心中所有的东西一次性推送出去。当然,他们失败了。因为他们面前有一个坏人:我,架构师。

使他们的情况致命的是他们的热情。如果他们不那么激进,不那么渴望做正确的事情,他们会活下来。但他们等不及,也不想采取半吊子的措施。他们想在一个巨大的拉取请求中修复整个世界。

你可能会问,为什么我不能接受他们的更改,让他们按照他们想要的方式修复代码?因为我知道,即使他们看起来像是优秀的程序员,他们也会是糟糕的架构师,正因为他们缺乏微任务管理的技能。如果我接受他们的建议,我只会将我的架构师职责转移给他们。从现在开始,这将是他们的架构。这有什么问题?问题就出在他们缺乏那个技能。他们将无法成为架构师,因为他们无法管理变化,无法逐步交付,并且无法理解与源代码的协作工作的动态。

他们是黑客,不是设计师或架构师。

老实说,当我失去他们时,我感到很遗憾。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:37

sixnines availability badge   GitHub stars