我在阿里云Tablestore团队工作了接近6年,这期间几个老板说过一些对我影响特别大的话,记录一下(以及感谢各位老板)。
@世泉
你的思路是什么?
Tablestore是我人生的第一个项目,当时我刚毕业,基本零基础,svn、vim、gdb这些当时团队的必备技能一个都不会。我的start project是给LSM里的memory table类加unit test,从一月写到了三月。
第一年开发过程中经常遇到unit test core dump等问题,不知道怎么解决,就会跑去问老板。老板听完我的问题描述,会反问我的思路是什么。
这句话简直是灵魂拷问。没有思路就没有成长,无论这个思路是对的还是错的,要先有思路。想回答这个问题,我就需要先能描述清楚问题,再说出切入点。
对待新人的时候,有时不要太着急帮TA解决问题,而是先让TA猜测一下,帮助成长。可能有的人觉得这样效率太低了,或者觉得压力太大。至少对我而言,这句话影响非常大。
你是worker的owner,你不应该说不了解worker的代码。
2017年团队经历了reorg,人员流失比较严重,大家分一分责任,我就成了worker模块的owner(名义上的)。
我的一个commit把测试搞挂了,调查发现有一处老代码行为写错了,而我之前开发时没有注意到这块。我就觉得这块我不了解,不是我的责任。老板就说了上面的话,语气有点重(当然我不介意)。
这句话让我膨胀了,我开始真的把自己当成worker模块,甚至整个项目的owner了。但这不是坏事,我会有更高的责任感来看整个项目和团队,我会愿意去了解其他同学在做什么事情,思考整个产品该如何演进,有空就看我不熟悉的项目代码,以及主动做那些脏活累活(测试、运维)来提高整个团队的效率。
前几天看到@程墨Morgan 说:“人只要做自己主导的事情才干劲最足”。深有同感。想办法找一块没主的地,圈上,声明我是owner。
@陶大
你这一点都不make sense啊。
陶大是我的mentor,也是接收我各种错误想法最多的人。年轻人经常会把事情想得无比复杂,又不着重点,这个时候就需要有老同志来点醒TA。make sense是生活中的奥卡姆剃刀,我们很多观点粗听下来还不错,但真的一点都不make sense,没办法经受住直接的剖析。这个时候要跳出去,从一个旁观者的角度,从TA的正常的认知出发,来判断一下,你的话对不对。要让别人觉得make sense真是不简单。
@应俊
你得会写脚本啊。
2015年的一次线上问题处理,需要有同学写个小脚本到各集群上跑一下,我说我不会(当时真不会,基础shell都不会写,只会写C++),应俊说了这句话,我很羞愧。后面这个问题是@杨恋 写脚本解掉的。
在这之前我不觉得我能学会写脚本,然而这句话让我意识到合格的工程师就是要能快速解决问题的,而学会写脚本是一种快速解决问题的非常有用的方式。
之后的两年我写了很多运维方面的工具,其中有两个(机器分组和负载均衡)分别在线上跑了一年和两年时间,解决了非常大的问题,撑到了产品的正式功能上线。
@Jason
我希望我们团队的同学要有能力跳槽出去。
Jason刚去阿里的时候存储的团队还没这么多,偶尔还会和Tablestore一起开个会。2015年(也可能是16年?)的一个会上Jason讲了这句话,说大家不要所有时间都闷头工作,要时不时抬起头看看外面,学习新东西,不要做那种经验丰富但都局限在部门内,没办法跳槽出去的人。
Jason做我的skip manager有好几年时间,这是我印象最深的一句话。当然后面几年除了每年沟通年终奖的电话,其它时间很少能听到见到了。