特别能战斗,特别能想辙,特别能凑合
前几天我在 twitter 发了这么一条: "特别能战斗,特别能想辙,特别能凑合。这用来形容国内互联网技术开发也蛮恰当的。" 其实当时是在看这篇不相干的文章, 一下子就被这句话吸引了.
- 特别能战斗. 女人当男人用, 男人当畜生用, 这个应该算是行规了吧.
- 特别能想辙. 问题来了, 我们无论如何都能想到解决方法: 再古怪的查询需求, 总能在架构上绕通, 最多不就加个模块么; 开源实现太复杂, 语言不对, 没法定制实现需求, 立马给你山寨一套符合特殊司情的出来. 嘿嘿, 这些事我太有经验了.
- 特别能凑合. 具有惊人的在恶劣架构环境下生存的能力, 只要代码还能用, 只要架构还能跑, 无论在上面折腾事情多困难, 我们都能折腾下来.
想想真的很敬佩我们的 IT 民工. 我们处在世界上发展最快, 也是最野蛮的一个市场, 整体技术水平却又相对较低, 还顺便处在人极其不值钱的国家, 堆人, adhoc 解决方案, 捏着鼻子赶进度, 其实是很合理的选择, 你不得不如此.
这是止痛的吗啡, 你不得不打, 但打多几次, 你就要上瘾了.
不断 adhoc 方案的累积, 使架构越来越混乱, 开发越来越难, 架构改动的成本也越来越大, 所谓积重难返. 那就只好用更勤奋, 更能战斗的民工和更多的 adhoc 方法来搭够了 --- 一个更能战斗, 更能想辙, 更能凑合的循环. 这个过程是有天花板的, 总有一天要下决心推倒重来, 但不是每个人都能过这一关.
这也阻碍了技术水平的提升. 我们有很聪明的技术人才, 他们能想出很好的解决当前问题的点子, 却很难有时间去学习, 总结, 沉淀, 难以有成体系的经验和创新. 我经常提小公司大公司的概念, 在市场上他们是大公司, 但在技术水平上, 他们还是小公司, 一个太大发展太快的市场环境导致两者的不平衡, 开发者被紧逼的市场产品需求压得喘不过气来, 发展到现在, 还是山寨小作坊的模式.
而我认为最可怕的, 是对人心理的影响. 一年年新人进来, 老人带上手, 在"培训"中, 不甚完善修修补补的架构和模式被灌输成了经典设计, 成了教条. 选择 Adhoc 方案不是不得已而是理所当然. 这时候人的忍耐力会极高, 能够让团队以理所当然的, 低效率的方式持续运转下去 --- 吗啡打上瘾了. 技术架构的积重难返, 人技术的难以进步, 心理因素也是重要原因.
特别能战斗, 特别能想辙, 特别能凑合, 技术的低水平山寨式发展, 这是不得已的现实. 但不是不能改变的.
- 保持谦虚, 开阔眼界. 我们不得不承认我们的差距, 在技术上我们鲜有世界领先的成果. 市场巨大成功导致连技术一起过分自信, 高估自己的经验, 等待灌输的应届生, 临时方法成了经典模式, 闭门造车的创新, 我还没想到比这更糟糕的组合.
- 拥抱变化和魄力. 我承认 adhoc 方法, 不求设计次次完美, 只需始终记得这必定要被抛弃. 人人都在谈拥抱变化, 这需要开发方法, 也需要架构支持, 还需要全团队的魄力. 一个任务, 可以用旧方法有点丑陋但比较保险地完成, 新方法有风险而且工作量更大, 如何选择? 新方法失败, 会不会从此裹足不前?
- 闲人. 若给每个人 20% 时间不现实, 那至少也要有一点闲人. 外界技术学习, 开源成果研究, 新思路的酝酿, 都是没法在项目压到跟前时完成的, 需要有人不受产品项目约束来来进行这些工作. 只是问题在: 如何衡量闲人的成果, 如何给闲人制定 KPI?