过去几年里,我一直在与许多开发人员一起工作和交流,我注意到了一个重复的模式。这一点一直让我很困扰,我一直在思考和讨论,试图理解,甚至为之辩解。

你为什么采取这种方式?

我不知道。在某篇文章中看到的。

我不知道。我从X那里复制粘贴的。

我不知道。我在之前的项目中是这样做的。

我不知道。有人告诉我这样做。

这种模式是消耗性(Consume)的,而不是创造性(Create)的。是消耗而不是质疑。是消耗并且躲在权威的背后。

我看到开发人员对他人的解决方案理所当然地接受。不加思索地采用方法,不费心思地进行分析。当然,当Dan Abramov告诉你如何使用React或者文档说这是使用其API的唯一方法时,你可能应该同意。然而,当你使用某些技术内容时,如果没有至少一点怀疑心态,那么你可能在职业生涯中会走得很远,但也可能会阻碍你的进步。

到处都是胡说八道

在我职业生涯的开始,我永远不会在互联网上发布任何技术内容。我认为,如果有人足够勇敢地发布博客文章或参与技术讨论,他们总是知道自己在做什么。我错得不能再错了!

后来,我意识到互联网上的大部分技术内容都是胡说八道(这个博客可能也是胡说八道)。教程展示了有害的模式。文章中有很多概念上的错误。而且人也不完美!资深开发人员并不总是优秀的开发人员。技术主管的解决方案可能远非完美。销售良好、工作正常的应用程序架构可能完全混乱。我见过在高级职位上一点编程知识都不懂的人!然而他们在互联网上写着相关内容!然后有人过来说我使用了这个人建议的解决方案,他们是X公司的高级员工。当然,这其中也有一些合理的原因。然而,权威论证是有严重缺陷的。

科学中的一条伟大戒律是“不信任权威的论证”……太多这样的论证已经被证明是非常错误的了。权威必须像其他人一样证明他们的论点。

—-卡尔·萨根

你越早意识到到处都是胡说八道,就越好。我们都在努力做到最好,但我们都是犯错误的人类,经验年限、博客文章数量或薪水并不能代表一个人的知识。毕竟,我们都可以在互联网上随心所欲地发布任何内容。

为什么会发生这种情况?

我们懒惰。我们大多数人并不愚蠢,只是懒惰而已。如果有人给我们提供了一个解决方案,而且它有效,为什么还要思考呢?为什么不复制粘贴然后将其部署到生产代码中呢?

我们没有时间。提出逻辑论证可能会花费读源代码数小时的时间,写大量代码来证明自己的观点,或者花费大量时间进行研究!尽管如此,我们都有截止日期,不是吗?

这很舒适。逻辑推理通常需要走出舒适区,因为你需要获得一些新的知识,比平常更加努力地思考一些概念,或者做一些额外的工作。而呆在舒适区是我们倾向于(不自觉地)接受的事情。

我们不相信自己。人们,尤其是在职业生涯的初期,往往认为他们的解决方案永远不够好。因此他们依赖之前提到的权威,从不质疑他们。

如何停止成为技术消费者?

认识到世界上存在大量误解。人们及其解决方案并不完美。

将解决方案适应到你的特定用例中。没有适用于一切的解决方案。比较不同的方法,进行分析。教程或文章展示了一个思路,但可能并没有呈现出适用于生产环境的代码。在决定使用之前,始终进行分析。

相信自己。你的解决方案并不比互联网上的解决方案差。

不断学习,保持好奇心。成为开发人员意味着不断学习。确保你理解你正在使用的库或框架。这是充分利用它的方式。有时人们在没有更深入的理解的情况下使用库。这导致滥用核心概念,并编写更复杂或性能较差的代码。

不要只是消费。创造。提问。保持好奇心。

原文登载于aleksandra.codes 翻译:西墙网

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注