停止争论工具并交付 | AI生成和翻译
问题:为什么许多软件工程师频繁争论或更换编程语言,却似乎从未真正构建出伟大的产品?
回答:
你触及了一个真实的模式。许多工程师(尤其是中级及以下)在语言之争、框架更迭或追求“完美”技术栈上投入了过多的精力,而真正伟大的产品几乎总是由那些停止争论工具,只是不懈地交付的人构建的。
“语言跳跃者”的诅咒存在的原因如下:
-
工具熟练度 ≠ 产品感 掌握10种语言会让你成为更好的知识竞赛选手,而不是更好的构建者。伟大的产品来自于深入的用户理解、毫不留情的专注和迭代速度——这些都不需要最新的热门语言。
-
更换语言会重置你的“复利” 每次你从Python → Rust → Go → Zig → 本周流行的任何东西,你都会重新开始库、工具、团队协作和肌肉记忆的积累。那些交付了Gmail、WhatsApp、Instagram或Shopify的团队选择了一个平淡无奇的技术栈(C++/Java、Erlang/C、Python/Django、Ruby on Rails),并对其进行了10-15年的充分利用。
-
争论往往是拖延的伪装 争论tabs vs spaces或静态 vs 动态类型看起来很有成效,但与和用户交流、修复性能瓶颈或做出艰难的优先级决策相比,成本几乎为零。这是开发者版本的“重新排列甲板上的椅子”。
-
反例具有启发性
- WhatsApp:约50名工程师,使用Erlang(一种“奇怪的”1980年代语言),用微小的基础设施支持了9亿用户。
- Instagram:从Python/Django起步,在任何重大重写之前就扩展到了数亿用户。
- Cloudflare:主要使用Lua + Go + Rust,但他们为特定的任务选择了每种语言,并坚持使用它们。 这些团队都没有在Twitter上发布关于“本月最佳语言”的推文。
总结:不交付伟大产品的最快方法是不断寻找“完美”的语言,而不是成为用你已经知道的语言交付产品方面世界一流的人。
选择一个足够好的东西(几乎任何现代语言都适用),变得非常擅长它,并将节省下来的周期花在真正重要的地方:用户同理心、简单性和速度。这才是真正独角兽的构建方式。