爆栈思想 – 水平高低、改进和重写

入乡随俗?

泰国要搞一个大型基础设施,找了中国的工程队去,当地的协会要求该工程队先考一个资格证,国王知道后,说:“你们就是自己做不了才找的中国的工程队过来,这说明人家水平比你们高,你还需要别人考取你们的资格证?这不像话。不需要他们考证。”

一些时候,新人进入公司,不管该新人背景如何,水平多高,就是把你当初级程序员那样用,即便过了一段时间该新人对业务系统已经有一定的认识,仍然得不到应有的重用,反观一些水平差不少、态度很差的老油条却不断升迁、加薪。

改进和重写

英文里,我们有evolution 进化和revolution 革命,一个字母之差,如中国古语说:差之毫厘,谬之千里。

一些老系统,如果要改造,主要考虑项目的大小和公司的资源,如果系统较小、资源充足、权衡利弊后回报合理,那可能选择重写。否则,应该采用进化的方式逐步改进。

我之前说过,开发人员有英雄主义情结,有些开发人员做得比较极端的是,看着系统不爽就说要推倒重来,主要心态是:

  • 我想学新东西,平时没机会,现在找这个做借口,练手
  • 老子自认天下第一,别人的代码都是垃圾,都得扔掉

Dependency graph of a Big Ball of Mud architecture

当然,也有可能是客观的情况:系统不行

  • 系统设计一团糟 (big ball of mud),无法维护和改进
  • 要么性能低下
  • 要么问题百出
  • 要么用户体验糟糕
  • 要么跟不上时代,如不支持各种移动设备,或者用户量上来了现有架构无法应付

其实,即便全面改造现有系统,也可以有序地进行,譬如垂直按模块来,分而治之。又或者采用所谓的lift & shift,改造底层架构,譬如本地服务器改成用云的分布式。

曾经有这样的系统,采用新技术重写,花了8年,仍然还是半成品。所以还没有交付,技术又落后了。

 

想知道为什么我这么多年来能掌握那么多种技术,不仅仅是广度,还有深度,达到我所说的“爆栈”吗?

在《爆栈之旅》,我根据大家都实际情况、水平、方向等规划职业路径,手把手带你做实战的项目用最高效的办法达到你想要的高度。

爆栈之旅

是否想技术水平快速提升?是否希望快速成为公司的技术骨干?

核心价值
  • 把我这10多年来所学到的知识、总结的经验、吸取的教训分享出来
  • 针对不同的学生量身定制规划学习成长路线、1对1个人指导、代码审阅等
  • 解答各种技术问题
  • 为公司提供技术解决方案

请查看本站右边的信息联系我。

版权所有

所有文章内容版权所有,任何形式的转发/使用都必须先征得本站书面同意。本站保留一切追究的权利。

发表评论