我欺骗了 CTO,但拯救了公司
这是几年前的事了。我刚开始我的职业生涯,我爸跟我说,要想做好工作,有时候需要不顾老板的意见去做事。他表达的其实是,可以让你的老板因为你而成功和满意,也可以选择把每一个决策都交给老板决定,但结果往往是大家都不开心也不成功。
当时我在一家财富 500 强公司工作,我们的 CTO 接了个他有私交的重要客户的一重大项目。他还决定把项目中的一个关键部分外包给一家大型技术服务公司,这家公司声称他们的一款产品可以帮我们完成大部分繁重工作。
在我职业生涯中常见的一幕再次上演:供应商所说的「产品」,实际上只是勉强能称之为产品的东西,勉强能满足我们的需要,需要大量定制后才勉强能用。显然,通过对他们的「产品」进行定制,我们巧妙地集供应商软件的缺点与定制软件的所有缺点于一身。我们还无意中创造了最糟糕的主意:一个僵硬的供应商软件,被迫做它本不应做的事,同时还从他们的主产品代码库中分叉出来 - 一旦供应商认识到维护成本过高,这个产品迟早会被淘汰。我们为此互相埋怨,认为这是一个极其糟糕的想法,尤其是考虑到供应商一贯不按时交付的记录。
由于 CTO 的直接下属每年都在变动,每次关于这个项目的会议上,即便没人真的认为是个好主意,大家还是会说「好主意,老板」。
或者说,这根本不是个好主意,而是一个糟糕的主意。
除此之外,我们还得在内部为项目的其他部分进行大量开发,已经够多挑战了。项目在夏天的截止日期再三被推迟,供应商却一再保证他们的交付物马上就好,可以集成进产品里,赶上十月的发布。然而,对于除 CTO 外的所有人来说,项目正愈发明显陷入困境中。到了八月,供应商交付了他们的「产品」,我们开始了艰难的整合进程。
九月,我们遇到了一个关键性错误。供应商的产品将每一笔客户交易都存储为一个 json 记录,并归档于一个庞大的 json 文件中。随着测试数据的不断积累,产品的性能逐渐下降。每多一笔交易,都需要读取整个 json 文档并在其末尾增加一条新的记录。供应商声称他们可以通过给交易字段建立索引来解决这个问题,这个办法起初似乎有用,直到我们遇到了第二个问题。
他们选用的数据库是 MongoDB,当时 MongoDB 对每个文档的大小限制是 16MB。因此,到了十月份,当转换团队开始导入真实客户数据时,我们开始触碰到这个 16MB 的上限,问题变得严重起来。有人做了个决定,对客户隐藏这一限制,并推迟一个月上线,同时秘密启动一个项目来替换供应商的集成,于是他们也被蒙在鼓里。这样,我们同时对客户和我们重视的技术合作伙伴不实。
当时的暴躁老研发(小编注:此暴躁老研发即作者本人)其实还是个充满热情的年轻研发,他迅速组建了团队来开发替代方案。供应商的项目团队有 70 人,而暴躁年轻研发只安排了 3 人进行替代开发:一人负责数据库设计,一人负责开发数据库后端接口,还有一人负责开发业务逻辑和网络服务。
客户被告知在一月份会一个新版本可以进行测试,这个版本将解决他们在最初上线时遇到的一些重大问题。但是,我们没有告诉他们,实际上我们正在彻底重写整个核心系统,而且只用了不到两个月完成。考虑到原项目花了一年多的时间才上线,这次只用三个人,在假日期间完成(可以脑补一下接下来的剧情)。
到了十二月中旬,参与项目的每个人都被强制要求(不是请求)在假日期间加班。
需要指出的是,我们大多数人在过去六个月中已经持续工作了 60-80 小时/周,仅仅是为了赶上原定的上线日期。
每个人都已经精疲力尽了。
如果你正在读这段话,而且你不是一个专注于保证工作交付的人的技术人员,你可能会觉得这太可怕了,是时候考虑辞职了。你是对的。但是,我们这些真正热爱软件开发的人,有时会有种摇滚明星的感觉。可能花了几个月甚至几年时间来准备这个项目,而上线的那一天,就像是最后的汇报演出。你想要按时完成上线。这有点像剧院里的演员:演出必须进行!但同时,当你的辛劳成果首次面对真实用户,感受到那种「这是我做的!」的激动时刻,你也想体验一下摇滚明星的感觉。大家喜欢我的作品,我完成了不可能完成的任务。软件的发布,对于内向者来说,就像是一场现场演出。
这时候,圣诞节就要到了。团队在一个月的工作中构建出了替代软件。虽然还有一些功能需要完善,但这些开发者都很聪明,他们一直在完成他们的任务,我相信只要他们不过劳,我们能按时完成测试。
因此,当 CTO 告诉我假期被取消时,我只好答应了。
接下来是我一生中最自豪的时刻之一,我想到了父亲的话 - 关于无视老板。我对我的三名员工说「你们休息一周,这里的事情交给我」。每天早上我都会参加与 CTO 的强制项目进度会议,并对他撒谎。
- 「团队正在努力工作。今天我们完成了第 73 个 milestone」
- 「团队昨天取得了不错的进展,我们又完成了一个网络服务」
每一天我都会报告我们正在忙碌,而这些其实都是我们一个月前就已经完成的任务。
一周后,我的团队成员精神饱满地返工了。
一月,我们按期完成了所有任务,顺利上线,短暂地成为了摇滚明星。或许我们更像是 Herman's Hermits (小编注:赫尔曼的隐士们,英国摇滚乐队) 而不是 The Beatles (小编注:披头士,英国摇滚乐队),仍旧,让人感觉很棒。
这就是我欺骗了 CTO,但拯救了公司的故事。
Hacker News 评论精选
翻译本文不是希望推崇公司强制员工加班,剥夺宝贵假期,特意摘录了几条 Hacker News 上此文的评论。
motbus3
如果你是那种取消假期以保证工作交付的人,我想根据自己的经验劝你一句:不要这么做。
我懂,尤其是当你因为辛勤工作获得表扬时,停下来似乎很难,但你最终会为此感到后悔。
如果你的工作是在一个依靠你牺牲假期和休假来推销产品的公司,你实际上是在助长我们今天所面对的问题世界。如果很多人都这么做,那么将有更多人需要这么做。如果没有人这样做,并认为这种要求是荒谬的(确实是这样),那么就没有人会被迫这样做,公司就不得不进行真正的成本估算,即使这可能会损害你最喜欢的 CEO 的利益。
roenxi
这个故事中的每个部分都显得混乱不堪,包括主人公的行为方式。一个团队领导给员工随意放假并对此撒谎是绝对不允许的,这种行为已经触及了公司可能将其解雇的边缘。事实上,如果这种行为导致他被解雇,我也不会感到意外。虽然上层管理显得非常混乱,他可能侥幸免于被解雇并意外获得表彰;这似乎正是他所处环境的一种体现。
给新任团队领导的一个忠告:这里没有任何值得自豪的地方,更明智的做法是强烈反对团队加班,并坚持要求供应商符合合理的标准,或者重新考虑项目范围,以适应正常的工作周时间表。试图应对这种状况只会无谓地耗尽团队的精力,甚至可能导致团队成员在没有任何好处的情况下失去工作。
除非我真的迫于生计不得不工作,否则作为一个团队领导,有责任保护团队成员的合理工作时间,抵御那些不合理的要求。这是一个值得你坚持到底,即使可能因此被解雇,也绝不撒谎的原则。
joshstrange
拯救了谁?
那个交付低劣产品的不良供应商?
那个被一群唯唯诺诺的人围绕、对公司内发生的事毫无所知的 CTO?
那些被压榨到极限的开发者们,虽然给了他们一周假期,又如何呢?
还是那个为了满足一个毫不在乎他们的公司设定的任意截止日期而对所有人撒谎的主角?
这个故事的每一个情节都让我感到不爽。我工作勤奋,偶尔也会为了确保客户发布顺利而加班,但这个故事完全是疯狂的体现。我之所以愿意偶尔加班,是因为我与老板的关系以及我知道我可以随时向他们坦诚。事实上,这是建立无责备文化的核心:只有当每个人都坦诚相对时,我们才能拥有这样的文化。
为了达到一个无知的 CTO 设的截止日期而疯狂撒谎,这简直不可理喻。如果你发现自己处于这样的境地,那么最好赶紧离开,找一个更好的工作环境。
💡 更多资讯,请关注 Bytebase 公号:Bytebase

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MySQL 8.4 LTS 中文手册发布:助力您掌握数据库管理新境界
MySQL 8.4 LTS 中文手册正式面世!这本全面指南针对最新稳定版本 MySQL 8.4 LTS 而编写,涵盖从安装配置到高级数据库管理的各个方面,助力您轻松掌握数据库管理新技能。 MySQL 8.4 LTS 作为备受瞩目的开源关系数据库管理系统 (RDBMS) 最新长期支持版本,引入诸多强悍功能和优化,助您打造高效稳定的数据库环境: 性能显著提升:查询性能和吞吐量大幅提升,满足苛刻业务需求。 安全防护再升级:全新安全功能强力保障数据安全,为您筑起坚实堡垒。 扩展能力更强劲:支持更大数据库和更多并发用户,助力业务平稳扩展。 易用性再度优化:简化的语法和新增管理工具,降低学习门槛,轻松上手。 MySQL 8.4 LTS 中文手册 为您全面解析上述强大功能,助您充分挖掘 MySQL 8.4 LTS 的潜力: 详细的安装和配置教程:轻松搭建数据库环境,快速开启数据库管理之旅。 完整的数据库管理指南:日常操作、维护等各方面应有尽有,助您游刃有余管理数据库。 对所有 SQL 语句和函数的 جامع参考:快速查找所需信息,高效完成数据库操作。 针对常见问题的故障排除技巧:轻松解决常见难题,避...
- 下一篇
中移物联 OneOS 为全国产化 HMI 解决方案注入新动能
近日,中移物联网有限公司(简称中移物联)与深圳市启明智显科技有限公司(简称启明智显)联合宣布,中移物联OneOS物联网操作系统将原生支持启明智显M系列芯片。双方通过此次合作,为全国产化人机界面(HMI)解决方案的发展注入新动力,助力我国制造业智能化转型、高质量发展。 据了解,此次合作基于智显Model3、Model3A、Model3C和Model4四款RISC-V架构芯片完成原生适配,为用户提供高安全、高可靠的技术支持。作为国产自研物联网操作系统的代表,中移物联OneOS内核代码自主率达到100%,展现出强大的自主可控性。同时,OneOS还构建了云、网、端的全面安全保障,提供安全启动、安全升级等丰富的安全特性。OneOS系统通过代码模块化设计,具有高度的可伸缩性,能够结合垂直行业应用灵活裁剪,高效适配各类芯片,为不同场景提供解决方案。 据悉,启明智显M系列芯片与OneOS系统完成原生适配后,将广泛应用于两轮车仪表、工程机械HMI、显控HMI、打印机等领域,为客户提供GUI、OTA(含两轮车整车升级方案)、咪咕音乐等丰富能力中间件,为各行业带来更先进高效的解决方案。目前,此...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程