软件开发人员,你不必完美
最近,我发现开发人员,尤其是刚开始的开发人员,受到各种因素的影响,迷失在“完美主义”的概念中。
作为开发者,我们渴望为自己和产品做到最好。由于我们从零开始构建,我们自然而然地会对产品充满热情,希望它完美无瑕。这也是促使我们追求“完美”的因素之一。
那么,完美是一个现实的目标吗?
我们必须完美吗?还是我们无意中被迫变得完美?
你不必关注一切
我们知道软件界是一个多学科结构,一个工作代码的诞生是科学家、数学家和程序员共同协作的结果。
在这样的领域,你会遇到拥有不同知识和经验的人。在这种情况下,你不应该感到力不从心。
后端、前端、DevOps、安全、AI/ML、设计、基础设施、云……
Go、Java、C#、Python、Kotlin、Scala、Haskell、f#、Elixir、C/C++、JavaScript。
不同的专业领域,不同的工具,不同的方法。如果你试图学习所有这些,到头来你只会是一个疲惫不堪、精疲力竭的“程序员”,一个都没学会。
你不必无所不知。没人指望你做到这一切。毕竟,在有限的人生中,这也不是可以实现的目标。你不应该期望自己无所不知。
“但是互联网上的人知道很多事情,他们非常优秀,而且在每件事上都很成功?”
如果你这么说,那我们就继续讨论下一个话题吧。
社交媒体谬误
世界就像一个舞台,每个人都在这个舞台上扮演着自己的角色,而当他们的角色结束后,就永远的离开了这个舞台。
- 莎士比亚
你可能会被推特和领英上的信息所欺骗,以为人们总是积极进取、勤奋工作、从不犯错、无所不知。但事实并非如此。大多数人不会分享事实,他们只会分享他们想让你看到的部分。这通常暴露出一种误解,认为这些人“总是成功,而且样样精通”。
人们在社交媒体上分享自己最美好的时刻,是因为他们不想让别人看到自己的失败。然而,经验正是从失败和错误中积累起来的。人们往往认为这是一个自然的过程,并认为他们完美无缺。这只是一种错觉。即使犯了错误,或者尝试了几次却未能达到预期结果,也不要失去动力和自信。你和其他人一样会犯很多错误。要公平地对待自己。
拥有大量关于不同主题的基础帖子并不一定意味着一个人知识渊博。
正如莫菲斯所说:“知道路和走在路上是有区别的。” 即使是专攻一个领域也需要多年的努力,所以你不应该在看到每篇帖子后都产生“别人知道多少,我却什么都错过了”的想法。
同样,不要把你在社交媒体上看到的人看作是那些每天都有计划的人。他们不会错过任何事情。他们每天早上一边用牛油果摩擦烤面包,一边继续用一只手写代码。他们从不犯错,并且知道一切事物的精髓。
玩几个小时游戏,和朋友待一会儿,甚至偶尔给自己一点时间什么都不做,都没什么坏处。相反,有时你需要做这些事来清空思绪,放松身心。
所以,不要被这样的想法所困扰:“我希望我写代码而不是玩游戏”、“我希望我多读几篇文章而不是看电影”、“我应该看看项目而不是和朋友出去玩”。过好自己的生活并没有错。你为了分散注意力而做的一些活动并不会妨碍你的自我发展。
另一个令人担忧的问题是,人们竭力为自己辩解——仅仅为了躲在大众背后。即使你认为某件事可能是错的,当太多人持相反观点时,你的真实感也会受损。
流行与狂热相结合,会掩盖现实,使人误以为所倡导的真理是真理。然而,所有真理都可以被捍卫,但并非所有被捍卫的真理都能被捍卫。
“毫无疑问,我们的时代……更喜欢描述而非实物,更喜欢复制而非原作,更喜欢表象而非现实,更喜欢外表而非本质……对于我们这个时代来说,唯一神圣的东西是幻觉,唯一不神圣的东西是真理。”
完美无极限
追求不可能的事情是疯狂的。
- 马库斯·奥勒留
什么是完美?完美无瑕?完美至极?
好的定义是什么?最好到什么程度才算好?
如果不犯错误,如何获得经验?
知晓一切就完美吗?一切真的可以被知晓吗?
深入研究某件事?你研究得有多深?
熟记编程语言的所有库?
我们需要多少这样的人?如果只需要,就一定足够了,还需要完美吗?
上述问题的答案因人而异,其界限无法确定。试图达到某种非物质的、无法被所有人以相同方式定义的事物,终究是徒劳的。
过去,对我来说,完美就是在源代码层面了解我编写的代码和我使用的产品在每个流程中在后台执行的操作。但这并非一个可实现且可持续的目标。
了解语言、ORM 工具、http 包、数据库、操作系统、内核/CPU 调用以及源码级别的网络操作,你不可能尝试学习列表中超过一项。这并非完美,而是疯狂。没有必要这么做。
你们对完美的定义或许也不同。将这样一个多变、模糊、抽象的概念概括化,并将其作为需要达到的目标摆在人们面前,感觉不太对劲。
大多数时候,了解你使用的工具足以揭示某些东西、解决你的问题,并能够通过研究和学习来构建它就“足够”了。
你需要很多才能完美,而你的需求越多,你的自由就越受限制。自由并非必需——而是足够,自给自足……
那么幸福是来自于拥有某种东西,还是来自于不想要某种东西呢?
自由不是做任何你想做的事的权利或能力。
- 爱比克泰德
完美是优秀的敌人
“我们不断做的事决定了我们的价值,卓越是一种习惯,而不是一种行为。”
- 亚里士多德
您有多少个力求完美但却无法完成的项目?
您有多少代码因为认为不完美而不敢分享?
由于找不到完美的想法,您尝试过多少次却失败了?
有多少博客文章因为内容不够丰富而您没有写?
你是否意识到,追求完美会让我们错失多少机会?事实上,我们需要的是构思一个可行的项目,编写并分享正确的代码,并有勇气去尝试一个想法。去尝试,去实践,去完成。这些远比追求完美重要。
不要让别人定义你应该是什么样子。记住,追求完美会让你失去很多东西。
在追求完美的过程中,我们失去了足够好。
不与任何人竞争
“聪明人不与任何人竞争,所以没有人能赢他。”
- 老子
与他人竞争是另一种消耗精力的职业。每天与他人比较,努力变得像他们甚至比他们更好,会让你身心俱疲。
你唯一需要比较的就是前一天的状态。努力将注意力完全集中在自己身上,确保自身进步,就能消除外界因素带来的干扰和令人沮丧的情况。
你的进步取决于你自己,而不是完美
通往幸福的道路只有一条,那就是不要担心那些你无能为力的事情。
- 爱比克泰德
我们希望提高自己,感觉更好,实现我们的目标,成为快乐的人。
在做这件事时,你不必力求完美。
设定可实现的目标并努力实现这些目标,将助你达到理想的水平。发展并非源于追求完美,而是源于自律地努力工作。
在这个过程中设定可实现的目标能帮助你保持动力。如果你不断设定远大的目标却无法实现,你就会开始感到时间越来越少,以前的热情也消失了。
你真正需要的不是完美,而是纪律和习惯。
只要您通过定期编写代码、阅读文章和进行研究来保持状态,发展将是不可避免的。
只要你不停下来,走得多慢都没关系。
- 安迪·沃霍尔
现在,无需再等待,分享您的第一个代码,实现您的第一个想法,撰写您的第一篇文章,完成您的第一个项目。
无需完美,只要属于你,便已特别。
文章来源:https://dev.to/mstryoda/software-developers-you-neednt-be-perfect-17gn想要连接吗?