每一篇关于软件的文章都是错误的。原因在于背景--或者更确切地说,是缺乏背景。
博客帖子、文章、YouTube视频、Twitter帖子和会议演讲很少涉及作者所处的环境。细微差别很难沟通,写作也不那么有力(同时也疏远了那些意识到“哦,这实际上不适用于我,…”的观众)。。
你在学编程吗?你想找份工作吗?你想在FAANG公司找份工作吗?你在咨询公司工作吗?创业公司?你在做电子游戏吗?或一系列业务应用程序?还是企业CRM平台中的一项微服务?
你是否是一名技术主管,试图在业务需求和招聘和培训项目开始的三名应届毕业生(已经落后两个月)之间取得平衡?
你是否在一家财富500强公司工作,在50个Scrum团队之间进行数字化转型,Scrum团队由外包开发资源的轮换周期组成?
您是否正在选择一个JavaScript框架来为您正在开发的GumRoad课程编写示例应用程序,这样您就可以辞去修复遗留Wordpress站点的工作了?
环境比任何技术基准或设计决策都更重要。但推特大小的格言才是卖点。
预测哪篇文章更吸引眼球:“我们放弃了原生反应”与“我们必须考虑的诸多权衡,以及对于我的团队(由6名.NET开发人员组成的团队为非技术客户构建两个原生移动应用程序而言,哪些起作用,哪些不起作用)”,预测哪篇文章更吸引眼球。
最佳实践之所以成为“最佳实践”,是因为它们在广泛的上下文中取得了良好的结果。
它们真的应该被称为帕累托实践(80/20规则),但我们必须承认,在某些情况下,持续部署、TDD、代码审查、敏捷等并不是灵丹妙药(甚至可能是有害的),这并不有趣。
最佳实践的伟大之处在于,它们为您提供了快速讨论概念的共同语言,但最糟糕的部分是,很容易将对基本原则或假设前提条件的理解替换为预先打包的想法。
它解决了一个问题:软件中存在常见问题,知道何时使用工具是一项重要技能。但是你有这个问题吗?你确定?。
社区精神共享:让其他人分享你的兴奋,并成为蓬勃发展的生态系统的一部分,感觉很好。只需记住,大公司有“开发者倡导者”团队,他们的报酬完全是为了宣传、发言和发布公司既得利益所在的东西。
这是老方法:一些旧的代码、库、实践和工具真的很糟糕。我不想写COBOL。但并不是所有旧的都是坏的,也不是所有的新的都是好的(另见:“现代”、“轻便”、“简单”)。用时间作为过滤器,好的东西会经得起时间的考验(而且会变得更好)。
你只能在互联网上看到极端的情况。即使到了那时,它也偏向那些声称最终找到了构建软件的宏伟统一理论的内容。
对于编程来说,这并不是一个独一无二的问题。Instagram是对某人生活的一种经过大量编辑、一边倒的观点。科学界持续存在复制危机,因为“我们做了一个实验却一无所获”并不是一个令人信服的预印本。每一个关于“我是如何做到的”的商业播客,都会有99名其他企业家崩溃并被烧毁。
一旦你熟悉了这个行业,你就会记得你经历过的炒作周期。
还记得NoSQL吗?这并不全是迷因。Redis是一种出现的好东西。人们有时仍在使用MongoDB。但是Riak(基于环的星系团)呢?Neo4J(图形数据库)?在狂热期间,人们并不清楚什么是好的,什么是坏的。当人们认为自己是早期采用者时要小心,因为后面还有看不见的废弃代码库的踪迹。
你上一次读到某人的文章是什么时候,这篇文章解释了他们是如何真正搞砸并因为做了一个糟糕的决定而被解雇的?超生的。即使你确实看到有人在忏悔,你读到最后也会发现,这一切都是为了表明他们是如何认识到自己的方式错误,进行了改革,现在终于找到了适合这份工作的工具。
每一篇关于软件的文章都是错误的。我会检查评论,看看为什么这一条也是。