November 03, 2017

我在“地狱”呆过

今天,我让一位同事把一段代码重构了,他说这个版本的功能涉及到那段代码,认为不应该现在重构这部分,希望下个版本再重构。他的理由在我看来是 ridiculous 的,下个版本开始估计要等两周 ,并且现在重构的内容并不会合并到即将发布的版本,他因为害怕可能的几行代码改动出错,而迟迟不肯动手,下个版本还涉及到这段代码会怎样呢?难道继续推迟?

遇到这种事情,除了生气以为,还有一种不明的优越感,那时我心里冒出一句 「我可是在“地狱”呆过的」。

这里的「地狱」指的是两三年前弄 DevOps 那段时光。当时人们提起我的工作,常会投以可怜的目光,在他们眼里,我独自24小时待命,出门活动要随身带电脑,和大家吃晚饭的时候常常要边吃边处理服务器问题。但我理解的「地狱」和旁人认为的不一样,对于以上种种我觉得还好,是有一点点痛苦,不过遇到问题的时候目标是很明确的,解决就行。随时待命也没什么,我当时认为那些都是暂时的,后来也证明的确是,在我离职前一年,突发处理的事件已经很少了。

真正的「地狱」是那些对未知的探索和规划,这听上去好像很丧,探索未知本应是很快乐的事。当时的探索有点超出我的接受能力。需要学习运用各种工具,提高性能的,提高效率的,提高可靠性的,节省成本的,自动化的。而且这些工具大多是公司里从未用过的,为了保证不坑,必须把细节研究得清清楚楚。这时候问题就出现了,旧的还可以为什么要用新的,好难入门,可靠性怎么保障,又要推动一次同事换新过程漫长,杀鸡用牛刀,学那么多东西每个都不能熟练,所有这些都是我退缩的理由。我有时能战胜这些胆小鬼,有时不能,那过程是真的煎熬。

在那场持续两年多的搏斗中,我进步了不少,也留下了不少遗憾,比如我走的时候主要数据库还是MySQL和Redis,完全不够酷,我刚做那份工作的时候还有MongoDB的,我做着做着就废弃了!

离开以前公司也有一个原因是自我感觉到了天花板,基础平台需要做的东西很多,而我自己有点止步于了解各个工具的特性就开始指指点点,我想知道别人是怎样做的。

回到刚开始的问题,我认为同事的担忧实在太无理了,修改几百行代码,只要保证正确运行,其它什么都不用想,我想不到更轻松的任务了,而他却不愿意干。