本文作者 Marcus Buffett 作为一名独立开发者,分享了自己在保持工作动力方面的经验与心得。作者强调,作为独立开发者,如何有效地激发和维持动力是一个关键问题,并介绍了多种策略来帮助自己保持高效工作。这些策略包括从外部获取动力、留下一些未完成的任务、亲自使用自己的产品、解决痛点、避免“零日”、以及与合作伙伴保持互动等。文章的基调轻松,更多像是一篇个人日记而非正式的建议。

  1. 外部动机的利用
    作者自知自己更依赖外部动机,因此通过系统化的方式来获取动力。例如,订阅通知和社交媒体提及提醒等外部反馈能给他带来动力,尽管随着时间推移,这种动力的强度会有所减弱。

  2. 留下一些未完成的任务
    每次工作结束时,作者会刻意留下一些未完成的任务,这样第二天开始工作时能迅速进入状态。这种“快速胜利”的策略帮助他更快进入工作流。

  3. 亲自使用产品
    通过亲自使用自己开发的产品,作者能够更直观地感受到产品中的问题和不足,从而激发改进的动力。同时,这也带来了更好的产品创意。

  4. 解决痛点
    作者强调,与其强行忍受工作中的痛点,不如寻找解决方案。例如,使用自动生成类型的库来减少重复性工作,不仅消除了痛苦,还增加了工作的兴奋感。

  5. 避免“零日”
    作者尽量避免“零生产力日”,即完全没有任何工作成果的日子。即使是完成一点小任务,也能让他在休息时没有负罪感,从而真正放松。

  6. 合作伙伴的作用
    尽管是独立开发者,作者也提到拥有一个合作伙伴的重要性。合作伙伴不仅能在技能上互补,还能通过定期的沟通和反馈保持双方的工作动力。

  7. 灵活利用突发的动力
    当灵感和动力突然涌现时,作者会立即行动,即使是在深夜。这种灵活性是独立开发者的一大优势。

  8. 做“无事”以重新聚焦
    当陷入社交媒体等干扰时,作者发现最有效的策略是先什么都不做,让大脑冷静下来,再重新进入工作状态。

通过这些策略,作者能够更好地管理自己的动力,保持工作效率,同时也享受独立开发的自由和灵活性。

作为独立开发者,如何管理我的动力

对于独立开发者来说,保持动力是最大的挑战之一。我一直在记录如何“破解”我的动力,哪些方法有效,哪些方法无效。以下是一些对我而言行之有效的策略。

将外部刺激转化为动力

我一直知道自己比起内在动机(intrinsically motivated)更受外部动机(extrinsically motivated)驱动。因此,我建立了一些系统来获取短暂的外部动力,例如当有人订阅时,我的 Money Bots 会立即弹出通知。

虽然我平时会关闭大多数推送通知,但这些订阅通知会直接出现在我的主屏幕上。每次收到通知时,我都会感到一阵小小的动力提升。尽管一开始每新增一个订阅者都会带来强烈的多巴胺刺激和能量提升,但随着时间推移,这种刺激会逐渐减弱。然而,这些通知依然能为我提供动力。

类似地,我还订阅了一个服务,当有人在网络上提到我的项目 Chessbook 时,它会立即通知我。这不仅有助于市场推广,因为在社交媒体上与用户互动很重要,同时,每当看到有人(希望是正面的)讨论我开发的项目时,也会激励我继续前进。

此外,我还创建了一个名为 #pump-up 的频道,用来记录我们达到的一些里程碑,比如月经常性收入(MRR)达到 $X 美元,Discord 用户达到 2000 人,流失率低于 6% 等等,这些成就都令人振奋。

任务留一点没做完

这一点对我的帮助非常大。我尽量在结束一天的工作时,将任务留到 90% 完成。这种状态比完全完成任务稍显不爽,但第二天开始工作时,会轻松 10 倍。开始一天的工作时,能迅速完成一个小任务,会让我立刻进入“心流状态”(flow state)。但任务也不能过于简单,如果只是运行 git commit 就能完成,那就没有挑战了。理想情况下,剩余的任务应该是我知道怎么做,但需要花 5-10 分钟才能搞定的。

尽可能多地使用自己的产品

我尽量多使用自己开发的产品。有人报告某个小 bug 时,我可能觉得无关紧要。但当我自己遇到同样的问题时,才意识到它对用户体验的负面影响有多大,这时我就会立刻修复它。亲身体验的痛点远比别人告知的更直观。

顺便一提,这也帮助我想出更好的产品创意。最好的创意往往不是坐下来冥思苦想用户可能想要什么,而是来自我自己在使用过程中发现了需求。

消除痛点,而不是硬着头皮坚持

开发过程中,总会有一些令人头疼的任务,比如维护被忽视的代码库、处理第三方服务,或者发布新版本的原生应用等。如果我知道某个任务中包含这些内容,就会更难鼓起勇气去开始。

诀窍是,你几乎总能找到方法来减轻这些过程中的痛苦。

比如,最近我开始一个新任务时感到很大的阻力,因为它需要创建 4 个以上的新接口,而这通常涉及很多重复代码。我需要在后端定义数据类型,然后在前端再次定义,确保传递的数据和路径都正确,而且由于没有类型检查,这通常第一次总是出错的。所以我在开始前,找到了一个名为 RSPC 的 RPC 库,它可以自动为我生成类型定义,使得在前端调用后端函数变得和调用另一个异步函数一样简单和安全。

这不仅消除了我的阻力,还让我非常期待使用这个新系统。我把阻碍转换成了动力源泉。

如果你曾在大公司工作过,你可能会习惯于忍受日常开发中的痛点,因为公司往往不允许你自由解决这些问题。要么有硬性截止日期,要么需要他人批准,或者需要在实施之前写详细的技术文档。而作为独立开发者,你可以随时修复和改进任何你想要的东西,所以提醒自己,随时可以利用这一点。

什么都不做

我经常被各种高科技“斯金纳盒”(Skinner Boxes)困住,比如 Reddit、Twitter 和 YouTube 等。摆脱这些困境的最好方法是分两步走。首先从 Reddit 转到什么都不做,然后再进入工作状态。

直接从 Reddit 切换到高效工作状态很难,但什么都不做要简单得多,最终你的大脑会平静下来,这样进入工作状态就容易得多。

我真的指的是“什么都不做”,我会在屏幕前坐几分钟,仿佛魔法一般,消费过度导致的多巴胺迷雾会慢慢散去,我会重新对创造和解决问题充满兴趣。

更新用户动态

这是一举两得的方法,我可以向用户更新进展,同时通过回顾自己的成就来激励自己。我经常在月底时感叹“这个月我到底做了什么?”,但当我写下这个月的更新时,就能看到自己确实取得了不少进展。

当然,这也有反面效果。如果你真的没做多少事,也会一目了然,但面对事实——认识到自己的产出不够——有时也能成为激励的动力。

找个合适的搭档

这看起来与标题相悖,但我说的是独立开发。我有一个搭档,他在产品、设计、文案等方面比我强很多。

我不会列出所有搭档的好处,但现在我相信搭档是必不可少的。在未来的项目中,我一定会寻找一个与我技能互补且在问题上观点一致的搭档。这会带来天壤之别的效果。

在动力方面,关键是责任感。这和人们找健身伙伴的原因一样,仅仅是因为有人期待你的出现,这就足以带来动力。而且,如果你在每周会议时发现没有什么可汇报,那很可能意味着你没有完成足够的工作,这是一个显而易见的提醒。

此外,你和你的搭档的动力起伏并不会完全一致。当你失去动力时,有人还在对项目充满热情,这会很有帮助。

避免“零产出日”带来的无力感

有时,当我一整天没有完成任何工作时,我会感到一种“零产出日”的无力感。这让我无法完全享受自己正在做的事情。我试过让自己放松,享受当下,但这并没有用。表面上看,我是在休息和充电,但实际上并没有这种感觉,反而像是在硬撑。这会形成一种负面反馈循环,我一直在试图休息,但只会变得更加疲惫。

我发现唯一有效的方法是先完成一些工作,然后我就能毫无顾虑地全身心投入到任何有趣的休闲活动中。

有灵感时立即行动

有时,我在睡觉时会突然想到某个问题的解决方案,这种瞬间的灵感给了我极大的动力。我本可以把它记下来,第二天再处理,但大多数时候我会直接起来工作到凌晨四点。这是独立开发者的一个好处,我不需要早上 9 点准时在 Slack 上“打卡”,所以我可以随时利用灵感和动力,即使是在深夜。

这可能不适合所有人,但就像我之前所说的,这篇文章更像是日记而非建议。我一直喜欢采取更灵活的方法,尽可能多地利用“心流状态”下的工作机会,而不是强迫自己每天 9 点到 5 点固定工作,不论状态如何。