在过去的几年里,当我一直在与许多开发人员工作和交谈时,我注意到了一种重复的模式。它一直困扰着我,我一直在思考和谈论,试图理解,甚至是借口。
这种模式是消费的--而不是创造。消费--毫无疑问。吞噬并躲藏在权威背后。
我看到开发人员认为其他人的解决方案是理所当然的。不用三思而后行,不用费心去分析它。好的,当Dan Abramov告诉您如何使用Reaction或Documentation说这是使用其API的唯一方式时,是的,您可能应该同意它。然而,当你在使用一些技术内容时,没有丝毫的怀疑,那么,嗯,你可能仍然会在你的职业生涯中走得很远,但它也可能会阻碍你。
在我职业生涯刚开始的时候,我永远不会在互联网上发布任何技术性的东西。我认为,如果有人有足够的勇气发布一篇博客文章或参加一场技术讨论,他们总是知道自己在做什么。我大错特错了!
在某种程度上,我意识到互联网上的大部分技术内容都是胡说八道(这个博客可能也是胡说八道)。教程显示了有害的模式。文章有很多概念上的错误,人也不是十全十美的!高级开发人员并不总是优秀的开发人员。技术领先的解决方案可能远非完美。畅销、正常工作的应用程序架构可能完全被搞砸了。我看到一些高级职位的人对编程一无所知!然而,他们却在互联网上写下了这件事!然后有人来了,就像我用了这个人建议的解决方案一样,他们是X公司的大四学生。当然,这是有一定道理的。然而,诉诸权威是存在严重缺陷的。
科学的一条最伟大的戒律是,不信任权威的论点。事实证明,太多这样的论点是大错特错的。当局必须像其他人一样证明他们的论点。
你越早意识到到处都是废话,那就越好。我们都尽力做到最好,然而我们都是犯错误的人,也都有多年的经验,博客帖子的数量或薪水并不能说明这个人的知识。毕竟,我们都可以在互联网上随心所欲地发帖。
我们很懒。我们大多并不愚蠢,只是懒惰而已。如果有人给了我们一个解决问题的办法,而且奏效了,那为什么还要考虑呢?为什么不复制-粘贴它,并让它在生产代码中发布呢?
我们没有时间了。提出合乎逻辑的论点可能会花费一些人阅读源代码几个小时,编写大量代码来证明自己的观点,或者花费大量时间进行研究!不过,我们都有最后期限,不是吗?
它很舒服。逻辑推理通常需要走出你的舒适区,因为你需要获得一些新知识,比往常更努力地思考,以理解一些概念,或者做一些额外的工作。然而,停留在舒适区是我们倾向于(无意识地)拥抱的东西。
我们不相信自己。人们,尤其是刚开始职业生涯的人,倾向于认为他们的解决方案永远不会足够好。因此,他们依赖前面提到的当局,从不质问他们。
认识到世界上有很多误解。人和他们的解决方案并不是完美无缺的。
根据您的特定使用情形调整解决方案。没有万能的解决方案。比较不同的方法,分析它们。教程或文章展示了想法,但可能不会提供可用于生产的代码。在你决定使用它之前,一定要对它进行分析。
相信你自己。您的解决方案并不比互联网上的解决方案差。
坚持学习,保持好奇心。作为一名开发人员,需要不断学习。确保您了解您正在使用的库或框架。这是最大限度地利用它的方式。人们有时在没有更深刻的理解的情况下使用图书馆。这会导致误用核心概念,并编写更复杂或性能更差的代码。