<audio id="audio" title="第117讲 | 程军：技术人的「知行合一」（三）" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/89/84/8905f2280fe05d4562382e414d0a5584.mp3"></audio>

你好，我是贝壳技术总监程军。每次抽烟到烟头快熄灭的时候，心里总会抱怨怎么这么快，然而过不了多久，又会点起新的一支烟。众所周知，这个世界是复杂且多变的，我们唯一能做的，就是在大部分时候都保持乐观、积极的态度面对生活赋予我们的一切。

曾国潘曾说过，“担当大事，全在‘明’‘强’二字”，上一篇文章中，我主要分享了我对“明”的理解，今天，我想聊聊我对其中“强”的感悟。

## 一、天行健，君子以自强不息

“强”就是指刚强、倔强、自强和坚持，所强调的是意志力、毅力、定力和决心的力量。

他曾说过：“势利之天下，强凌弱之天下，此岂自今日始哉？盖从古已然矣。从古帝王将相，无人不由自强自立做出。”

意思是说，从古到今的帝王将相，没有一个不是由自强中走出来的，更何况我们这样的凡夫俗子。

这里想分享一个我的例子：

今年5月底，我加入现在的公司，成为本部门的1号员工。入职第2天，领导就把需求方、HR负责人等从北京带来了，我们开了大概2个小时的新产品讨论会，依稀记得老大的套路就是：<br>
1.强调这个产品线公司高层很重视，并当场把产品相关的行业分析、竞对分析以及怎么构建新的壁垒说了一遍，还介绍了第一期产品需要做什么内容；<br>
2.提出期望这个产品能在1个月内上线；<br>
3.表明协助招人的HR也在现场，可以给予最大的支持。

接着问题来了，他问我你现在怎么打算？

当时我几乎是窒息的，心里不停盘算目前团队除了我，什么人都没有，但产品上线日期却已经被确定，该怎么办。内心思考再三之后，我选择回答OK。对于我的回答，感觉当时在坐的各位都很开心，只有我还一直不能释怀，以至于会议结束之后，领导请我吃了上海最有名的红烧肉，我也感觉没滋没味的。

后面的故事按大家想的那样，产品如期上线，数据表现还不错，上线一个月后已经达到每日3000单的交易量。

以下是我当时的解决方案，供大家参考：

1. 和产品同学一起商量这一期MVP版本的产品功能，先定义目标和细化目标；
1. 深入了解产品需求，整理出业务架构、表结构模型并搭起系统架构，同时识别出其中需要外部依赖的部分，提前沟通让对方排期；
1. 和兄弟部门的老大不要脸的借来1位开发，由于我入职之前兄弟部门已经发出了一个offer，所以这位同学在我入职后第二周就入职了；
1. 前端和测试的两位同学分别在2周后入职（别问我怎么做到的，加入一个新团队前也应该提前做一些准备，毕竟兵马未动粮草先行）；
1. 自己也参与代码编写，跟兄弟们一起战斗，（当时还发朋友圈笑说我是一个已经4年没有写代码的人）如亮剑电视剧中李云龙所说的那样，战号一旦吹响，炊事班也得拿着菜刀和大锅冲上去。

后来才知道领导用了一个“以终为始”的方法，就是先确定目标，剩下是你要去考虑的，这也许就是网上鸡汤中所说的，领导要做正确的事，而作为下属的我们要把事正确的完成吧。

话说回来，我当时心里也是比较犯嘀咕的，要是刚入职第一个产品就不能按时交付，这后面可如何是好。好在我一直以来是一个不服输的人，性格倔强、行动果断，很多时候还非常有毅力和坚持。当然，在我的理解里，这些都不是最重要的，最重要的是决心，那是一种超乎寻常力量的东西。如今，我做事更多是价值驱动，如果我认可这件事对公司的价值、对公司的重要性，那么我要做的就是坚持去执行直到拿到结果。

用一句清华的校训收尾本段，自强不息，厚德载物，共勉之。

## 二、打落牙齿和血吞

曾国潘在回顾自己一生时曾说过，我平生有四大堑，第一堑是“学台悬牌，责其文理之浅”，也就是在秀才考试时被主考官公开批评文章文理太浅。第二堑是“画一图甚陋，九卿中无人不冷笑而薄之”，也就是在向皇帝上疏时，画了一幅图辅助说明，但因为曾国藩本身并不擅长画画，这张图比较难看，遭到了满朝大臣的鄙夷嘲笑。

第三堑是“岳州、靖港败后栖于高峰寺，为通省官绅所鄙夷”，也就是在岳州兵败太平军后遭到江西全省官绅的鄙夷和耻笑。第四堑是“九江败后赧颜走入江西，又参抚臬。丙辰被困南昌，官绅人人目笑存之”，也就是在九江兵败后逃到江西，又因为被刁难而弹劾了江西的巡抚、按察使，结果第二年曾国藩被围困南昌时，江西的官绅人人都幸灾乐祸。

而面对这些难关，曾国藩最大的不同就是从不怨天尤人，遇到苦难总是反求诸己，不断总结经验教训，以此完善自己。这就是关键所在，每个人的人生都会经历一些“生死攸关”的大事，一旦坚持了、迈过了，就是最好的成长。

这里再分享一个我的例子：

当时我还在1号店负责公司TMS系统，也就是物流运输管理系统的研发，我们系统的上游是WMS系统，也就是仓库管理系统，这两个系统是电商供应链系统的关键所在。在具体执行中，仓库打好包裹后，数据交接给WMS系统运营人员的同时也要传到我们TMS系统上。

当时的故障是，订单数据（WMS调用WMS订单接收接口）过来得特别慢，基本上是每秒1-2个订单，一看就出了问题。问题出现后，我一个外号叫“包子”的同事（技术高手，目前是阿里高P）已经在公司排查了大半天，我想着反正闲着也是闲着，就跟领导说去公司一起帮忙排查问题。

包子是我们部门的技术好手，人也有点傲，见我来了，告诉我他已经各种日志分析、数据库慢SQL分析都做了，线上也加了调试代码，就差直接debug线上代码了，言下之意就是你还有什么更好的办法。

中间不知道抽了多少支烟，故障发生在周六上午10点，眼看时间已经到第二天凌晨2点左右了，如果到早上还没有修复就可能会影响我们的订单配送情况。情况很紧张，最后没办法了，只能选择再在可能出现问题的地方加入调试代码，主要是加了一些耗时监控代码（包子加的调用方的代码，我加的是我本地实现逻辑的部分），然后立马紧急上线。

最终问题定位在一个核心配送单分配逻辑上，其中有基于内存的分词索引解析和一个用了Oracle10函数的复杂SQL查询，继续加入调试代码后发现是因为这个SQL的运行时间很慢，运行一次大概要600ms左右。

但这处代码正好是我写的，并且一直运行良好，只好打电话问DBA为什么SQL这么慢，他排查一会说组合索引失效了。问题最终被定位了，然后DBA稍作处理后，系统就恢复正常了，真的是一行业务代码也没有改。为什么我用了同样的办法却可以找到问题的本质原因？这里其实也蛮值得思考的。

后来我们复盘的时候才知道，Oracle有一个收集每个表数据的定时任务停了，执行计划从走联合索引变成了全表扫描，悲剧就这样发生了。这个时候已经是周日早上7点了，整整13个小时，再加上我同事之前花的时间，这个bug用了大概24个小时才解决。我们会去追问为什么DBA没有异常告警，这个锅其实也可以甩给他们，但是想了一下有意义么，我们才是系统的owner。

可能有的读者会说，你又不是当时发生故障系统的owner，一开始问题也没定位你的代码上，你操什么心啊。但我觉得我责无旁贷，因为我是部门的一份子，系统有我的参与，我希望它能解决故障顺畅运行，更关键的是，我们为什么要给自己的思维设限呢？不久之后老大还私下问我需要什么奖励，我拒绝了，因为我觉得奖励不是关键，关键是我从中学习到什么，领悟到什么。

在这之后不久，因为我的技术不错，有自己的思考和判断力，更有很强的好奇心，并且做事也负责，就转岗到了公司的核心部门任架构师。不过我依然非常感谢当时领导对我的培养和照顾，至今都不曾忘记，他是我职业生涯中，对我影响非常深的人之一。目前他在京东直接汇报给刘强东。

## 三、永不放弃

卓越的领导者一定要有一颗无比强大的内心。丘吉尔的最后一次演讲是在剑桥大学的毕业典礼上，整个演讲过程中他只说了一句话，那就是：“永不放弃、绝不、绝不、绝不。”稻盛和夫也曾经说过：“成功和失败的不同点就是坚忍与毅力。”任正非也说过：“经历九死一生还能好好活着，这才是真正的成功。”

既然这么多领袖都如此以身作则，身为平凡的我们还有什么可说的呢？一个字，就是“干”。

## 总结

本人从“天行健，君子以自强不息”开始，聊了我们经历困难时需要“打落牙齿和血吞”，但关键还是要有坚强的决心和意志力，也就是“永不放弃、绝不、绝不、绝不”。

在我看来，每个人的一生都是苦行僧，不论你承认或不承认，相信或不相信。而作为技术人，不论我们是在做技术管理亦或是架构师亦或是产品负责人亦或是CTO，我们的前路上都有非常多的拦路虎，并且一只比一只猛、快、狠。而面对这复杂多变的世界和诸多凶猛的拦路虎，我们唯有“男儿”当自强，迎面而上不退缩。

因为紧急家事，写于G265北京回黄山老家的高铁上，一路忐忑但永不放弃。

## 作者简介

程军，现任贝壳技术总监，曾任饿了么技术总监、1 号店架构师，10 年以上互联网开发经验，8 年以上技术管理经验。


