[译] 完成的艺术

作者 Leehyon HNG | 4185 字, 9 分钟 | 0 评论 | 2024-10-29 | 类别 Articles

personal-growth, productivity, reading, translation

AI 摘要

这篇文章讨论了完成项目的艺术,作者分享了自己在处理多个未完成项目时的经历和感受。文章指出,开始一个项目容易,但完成它却往往充满挑战。作者分析了导致项目拖延的心理因素,如对完美的追求、对失败的恐惧、以及缺乏明确截止日期等。文章还探讨了未完成项目对个人心理和职业发展的影响,强调了完成项目的重要性。最后,作者提出了一系列策略,如定义项目的完成标准、采用最小可行产品(MVP)方法、设定截止日期、练习完成小任务、区分构思与实施、庆祝完成等,以帮助克服完成项目的障碍。

Original: The Art of Finishing - Tomas Stropus (Sep 2, 2024).


这是一个宁静的星期六下午。我安排了几个宝贵的小时来编程,手里拿着一杯热咖啡,熟悉的冲动让我想要投入一个项目。当我坐在椅子上,打开终端时,我面临一个已经非常熟悉的挑战:决定要处理哪一个未完成的项目。我导航到我的项目目录,迎接我的是一堆半实现的想法和停滞不前的工作进展。每一个都代表我试图解决的不同问题,我尝试掌握的不同技术。它们都很有趣,每一个都有其目的和潜力。但当我浏览它们时,我已经感到热情在减退。我知道无论我选择哪一个,我不仅要面对原来的问题,还要面对自上次查看代码以来出现的新挑战。

经过一些思考,我做出了选择,启动了我的 IDE。当我拉取最新的更改并开始考古式的挖掘我的提交历史时,我为我知道会发现的东西做好了准备。当然,那里有:一个未完成的前端任务,更像是线框而不是精致的 UI。或者也许是一个库集成,遇到了我没预料到的限制。或者,以经典的过度设计风格,我为一个可以用一个简单脚本解决的问题构建了一个复杂的架构。

我卷起袖子,投入工作。接下来的几个小时在一片活动中迅速过去——重构代码,调试集成问题,或与 CSS 挣扎以使那个组件对齐得恰到好处。很快,我分配的时间到了。

当我准备离开桌子时,我不能摆脱一种沮丧的感觉。我开始时充满乐观,准备大有作为。而现在,我余下的是一种挥之不去的不足感。尽管我的努力,似乎进展微乎其微。代码库仍然是 TODO 评论和半实现功能的迷宫。每解决一个问题,软件开发的九头蛇就长出两个新头。

这种热情、挣扎和失望的循环已经变得太熟悉了。这就是九头蛇项目效应:无论我取得多少进展,总会有新的挑战冒出来。但尽管这种模式似乎牢不可破,我决心找到驯服这种野兽的方法。在这篇文章中,我将探讨摆脱这个无尽开端和不满意中间的循环的策略。是时候学习完成的艺术,彻底击败这个九头蛇,最终体验到完成一个项目的满足感。

bytedrum-project-hydra

无尽项目的吸引力

在无限可能的领域中,有一种特定的舒适。当一个项目进行中时,它可以是任何东西。它是薛定谔1的项目——在你真正完成并推出世界之前,它同时是完美和有缺陷的。你宣布一个项目“完成”的那一刻,你就打开了批评的大门,无论是外部的还是内部的。如果它不够好呢?如果我错过了某些关键的东西呢?

这种对结局的恐惧,加上新想法的兴奋,创造了一个理想的环境来拖延项目。总是比推动项目进入最后、往往乏味的完成阶段更容易开始新项目。但这不仅仅是恐惧。

一个未完成的项目充满了令人陶醉的潜力。它可能是下一个大事件,一个革命性的想法,或者你的杰作。这种潜力往往比完成品的现实更令人兴奋。此外,熟悉的进行中的项目也是一种安慰。你了解代码库,你理解问题,你在你的领域里。开始新的事情意味着面对未知,这可能令人畏惧。

假生产力的幻觉也起了很大作用。只要你在做某事,你就觉得自己很有生产力。在项目之间跳跃给你一种“新项目能量”的恒定流,这感觉比完成一个项目的磨练更有活力。这是一种避免完成时需要做出的艰难决定的方法。你是否砍掉花了几周时间但不太合适的功能?你是现在发布还是再花一个月打磨?通过保持项目进行中,你可以避开这些挑战性的选择。

个人项目中没有截止日期给这种复杂性增加了一层2。没有外部压力的截止日期,很容易陷入完美主义的陷阱。我们发现自己无休止地调整和改进,始终追逐那难以捉摸的“完美”解决方案。讽刺的是,这种追求完美往往导致不完美的结果——甚至没有结果。在我们的职业生活中,截止日期迫使我们优先考虑和做出实用的决定。但在个人项目中,无限时间的奢侈可能成为诅咒,让我们合理化地花费数小时、数天、甚至数周在实际上对项目整体成功或实用性几乎没有影响的微小细节上。它清楚地提醒我们,有时,“足够好”确实就是完美,尤其是当替代选择是永远不完成时。

矛盾的是,有时我们害怕成功和失败一样。一个成功的项目可能会带来更高的期望,更多的责任,或者我们还没有准备好的身份变化。未完成的项目成为一种安全网,保护我们免受成功的未知后果。

bytedrum-project-timeline

永远不完成的代价

但这无尽开端的轮回有巨大的代价。看到一个项目完成有一种独特的满足感,这种感觉是任何数量的开始都无法比拟的。此外,未完成的项目带有精神上的重担。它们在你脑海中徘徊,悄悄地消耗你的精神能量和热情。

也许最重要的是,我们从完成项目中学到的与开始项目中学到的不同。开始教会我们关于构思和初步实现的信息。而完成则教会我们关于毅力、对细节的关注以及知道何时放手的艺术。这些是只有通过完成行为才能磨练出的宝贵技能。

永远不完成的代价远不止错过机会。虽然开始项目可能会让你接触到新技术或概念,但是真正的技能增长往往出现在完成的过程中——解决最后那些最棘手的问题。每一个未完成的项目都可能削弱你的信心。随着时间的推移,你可能开始怀疑自己是否有能力完成任何实质性的东西,形成了一个自我实现的未完成预言。

项目的结束阶段通常涉及优化、重构,以及真正理解代码的复杂性。不完成就错过了这些宝贵的学习经历。在专业环境中,被认为是一个只能启动而不能完成事情的人,对你的职业生涯可能是有害的。雇主和客户看重那些能交付完成项目的人,使得完成能力成为一种关键的专业技能。

每一个未完成的项目都会占用精神空间。就像打开了几十个浏览器标签——每一个都占用你一点精神内存,让你有更少的能力去产生新想法和专注工作。这种精神混乱对你的创造力和生产力可能是一个显著的消耗。

也许最重要的是,你拒绝了自己将一个完成的项目推出世界的无可比拟的满足感。这种发布的喜悦无法通过开始新事物来复制。完成的项目还邀请反馈,而没有发布,你错过了用户或同行的宝贵见解,它们可能显著提高你的技能和未来的项目。

理解无尽项目的吸引力和永远不完成的代价是至关重要的。这不是对新开端的兴奋感的轻视,而是找到平衡——学习将最初的热情转化为同样重要(如果有时不那么令人兴奋)的完成工作的能力。通过认识到我们自己中的这些模式,我们可以开始制定策略来克服它们,最终击败项目九头蛇。

驯服项目九头蛇的策略

那么,我如何打破这个循环呢?如何学会完成我开始的事情?以下是我正在实施的一些策略,以驯服我自己的项目九头蛇:

  1. 从一开始就定义“完成”:在投入项目之前,我会明确定义“完成”是什么样的。哪些核心功能构成一个完整的项目?我会把它们写下来,并抵制随之而来的扩大这个列表的冲动。这种明确性有助于防止范围蔓延,并给我一个明确的目标。

  2. 🚀 拥抱 MVP:我不会追求完美,而是追求“足够好”。我会让一个基本版本运行并投入使用。我可以随时迭代和改进。这种方法有助于保持动力,并提供早期的反馈机会。

  3. 给我的项目设定时间盒:我会给自己一个截止日期。不一定要短,但应该是有限的。有一个结束日期会产生紧迫感,并有助于防止无尽的功能蔓延。我发现将较大的项目分成较小的、时间限制的阶段有助于保持进展的感觉。

  4. 🧩 练习完成小事情:我会通过定期完成小项目或任务来建立我的“完成肌肉”。我认识到完成的技能就像其他技能—通过练习而提高。这可以像每周完成一个博客文章或一个小的编码挑战一样简单。

  5. 💡 将构思与实现分开:我会保留一个单独的想法日志。当在实现过程中出现新功能或项目想法时,我会把它们记下来供将来考虑,而不是立即付诸行动。这有助于保持对当前项目的关注,同时捕捉潜在的有价值的想法。

  6. 🎉 庆祝完成:我会把完成看得很重要。每当我完成一个项目,不管多小,我都会庆祝。这种积极的强化可以帮助转变我对完成的心态。不管是请自己吃顿好饭,还是简单地与朋友分享我的成就,承认这些胜利可以增加我对未来项目的动力。

  7. 👥 拥抱问责制:我会找到让自己对完成项目负责的方法。这可能涉及寻找一个问责伙伴,公开承诺项目的里程碑,或加入一群开发者。外部问责增加了动机和支持,帮助解决个人项目的孤独之旅3

这些策略提供了我个人克服项目九头蛇挑战的路线图。通过一致地实施这些策略,我希望能养成更好的习惯,并增加完成项目的机会。这是关于围绕我的工作建立起支持性结构,平衡内部动机和外部问责,逐步建立完成技能。

当然,策略只是开始。真正的挑战在于将这些方法一致地应用到我的工作中。它是试错的过程,是了解哪些方法最适合我的个人风格和每个项目的具体需求。但每一次小的胜利,每一个推动项目更接近完成的步伐,我正在建立完成习惯和心态,最终驯服项目九头蛇。

前进的道路

前方的道路将充满挑战。我知道改变根深蒂固的习惯和思维模式需要时间和持续的努力。在路上可能会有挫折——当一个新项目的吸引力诱使我离开当前的项目,或者当对不完美的恐惧让我犹豫是否宣布某些东西“完成”时。但我致力于克服这些障碍,建立我的“完成肌肉”。

这段旅程不仅仅是关于完成代码,而是关于作为开发者和创作者的成长。每一个完成的项目,不管多么小,都是一步迈向成为一个不仅热情开始的人,而且满意完成的人。

项目九头蛇在我的工作中徘徊太久了。武装上新的策略和决心,我准备好直面这个野兽。是时候停止计划,开始行动了。

现在,请你原谅,我有一个项目要完成——这次,我打算看到它完成4


  1. 然而,与猫不同的是,大多数未完成的项目既不活也不死——它们只是占据了我们硬 SSD NVMe 驱动器上的空间。 ↩︎

  2. 这种现象与帕金森定律密切相关,帕金森定律指出:工作会扩展以填满可用的完成时间。在个人项目中,可用时间往往是无限的,导致无休止的扩展。 ↩︎

  3. 美国培训与发展协会的一项研究发现,如果人们向其他人承诺,他们有 65% 的机会完成一个目标。如果他们与承诺的人有特定的责任预约,这个机会增加到 95%。 ↩︎

  4. 我一口气完成了这篇文章,凭着决心和大量的咖啡支撑。在撰写这篇博文的过程中,没有伤害任何九头蛇。 ↩︎

相关文章

2024-10-24
[译] 什么是 YOLOv8?一份完全指南
2024-08-25
[译] AI 学习精选集
Leehyon HNG

作者

Leehyon HNG

嵌入式软件工程师,安徽歙县人。躺不平的不想打工者,爱自由也拥抱规则,生命不止,折腾不休。在 GitHub 关注我,或在 Mastodon了解更多。