不要等准备好了再开始:完美主义者的自救指南
有时候,我们不是没有能力做好一件事。 我们只是花了太多时间,等待一个“不可能出现的完美开始”。
我曾经很羡慕那些行动很快的人。
他们想到一个想法,就马上开始。
想学一个东西,就直接打开电脑。
想做一个项目,就先写第一行代码。
而我不一样。
我经常会陷入一种奇怪的状态:
我知道自己应该开始。
我也知道这件事情很重要。
但是总觉得,还差一点准备。
“再看一个教程。”
“再了解一下这个技术。”
“等我把基础打牢一点。”
“等我规划完整一点。”
然后,一天过去。
一周过去。
一个月过去。
事情还是停留在“准备阶段”。
后来我才发现,有一种拖延,并不是因为懒。
恰恰相反。
它来自一种很强烈的期待:
我希望第一次做,就能做好。
那个永远没有开始的项目
以前我想做一个小工具。
一个很简单的网站。
功能也不复杂:
记录自己的学习进度,然后生成一些统计信息。
当时觉得这个想法很好。
于是我开始准备。
我先研究技术方案。
前端用什么?
后端用什么?
数据库怎么设计?
以后如果用户多了,架构怎么办?
要不要提前考虑性能?
要不要设计一个漂亮的系统结构?
这些问题越来越多。
然后,我开始搜索资料。
收藏教程。
看文章。
下载项目。
我甚至专门写了一份项目规划文档。
里面有:
项目目标。
开发路线。
功能列表。
未来规划。
那份文档看起来非常专业。
如果有人看到,可能会觉得:
“这个项目马上就要开始了。”
但是只有我知道。
两个星期过去。
代码目录依然是空的。
那时候我突然意识到一个问题:
我不是不会做。
我是不敢开始。
因为开始意味着暴露问题。
意味着写出不好的代码。
意味着承认:
“我的第一个版本可能很普通。”
而完美主义最害怕的,正是这个瞬间。
它希望你直接交付一个优秀的作品。
但是现实是:
所有优秀的东西,都是从一个很普通的版本开始的。
学习不是准备,学习是行动
后来我慢慢发现,完美主义者很容易犯一个错误。
就是把“学习”变成“准备”。
我们不断学习。
不断收集资料。
不断寻找更好的方法。
看起来一直在进步。
但实际上,我们只是停留在起点附近。
因为准备永远没有结束。
你今天觉得自己需要学习框架。
明天觉得需要学习设计模式。
后天觉得需要学习底层原理。
最后发现:
还有很多东西不会。
于是继续准备。
真正的学习,其实是在做的过程中发生的。
你只有写出代码,才知道哪里不会。
你只有遇到问题,才知道该查什么。
你只有把东西做出来,知识才真正属于你。
五分钟奇迹
后来我找到一个简单的方法。
叫“五分钟开始”。
规则很简单。
不要告诉自己:
“我要完成这个项目。”
不要告诉自己:
“今天我要学习三个小时。”
这些目标太重了。
只告诉自己:
“我做五分钟。”
五分钟以后,如果真的不想继续,那就停下来。
没有惩罚。
没有失败。
只是完成一个五分钟的小动作。
但奇妙的是,大多数时候,五分钟之后,我已经进入状态了。
因为真正困难的部分,从来不是工作本身。
而是从休息状态切换到工作状态。
开始,就已经解决了一半的问题。
先做一个垃圾版本
后来我又尝试了一件事情。
故意做一个很差的版本。
真的很差。
界面很简单。
功能很少。
代码也不漂亮。
但是它能运行。
当我第一次打开那个页面的时候,我突然觉得轻松了。
因为之前那个项目,一直存在于我的想象里。
想象中的它:
应该很完整。
应该很优秀。
应该很专业。
所以它越来越重。
但是当它真的变成一个粗糙的小东西以后,我发现:
其实也没什么。
它只是一个开始。
而开始之后,就有无限可能。
很多人害怕第一个版本太差。
但是换一个角度看:
第一个版本本来就应该差。
它的任务不是证明你的能力。
它的任务只是证明:
这个东西可以存在。
之后才是修改。
优化。
迭代。
完善。
不要憋一个“大招”。
先丢出一个“小石头”。
有东西以后,才有方向。
不要收藏一百个教程
还有一个变化,是我减少了自己的资料收藏。
以前我喜欢收集教程。
看到好的文章保存。
看到好的课程收藏。
看到好的项目收藏。
最后收藏夹越来越大。
但是项目还是没开始。
后来我发现:
太多资料,有时候也是一种负担。
因为你会觉得:
“我还没有准备充分。”
所以现在我会限制自己。
只选择一个最短的教程。
目标只有一个:
把项目跑起来。
遇到具体问题,再去搜索。
不要提前解决所有未来的问题。
因为很多问题,只有真正开始以后才会出现。
给自己准备一个“烂作品集”
后来我还做了一件有点奇怪的事情。
我建立了一个“烂作品集”。
里面放的都是一些不成熟的小东西。
一个简单脚本。
一个实验页面。
一个小工具。
一个失败的尝试。
以前我觉得这些东西没有价值。
现在反而觉得,它们很重要。
因为它们记录了一件事情:
我曾经开始过。
后来我给自己定了一个小规则:
每周做一个粗糙的小东西。
不用优秀。
不用发布。
甚至不用让别人看到。
只是训练自己:
不要害怕开始。
接受第一个版本的不完美
现在回头看,很多拖延其实来自一个错误的期待:
我们希望第一次尝试,就接近最终答案。
但现实不是这样。
写程序如此。
写文章如此。
做产品如此。
学习任何新东西都是如此。
第一个版本通常都不好。
这是正常现象。
允许自己先完成,再完美。
不是降低要求。
而是承认成长需要过程。
你不能站在岸边学习游泳。
也不能一直准备,直到自己自动学会。
很多事情,只有开始以后,才会越来越清楚。
写在最后
如果你现在也有一件事情,一直放在计划里。
一个想学的技能。
一个想做的项目。
一个想开始的改变。
不要等那个“完美时刻”。
它可能永远不会出现。
今天就做一点点。
五分钟也可以。
写第一行代码。
打开第一个文件。
做一个很粗糙的版本。
让它先存在。
很多路,不是在准备的时候出现的。
而是在你走出去以后,慢慢出现的。