程序员每天写代码的高产秘诀

99 阅读4分钟

这是一个问题,因为不能保证每个周末都有空——也不能保证我会愿意连续两天整天编程(消除了任何放松或做任何有趣的事情的机会)。

还有一个问题是,编写代码之间间隔一周的时间太长了或之前停了下来,很容易忘记之前在做什么(即使你做了笔记)。更不用说如果你错过了一个周末,你最终会面临两周的空白期。这种长达数周的大规模上下文切换可能是致命的(我曾有过许多由于注意力不集中而夭折的副业项目)。

而詹妮弗·德沃特 (Jennifer Dewalt)在去年完成了一项令人难以置信的工作,她在 180 天内建立了 180 个网站,自学了编程,我受到她的启发,我感到有必要尝试一种类似的策略:每天都从事我的副业项目。

考虑到这一点,这种习惯的改变导致了一系列有趣的事情发生:

最小可行代码

我被迫每天至少花 30 分钟编写代码。(在更短的时间内编写有意义的代码真的很难,尤其是在记住前一天停在哪里之后。)有些工作日我会多工作一点(通常不超过一个小时),周末我有时可以工作一整天。

编码是一种习惯

需要注意的是,我并不特别在意上面 Github 图表的外在形象。

我认为这是从这个实验中得到的最重要的启示:这是你为自己在生活中做出的改变,而不是为了满足别人对你工作的看法而做出的改变。任何形式的节食或锻炼都是如此:如果你不关心提高自己,那么你永远不会真正成功。

对抗焦虑

在开始这项实验之前,我经常会因为没有完成“足够”的工作或取得“足够”的进展而感到高度焦虑(这两者都是相对无法量化的,因为我的副业没有具体的截止日期)。

我意识到取得进步的感觉与取得实际进展同样重要。这让我大开眼界。一旦我开始每天取得持续的进步,焦虑就开始消失。我对自己完成的工作量感到安心,不再有疯狂地完成任何工作的强烈愿望。

周末

过去,周末完成工作对于取得进展至关重要(因为通常,周末是我完成重要副业项目编码的唯一时间)。现在情况已大不相同,这是件好事。我对周末应该完成的工作抱有一周的期望,但最终却让我失望。

我很少能完成所有想完成的工作,这迫使我放弃我喜欢的其他周末活动(吃点心、参观博物馆、去公园、与伴侣共度时光等),转而完成更多工作。

我强烈地感觉到,虽然副业确实很重要,但它们不应该成为生活的一部分。

后台处理

每天编写副项目代码的一个有趣的副作用是,你当前的任务会经常在你的脑海中运行。因此,当我散步、洗澡或参加任何其他不使用大脑的活动时,我都在思考稍后要编写的代码,并寻找解决该问题的好方法。

当我每周或每隔一周编写一次代码时,这种情况不会发生。相反,那段时间被用来思考其他任务,或者通常被无法完成任何副项目工作的焦虑所取代。

上下文切换

在恢复业余项目工作时,总是需要上下文切换。不幸的是,在整整一周从事另一项任务后,很难恢复对项目的思考。在这方面,日常工作非常有帮助,因为工作之间的时间间隔要短得多,让我更容易记住自己正在做什么。

工作平衡

这一变化最重要的方面之一就是学习如何更好地平衡工作/生活/副业。我知道我每天都要从事这个项目,所以我必须更好地平衡我的时间。如果我计划晚上出去,很晚才回来,那么我就需要在白天早些时候从事我的副业,然后再开始我的主要可汗学院工作。此外,如果我还没有完成我的工作,而且我出去很晚,那么我会赶紧回家把它完成(而不是错过一天)。

我应该指出,我发现我花在业余爱好上的时间越来越少(比如木版画),但这是一个合理的权衡,我需要接受。

外在感知

这一切都有例外的好处,那就是向外界传达这个新习惯。