为什么技术选型会导致人们对其他选项理性看待的缺失?
随着我的程序员生涯逐渐一年一年的经过,以及不停得在社交媒体上看过太多关于框架、语言这方面的讨论——诸如 Vue 和 React 的对比,后端语言的选择,Rustaceans vs Gophers——这种陈词滥调,最近看到 Steve Francia 的一篇 Why Engineers Can't Be Rational About Programming Languages 激活了我对这方面的困惑和思考。
工程师人性——理性和自我的结合体
我曾一直认为软件工程师,往往应该是极端理性的代名词,但为什么他们总是会争论这些话题呢?就像小孩子互相争自己的父母,喜欢的动画片角色谁更厉害一样?或许发生在心智不成熟的小孩身上这种事很合理,但是很多我看来应该是技术相当卓越的工程师,也会参与到这些话题,更有甚者会攻击意见相左的其他人。
但是我逐渐的意识到这种讨论背后更深层的意义,它可能只是人们在这类语境下自我的表达,不关乎理性的那一方面。
或许在构建应用,技术研究甚至生活中的一些场景,工程师身上流淌的是理性的血液,但是一旦将我们放在一个“八角笼中”,让我们身上的“标签”——甚至是我们自己带上的“标签”去辩论,它们却一下子就变成了自我的血液。在这种情况下,意识层面下的决策却会被这些“标签”所左右,似乎理性的那部分“消失”了,看不到除了标签以外的、其他观点的客观优劣。对观点的客观评价,变成纯粹从“标签”出发的身份认同的主观批判。
甚至会在以价值导向的技术选型中发生这种事情,这可能会导致更严重的后果。似乎对于评论另外的观点,我们就像如 Steve 文章中说的
“To consider an alternative view, you have to imagine an alternative version of yourself.”
如果要做到真正客观的评论,我们基本上要创造一个另外版本的自己,然后再将当下的自己“杀死”才能做到,这似乎太残酷了。这种残酷似乎往往意味着承认当下版本的自己不够好,人们会自然的抗拒那再正常不过了。
或许这就是人性吧
事物的发展会摧毁那些自我的延伸
回到技术选型的讨论,那些本身应该是我们手中工具的语言和框架似乎成了我们自我的延伸——正如雕塑家珍视那一套用顺手的雕刀和凿子。
但这样真的好吗,是不是 3d 打印的出现会让这些工具毫无价值呢?似乎这个场景就像此时 AI 对编程的摧毁,语言和框架在 AI 的冲击下似乎已经失去了讨论的必要,但是人们还是乐此不疲的在这方面继续讨论。就好像纺织女工在珍妮纺纱机出现后还在争论那种纺织技巧更高效,更不伤手——有种时空的错配感,充满黑色幽默又不失残酷。
自我是一件很奇妙的东西,它会让人们在激流中保持本心,但有时候会有让人们变的固执,但是工具不应该成为我们自我的延伸,因为事物的发展,时代的车轮可能轻轻松松的摧毁这样的东西。
所以希望在 AI 的浪潮下,每个优秀的工程师能够意识到自己对某种技术的喜爱可能源于熟悉感或情感投入,从而有意识的从这种情感中即时抽身,能够从第三发的角度去审视问题,做出决策。
软件工程师应该是计算机世界的建筑师,不是某种特定建筑工程的奴隶,它们只是工具,不需要投射情感,只需要在合适的时机使用和掌握就够了。