技术的目的
2014年2月14日 作者:Max Kanat-Alexander
一般来说,当技术试图解决物质、能量、空间或时间问题时,它是成功的。当它试图解决人类的思想、沟通、能力等问题时,它会失败或危险地适得其反。
例如,互联网解决了空间的巨大问题——它让我们能够瞬间与世界上的任何人交流。然而,它并没有让我们成为更好的沟通者。事实上,它让许多不善于沟通的人拥有了一个巨大的平台,可以传播仇恨和恐惧。这并不是说互联网一无是处——我个人其实非常喜欢它。我只是举个例子来说明技术能成功解决哪些类型的问题,不能成功解决哪些类型的问题。
这个原则之所以有用,是因为它预先告诉我们什么样的软件目的或创业想法更有可能成功。专注于用技术解决人类问题的公司很可能会失败。专注于解决可以用物质事物表达的问题的公司至少有可能成功。
这条规则可能有一些看似反例。例如,Facebook的目的不是连接人们吗?这听起来像是一个人类问题,而Facebook非常成功。但连接人们实际上并不是Facebook所做的。它提供了一个人们可以沟通的媒介,但它实际上并不创造或导致人际联系。事实上,我认识的大多数人似乎对Facebook有一种不舒服的上瘾感——感觉他们在那里花费的时间对他们作为人来说价值不大。所以我认为,每当它专注于解决这些问题时,它都在加剧某些人类问题(比如对连接的渴望)。但它在实现其他目的(从广泛沟通中消除空间和时间)方面做得非常出色。再次强调,这不是对Facebook的攻击,我认为它是一家善意的公司;这是试图使用"技术只解决物理问题"的原则,对其目的中哪些方面是成功的进行客观分析。
这个原则也有助于澄清技术进步是否"有益"。我有时对技术进步感到矛盾——它真的给了我们一个更美好的世界,还是让我们都成了机器的奴隶?答案是技术本身既不好也不坏,但当它试图解决人类问题时,它确实倾向于邪恶,当它专注于解决物质宇宙的问题时,它确实倾向于善良。最终,我们当前的文明离不开技术,这包括公共卫生系统、中央供暖、自来水、电网,以及我正在写这篇文章的计算机。技术实际上是我们生存所必需的重要力量,但我们应该记住,它并非万能的答案——它不会让我们成为更好的人,但可以让我们生活在一个更美好的世界里。
-Max
评论
Ram Rachum 说: 2014年2月15日凌晨3:21 好文章!有趣的经验法则。 回复
Dave Hansen-Lange 说: 2014年2月19日上午11:29 那么,有没有一个技术例子,它本意是解决人类问题,但现在却让世界变得更糟? 回复
Aasher Naeem 说: 2018年2月24日上午10:44 例如,燃烧化石燃料,难道不会造成污染和全球变暖吗?将化学物质倾倒入河流会污染水源,杀死数百万条鱼,进而破坏水生态系统。基本上,所有污染(光、声音、水、空气等)都是由技术引起的。 回复
Virendra Rajput 说: 2014年4月20日凌晨12:41 好文章。解释得很好。当然同意你的观点——“它不会让我们成为更好的人,但可以让我们生活在一个更美好的世界里。” 回复
Max Kanat-Alexander 说: 2014年5月9日晚上7:50 谢谢! 回复
Neeraj Wagh 说: 2014年8月15日凌晨2:58 发人深省的好材料! 回复
Naz-Al Islam 说: 2015年11月18日下午12:59 你好 Max, 文章很好,但我期待关于这个话题有更多的阐述。肯定还有更多有害技术的例子,包括Facebook、Twitter或其他社交媒体。为此,我们不应该试图通过技术来解决人类思想的问题。我们可以使用冥想作为带来内心平静的一种方式。但是,技术只对无生命物体有用。 回复
Peter Williams 说: 2016年5月25日凌晨2:46 技术现在已经渗透到一切领域,但有些东西需要保持原样。例如,无人驾驶汽车。我喜欢驾驶,我无意将方向盘交给某些该死的软件代码。我的担忧不是安全问题,而是人们将错过的驾驶乐趣。我可以预见,几年后,许多制造商会涌入无人驾驶汽车的潮流。我希望那一天永远不会到来。只是我的一点看法。 回复
Nick 说: 2016年7月20日下午12:45 今天开发的消费技术并不总是着眼于解决大问题,而是在试图创造有市场的产品。而且需要解决的问题也更少了!(这至少对于大多数创新发生的发达国家来说是正确的。)这导致市场上出现的"颠覆世界的技术"变少了。这篇MIT Tech Review的文章也探讨了这个问题:https://www.technologyreview.com/s/429690/why-we-cant-solve-big-problems/。 附言:很棒、很有思想的文章! 回复
Ashish Goyal 说: 2017年4月18日凌晨12:49 太棒了,先生…#尊敬.. 回复
Ashish Goyal 说: 2017年4月18日凌晨12:49 太棒了,先生…#尊敬.. (y) 回复
John 说: 2017年11月14日晚上9:05 好文章!我的老师推荐了这篇文章,我实际上从这里得到了很多答案。可以从中学到很多东西。我必须做一个天才小时项目,我的问题是技术如何改变了人体。技术的目的也是一个很好的研究课题。阅读这篇文章并从中受益。谢谢。 回复
Max Kanat-Alexander 说: 2017年11月15日凌晨12:43 不客气,John。很高兴能帮助到你。 回复
kolin.brown 说: 2018年1月31日上午9:19 非常感谢这些信息,帮助很大 回复
kolin.brown 说: 2018年1月31日上午9:21 好文章!我的老师推荐了这篇文章,我实际上从这里得到了很多答案。可以从中学到很多东西。我必须做一个天才小时项目,我的问题是技术如何改变了 回复
Just Because We Can, Doesn’t Mean We Should. – Mrs. Laurencot’s Student Blogs 说: 2018年3月22日上午8:58 […] 两点之间"或者说,通俗点讲,让事情变得更容易,但它也有其缺点。正如Max所说,“当技术试图解决物质、能量、空间或时间问题时,它是成功的。[…] 回复
Shirleen Mauigoa 说: 2018年5月21日下午6:04 非常感谢这些有用的信息。它帮助我进行研究。 回复
simeon sylvester 说: 2018年8月29日下午1:55 好文章,但列出目的是为了帮助进行更多研究。 回复
simeon sylvester 说: 2018年8月29日下午1:58 好文章,但目的没有列出以帮助进行更多的研究工作。 回复
Samuel Elkina 说: 2019年10月21日凌晨1:55 谢谢我的朋友,我觉得这些信息很有用。 回复
Top 25 Future Technologies in which we should invest as a business - Geta-Suggestion 说: 2021年2月5日晚上8:36 […] 技术的主要目的过去是并且仍然是让我们的生活更舒适,给我们更多时间进行休闲活动。之前 […] 回复
Technology Has to Serve Humans – CX by Design 说: 2025年4月30日下午12:10 […] 当我们环顾这个充满技术的世界时,关于创造物是否成功实现了这一目的的问题 […] 回复
最新动态
Max Kanat-Alexander 11月3日
我很高兴地宣布,我将于11月20日在纽约市的AI工程师代码峰会上发表演讲。过去几年,关于软件工程的未来存在很多不确定性。在本次演讲中,我将讨论我们可以应用的原则,以确保无论发生什么,那个未来对你的业务来说都是美好的。
很希望在那里见到你! 阅读更多 935 分享
Max Kanat-Alexander 11月1日
从2011年到2015年左右我们停止定期每周会议,我几乎每周都参加Google代码健康小组的周会。这是一个非常棒的会议,有一个核心小组几乎总是参加,外加每周一些零散的与会者,他们希望在其领域获得有关代码质量、测试或重构问题的帮助。
大多数情况下,会议作为一个支持小组,为那些关心代码质量并希望在其领域采取行动的人服务。他们会来,抱怨他们如何关心却难以让别人也关心。我们会支持他们,说我们真的很关心,他们应该坚持下去,然后他们会回到自己的领域去做伟大的事情。实际上,令人惊讶的是,该会议的许多与会者后来成为了Google一些最资深的技术负责人。(关于长期职业成功的一个好提示:如果你专注于做正确的事情,尽管有反对或困难,从长远来看,这几乎总是对你的职业生涯正确的事情。我们确实在代码健康小组中一次又一次地看到这种情况发生。)
然而,几乎每周,都会有人来参加会议问我们同样的问题:“我如何客观地衡量代码复杂度?“一周又一周,我们会给他们同样的答案:“没有办法做到,请不要这样做。”
这个小组的负责人代表了代码质量和重构领域世界上一些最有经验的工程师,随着时间的推移,我们都得出了相同的结论:代码复杂度测量行不通。所有尝试制定量化指标(圈复杂度、计算静态分析失败次数、确定内聚和耦合的算法)的努力都失败了——它们将团队引向错误的方向,并没有解决真正阻碍开发人员的重要问题。
最终,我明白了为什么这些指标行不通,而且永远也不会行得通。这是因为代码"简单"的定义是:易于阅读、理解和正确修改。那里的"阅读"和"理解"本质上都是主观的。只有人类才能告诉你某件事是否容易阅读。
有些人曾希望现代的LLMs能在这方面提供帮助。当我看到时我愿意相信,但现在这实际上是所有模型一直表现糟糕的领域:告诉你是否产生了高质量的输出。它们在发现特定问题并以代码审查的形式提供具体指导方面表现不错。但它们完全缺乏经验丰富的软件工程师在构建真正简单的软件系统方面所具备的判断力。无论你如何告诉它们"要简单"或"编写好的代码”,它们根本做不到。
所以这仍然是事实:代码质量本质上是主观的,如果你想理解它,你需要关于它的主观数据。这是我见过的唯一有效的方法。 阅读更多 9118 分享
Max Kanat-Alexander 10月15日
今年我很高兴能在2025年开发者生产力工程峰会上发表主题演讲之一。我谈到了什么造就了伟大的开发者体验。特别是,这次演讲涵盖了我们在所有开发者体验工作中试图优化的三个核心事项。希望对大家有所帮助! :) https://lnkd.in/g-AJtJ2b 阅读更多 什么造就了伟大的开发者体验? lnkd.in 846 分享
Max Kanat-Alexander 10月13日
为什么Google拥有如此出色的开发者体验?它只是在这方面花的钱比别人多得多吗?
嗯,是的,如果你把花在Google基础设施上的所有人力成本加起来,Google可能在开发者体验上花的钱比任何人都多。但这实际上并不是Google在这方面成功的核心原因,因为Google开发者体验的早期并没有涉及大量工程师。它实际上涉及数量相对较少的优秀工程师,他们随着时间的推移相当缓慢地构建工具。Google一些最受喜爱的工具最初总共只有三四个人构建。
关键在于,这些工程师被允许专注于开发者基础设施的基础工作,无论需要多长时间才能做好。每个人都在朝着开发者体验的长期全局最大值努力,而不是短期的即时需求。非常优秀的工程师被赋予自由去问诸如"一个完美的构建工具应该是什么样子"这样的问题,然后尝试构建它。源代码控制、代码审查、编程语言基础设施、CI、IDE、公共库以及开发者体验的许多其他部分也是如此。当然,有时我们在此过程中构建了一些糟糕的东西,但公司足够关心把它做好,以至于我们(通常)会回去修复它,最终。
Google开发者体验和速度的关键在于这种对软件工程基础的关注。也不仅仅是在开发者工具团队中,而是遍布整个公司——Google的工程师比我在其他地方见过的任何地方都更关心代码质量、测试等等。
我在行业其他地方看到的技术领导者最常犯的错误之一就是未能关注所有这些工程基础。代码库可维护吗?你是否拥有高效、有效地构建可靠、高质量软件所需的基本工具?是否有系统确保新软件工程师能够快速熟悉项目,并随着时间的推移提高他们的技能?等等。
相反,我经常看到领导者坚持在破碎的基础之上紧急解决眼前问题,而没有任何计划能够真正在未来解决那些基础问题。这有点像是一个酒店建造者,看到所有其他酒店都有很棒的顶层套房,然后就坚持让团队建造一个漂亮的顶层套房,而大楼的地基已经开裂,管道也在漏水。修复那个地基可能很困难,但如果你不修复,你肯定会后悔的。
基础有时感觉抽象或不重要,因为它们不是你被要求交付的即时产品。但让我告诉你,如果你想能够交付任何东西,基础才是最重要的。 阅读更多 24443 分享 加载更多