John Ojetunde,Moniepoint 存款、储蓄和 POS 渠道工程主管,有一个坦白。他每天都在与自己的工程师争论,不是关于代码质量或技术架构,而是关于更根本的东西。他们争论的是速度究竟意味着什么。
大多数工程团队以部署天数来衡量速度。Ojetunde 则以总成本来衡量,包括没有人愿意承认的返工。他的哲学,速度和质量不是敌人;它们服从于精通,听起来像是励志海报上的智慧,直到你看到数学计算。
想象两位工程师被要求构建同一个功能。A 先生在三天内完成并交付。质量保证测试了两天,发现需要来回修复的错误。又花了两天。他们部署到生产环境。出现故障。A 先生又花了三天来修复。总时间:八天。
B 先生花了五天构建同一个功能。看起来更慢,对吧?但质量保证只用了一天测试。第二天就部署了。功能稳定。不需要返工。总时间,七天。B 先生更快,但没有人这样衡量,因为每个人在第一次部署后就停止计算了。
John Ojetunde,Moniepoint 存款、储蓄和 POS 渠道工程主管
问题在于人们没有累计返工所需的时间,Ojetunde 解释道。他们没有将其计入总成本。所以他们看到这个三天完成的人,就认为他更快。但当你真正看总时间时,你会发现速度和质量确实服从于精通。
对 Ojetunde 来说,这不是理论哲学。在 Moniepoint,他的团队管理着每天处理数百万笔 POS 交易的基础设施,每一次优化在规模上都很重要。他举了一个例子。
有人在 Moniepoint POS 终端上完成一笔交易需要一分钟。你将其优化到 50 秒。这 10 秒的差异看起来很小,直到你将其乘以数百万笔交易。然后你意识到可以推进到五秒,然后一秒。
但只有当你的基础足够稳固,不需要不断扑灭生产问题时,你才能实现这种持续改进。
这种哲学来自艰难的经历。
多年前,Ojetunde 在 Zenith Bank 参与了一个部署项目,重塑了他对工程的看法。由于安全限制,无法访问互联网。团队必须为数千名商户迁移数据,真实世界的脏数据打破了他们设计中的每一个假设。Ojetunde 实际上在银行住了一周,而利益相关者就站在他身后等待修复。
"那一周打破的是你可以在理想条件下设计解决方案的幻想。真实的实时数据会对你的应用程序进行压力测试,"他说。
用户可能不会按照你预期的方式使用它。重建的是一种所有权水平,他无法再躲在任何人身后。利益相关者不关心他的角色或借口。他们关心的是客户是否满意。
这种客户关注在 Moniepoint 成为不可妥协的原则。
"客户同理心对我们来说非常重要,"Ojetunde 说。
你能做什么花哨的事情并不重要。客户满意吗?这是每个人都想回答的问题。Moniepoint 雇用的工程师是拥有产品而不是代码的人。
"这意味着如果你的产品经理带着解决方案来找你,你可以反驳并说这不是解决客户问题的最佳方式。只有当你真正理解客户问题时,你才能做到这一点。"
Ojetunde 拥有英国全球人才身份,但领导着为尼日利亚市场服务的基础设施工程。这种矛盾并不像表面看起来那么明显。
"你可以身在尼日利亚,但仍然不理解尼日利亚人的问题,"他指出。存在一种理解的幻觉。你对问题变得如此熟悉,以至于它们变得正常。你不再看到机会。
John Ojetunde
"生活在国外帮助我们看到什么是可以实现的,以及在技术方面我们可以把尼日利亚带到哪里,"他解释道。"这就是为什么 Moniepoint 追求高速平台,转账即时,资金总是到账。接触发达国家的基础设施展示了可能性。但保持与尼日利亚现实的联系需要刻意的努力。
"几乎每个季度我都会在尼日利亚,"Ojetunde 说。
他的团队定期进行客户调研,前往埃努古、拉各斯和其他城市,因为你可以在拉各斯,但不知道埃努古人的困境。Moniepoint 有贴近商户的业务关系经理,提供关于什么有效什么无效的持续反馈。公司可以看到每个终端的部署位置,让他们能够在客户面临的确切条件下测试解决方案。
对本地环境的关注很重要。在英国,企业不担心 POS 终端上的数据消耗,因为带宽便宜且通常无限。
在尼日利亚,数据成本是真正的约束。所以 Moniepoint 为村庄中互联网连接不良的人进行优化。他们派工程师到那些确切的位置测试终端是否在真实条件下正常加载。
"你在为一个没有互联网的地区的人进行优化,"Ojetunde 解释道。"当你想测试它时,你让某人去同一个地区,因为你真的想体验客户所体验的。"
"技术是一种全球语言,"他指出,"但问题是本地的。"潜在的价值是客户同理心。你在哪里并不重要。如果你有客户同理心,你就拥有它。
John Ojetunde 运营 DreamDev,Moniepoint 的初级工程师培训计划,而此时许多公司正在质疑他们是否根本需要初级开发人员。AI 现在可以大规模生成代码。为什么要投资从零开始培训人员?
他的回答很实际。
有短期目标和长期目标,他说。谁会成为下一批高级开发人员?如果没有让人们成长的渠道,最终你将不再拥有高级开发人员,因为没有人被投资。你必须有意识地确保你正在培养可以成为未来的人。
他不断看到的差距是,许多自称高级开发人员的人没有扎实的基础。
他们匆忙掌握技能,在不了解幕后发生什么的情况下构建网站和应用程序。当生产在压力下崩溃时,他们无法解决,因为他们从未真正理解基础。
"经验是最好的老师,"Ojetunde 承认,"但它太昂贵了。你可以用客户停机时间来支付,或者你可以用损失金钱来支付。你能在不经历的情况下学到同样的教训吗?通过站在经历过的人的肩膀上,同时他们引导你?可以。"
DreamDev 回归基础,采用专注于基础和实用系统的定制课程。目标不是培训 Flutter 工程师或 React 工程师。目标是培训软件工程师,用软件解决问题的人,无论具体工具是什么。
John Ojetunde
Moniepoint 区分 Flutter 工程师(只在该框架中工作的人)和移动工程师(可以在 Flutter、原生或问题所需的任何环境中工作的人)。
第一批 DreamDev 毕业生中的一位立即获得了全职职位,甚至不是实习,因为他就是那么优秀。这就是重点。
Ojetunde 对导师制充满热情,因为影响力通过人来扩展。
你做一些事情很好,他说,但如果你的影响力会更大,因为你有更多的人在做同样的事情,那会更好。
在 Moniepoint,让 Ojetunde 夜不能寐的既有人也有系统。"人,因为你拥有的人的质量决定了你获得的输出质量。他们做出的判断只能因为他们的特定质量而做出。系统,因为在像尼日利亚这样快节奏的市场中,你总是想走在曲线前面。只有不断重新调整和重新连接你的思维,你才能领先。"
规模越大,那些小收益就越重要。人员越好,增长就越可持续。
速度和质量不是敌人,John Ojetunde 坚持认为。但只有当你理解今天看起来慢的东西可能是唯一足够快以持久的东西时,你才能同时实现两者。
帖子"速度是个谎言:认识 John Ojetunde,这位以返工而非天数来衡量速度的工程师"首次出现在 Technext 上。


