适合创造性程序员成长的环境扼杀管理和市场营销类型人才 - 反之亦然。
编程是一项伟大的游戏工程,你需要全身心地投入。在你沉湎其中时,你的眼里只有它,其它当然都无关紧要了。在某一个白天出门后,你可能会发现,你的体重已经超重一百磅啦,你所穿内衣时间之长,比一年级学生年龄还要大,而且根据躺在地上的披萨盒子数量来判断,现在已经是春天了。但是你一点都不在乎,因为你的程序运行正常,代码不仅运行速度快,而且巧妙、紧凑。
你赢了。
你知道,有些人会认为你是一个书呆子。那又怎样呢?他们又不是玩家,从未有过与 Windows 展开竞争的经历,也没有过与 DOS 短兵相接的体验。对他们而言,C++ 是很体面的语言,因为它几乎相当于 B(译注:一个比喻,并非指编程语言) - B 语言几乎不存在。就像士兵或艺术家一样,你不用关心那些普通人的意见。你正在构建的复杂而精细的东西,他们是永远都不会理解的。
养蜂
这是每一个成功软件公司所共有的秘密:你可以用养蜂人驯养蜜蜂的方式培养程序员。虽然你不能精确地与它们沟通,但你却可以让它们聚集在一个地方,在它们不注意时,你可以取走它们的蜂蜜。
给蜜蜂一点儿甜头吧,这样可以避免蜜蜂蜇人事件的发生。这一点儿甜头,也许对蜜蜂而言是“恩重如山”,但对你来说不过是毛毛雨罢了。你是知道的,所有这些程序员的脑海里总是萦绕着他们父亲的声音“你打算什么时候步入社会呢?” 当你支付给他们足够的薪水时,他们会这样回答(也在脑海里) “哎呀,爸爸,我比你挣的多了。” 但对你来说,这真是捡到便宜了呀。
你让他们和其他程序员待在同样的办公场所里。他们唯一在乎的是其他程序员的赞美。普通程序员会将他们崇拜为偶像;甚至能力相当的程序员之间将形成互相挑战和彼此鞭策;如果你想得到一个能干活的团队,你需要确保在团队中,至少有一名可以令其他人仰视的编程天才,即使他在扫视别人代码时,总是面露嘲讽。
他是一个真正的大牛,却来思考初级程序员的问题。他能看我的代码,这就足够了。
如果一个软件公司能提供这样一处办公场所,那么程序员们就会放弃睡觉、爱情、健康、洁净的洗衣房,尽管公司不会支付他们很多的钱。
失去控制
这是一个最终导致公司倒闭的问题。所有成功的软件公司都有一个注重培养程序员的领导,这是它们共有的特性。但是没有一家公司能够永远拥有这样一个领导。无论是他套现走了,还是他引入的其他管理型人才最终让他出局了,或者是他本人发生改变并成为了一名管理型人才。不管具体情况到底怎样,总之营销人员最终控制了大局。
但是... 到底控制什么呢?与招聘装配线上的熟练工人不同,他们很快就发现,他们的产品最终被那些不可预知、不合作、不服从管理,甚至毫无“魅力”可言的人来进行生产,这些人抵制几乎任何管理上的“创新”。让他们身着西装按时上下班,他们就会因此心情不佳以至于导致消极怠工的情绪蔓延。最糟糕的是,你能感觉到,他们总是取笑你说过的每一句话,甚至每一个字。
水落石出
不过,对程序员而言,带来的震惊更大。他突然发现外星生物控制了他的生活。一堆的会议、计划、报表等等。现在某些人又要求他必须做好所有的编程计划,然后严格按照计划执行,不能改动,也不能调整,更不能接触其它团队的代码。曾经以他为偶像的那个糟糕的年轻程序员,现在成了他的老板,再也没有当年崇拜他时的表情了,有的只是专横。那个家伙之所以能坐到这个位置上,只是因为他身着西装会打高尔夫球而已。
“倾巢之下,焉有完卵”,于是乎天才程序员们都离开了。营销人员们现在感觉舒服极了,因为他们掌控了大局,感觉一切都在他们的控制之下。只是让他们纠结的是,他们的软件产品在每一轮迭代之后都会导致市场份额的丢失,因为,软件代码变得越来越臃肿不堪而且 Bug 真是满天飞。
必须要好好改进一下包装了。是的,就是这样。
作者: 奥森·斯科特·卡德,当今美国最受瞩目的科幻小说家之一。
原文: How Software Companies Die
感谢: Jodoo 帮助审阅并完成校对。