我现在工作中是十分追求精确的,同时也希望我的同事(包括领导)也是追求精确的。因为这个,最近在一些技术方案上跟领导有一些小冲突,说冲突有点过了,也就是开会的时候大家会有一些紧张的气氛,但事后大家还是很认可要把方案想得一清二楚的。
什么是追求精确呢?
简单讲,就是要把事情搞清楚,不要模棱两可,A 就是 A,B 就是 B,说出来的东西要经得起推敲,不要靠猜测,要自己去考证、验证。
什么时候开始变得追求精确的呢,回忆起来大致是这么一个路径。
萌牙期
2016年,在给鹅厂做一款独代游戏的时候,那时我是服务端主程,需要做出一个能支撑百万以上同时在线的架构,并且还要能横向扩容,快速扩容。在这个过程中,我做了很多的艰难的工作,最后项目也成功上线了,虽然没有百万在线,但几十万是有的。
这个架构设计,总结起来实际上就是做一些精确的计算,外部消息量,内部消息量,rpc 量,计算量,数据库请求量,数据存储量,各种量都计算清楚之后,再留一些余量,选用合适的组件。组合起来,就是一个能够达到要求的架构了。
从那时起,我就认识到工作中是要追求精确的,而不是瞎猜,瞎猜可能偶尔 work,但不能一直 work。
发展期
是我上一份工作的事情了,那时候的老板,我称之为铨哥,他经常挂在嘴边的词就是精确,或许是其他的,但反正他给人的印象就是什么东西都要精确的跟他表述,否则他就会发飙的。什么时候都要把来龙去脉跟他说得一清二楚,不要大概、也许、可能。你必须自己搞得一清二楚了,再去跟他说,否则肯定是挨骂的。
我太欣赏铨哥了,虽然我只在他的公司工作了9个月,但他对我的影响特别特别深。
这9个月里,我做了蛮多技术优化的工作,都是遵循精确的原则,一定是要把事情搞清楚,然后再去优化的。这也是符合马斯克说的:不要去优化一个不应该存在的东西。
这里似乎有点串了,马斯克的是第一性原理,但其实万事都是相通的,第一性原理,本质上是要求我们从根本上去推敲是否需要做一件事情,怎么去做一件事情,那其实就是要把事情搞得一清二楚,明明白白。
成熟期
是现在这份工作的时期,也是刚入职,就着手做技术优化。相比于上份工作,我更有经验了,一上来就是做各种测量跟验证,把性能问题搞得一清二楚,然后再去优化。结果也是药到病除,完成了既定的目标。
这些经历更加坚定了我的信念,工作就是要精确的,只有一清二楚,只有清晰,才能把事情做好。
此时,想起段永平经常说的:做对的事,把事情做对。只有建立起正确的认知,才能做到他讲的这两个点。
所以,不能偷懒的,一定是要老老实实去把事情搞清楚,要去付出汗水,当然,也需要耐心。
回到最近的工作上,冲突在于,我接手的技术方案,在我看来很不精确,这些做法基于很多假设,但这些假设都没有经过实际的验证,更多的是一些担心。我看太多马斯克,或者雷布斯的相关言论了,已经受不了基于猜测去做事,必须一清二楚,我才会接受,否则就肯定要挑战。
事实上我也挑战了,认真写了文档,把观点都清楚描述了,也开会对齐了。leader 和总监,事实上比我以为的要大度得多,他们也觉得经过这番挑战,他们对这个方案思考得更清楚了,所以也没怪我挑战他们。
总结起来,不要害怕冲突,要坚守原则,要追求精确。