(给
伯乐在线
加星标,看经典文章
)
编译:伯乐在线/飞哥的咖啡
我是一个完美主义者,或者,至少我喜欢这样自居。不管怎样,我绝对离完美主义者不远了。
这样本来挺好的。然而,我最近意识到,它实际上阻碍我成为一个更出色的开发者。至少,它阻碍了我的进步,并妨碍了我的学习。
像很多初级开发者和普通开发者,我有一个不完成副项目(side projects)的习惯。不是因为我懒或没时间,出于某种原因,我似乎从来不会把事情做完。
然后就是受打击的地方了。
在进行项目时,我一直努力追求完美,
这就是问题的所在。
怎么定义完美?完美是什么意思?完美真的是一个可以实现的目标吗?
对我来说,我想交出一些了不起的东西,尽自己所能做出一些东西。
想法是好的,但作为一个初级开发者,我面对的困境是,因为我每天都在学习,我的能力在不断增强。
这样的话,我如何才能尽自己最大(且不断提高的)能力,将一个项目做到最好?!
作为开发者,这是阻碍我进步的关键因素。我不知道要在哪里确定一条底线。我觉得很难对自己说“够了,可以继续前进了”。
而有时候,情况甚至会变得有些愚蠢…
6 个月前,我写了一个简单的 URL 缩短器,以熟悉 Symfony 框架。我花了几个晚上的时间,做出了一个基本的工作产品(Working Product),以及一个大的框架介绍。做得很开心?好吧,不尽然。
信不信由你,3 个月后,我仍在对这个小项目修修补补:修改样式,用 Ajax 改进表单提交,我甚至考虑过用 Vue 或 React 来实现。
随着我的能力和知识的不断增加,
我完全无法继续前进
。我不断看到能够改进的地方,并有了更好的改进方法。
这在商业环境中是好事。在产品或项目上不断进行改进和迭代非常赞。
但是,作为一个小小的学习项目,我明显用力过猛了,正在努力解决一个并不存在的问题。这不是尝试给 Bitly(知名短网址服务)造一个竞争对手,我只是利用这个小项目来加强自身的学习。事实上,根本没有人会看到这个项目!
我并不是唯一会这么做的人,即使最有经验的开发者,也会在某个时候遇到类似的情况。当他们回顾几年前写的代码,他们可能会羞愧难当,甚至可能会对自己几个月前写的代码感到震惊。
(伯乐在线补充配图,Via:程序员的那些事)
作为开发者,无论处于什么水平,你都在不断学习,这是野兽的天性。而经验告诉我们,你只有学会放手,才能继续前进。