不晓得大牛新手的时候有没有被骂或者被不耐烦,我是感觉自己从新手被骂到了现在,以至于一直被冠以「新手」的 title(内心是很拒绝的)。
曾经心里暗自想:我之后对待新手不要这么凶,比如坚决不要用反问的语气,比如,措辞尽量显得委婉。
但,就最近 review 别人的代码后,发现为了这句之前暗自的保证,自己抑制自己的情绪抑制的很勉强。
有些时候,真的会很生气,可能同一个问题,同一个 pull request 里面你帮忙检查了多次,对方还多次不改正,不改正也不留言任何说明,比如「我的想法是这样的...,我认为我这样做的方式更好」,尽管连这个不改正的说明我也曾多次强调,如果有自己的想法一定要备注说明,我们好讨论。后来针对这些问题,单独开了一次小小的会议说明,渐渐对方有改善这件事情,有时候有必要在一些正式的地方单独强调一些问题以示重视某些问题吧。
以一个 reviewer 的角度去反观自己之前被 responed 的代码,就会更加有所体悟,而少了些被否定的抵触心理。
reviewer 并不是针对你,也不是针对你的代码,可能他只是看到了不得不说的问题和希望你能写更棒的代码而已。
比如,最简单的也是最容易犯的非空校验的问题,一上线就 500,这个可以在写代码时稍微记住最基本的逻辑规范,最不济,要在测试的时候多测试几遍,登录与未登录,有权限与没权限等多种测试场景来保证自己的功能不出低级错误。
我之前,对自己的定位是,我做完我手头的任务就行了,不会「上下左右」等全方位的去审视自己的代码写上去到底有没有符合开需求的人的预期,到底有没有考虑好所有的情况,到底自己写的代码是否能清楚的表达语意,自己做的任务有没有备注清楚自己的理解,有没有解释清楚自己的思路。
所以,一个很深刻的感悟就是「不想当将军的士兵不是好士兵」。似乎不在其位不谋其职,对自己的要求也没那么高了,就特别容易原谅自己了。
我有一个同事,做的任何一个任务,自己对需求的理解,自己对 bug 的追踪及解决方案,都记录的清清楚楚,交接给下一个人的时候,下一个人可以通过他的记录摸索的清清楚楚,首先不讲技术上让人赞叹,做事的认真和严谨,就已经让你深深折服。
还有一个同事,曾经批评我,不按流程走,我一开始也是很不屑的,为此也跟他争辩了很久,当看到别人不遵守流程给我带来困扰,我才知道,自己对待这件事似乎过于轻浮不认真,而就是这种态度,才可能带来沟通上或者协作上出现问题。
经常听到大道理讲,「首先要有态度」「态度很重要」,当没有真正理解什么是态度的时候,可能我们会不屑它就是一句官方口号,然后,真正理解之后才会明白,它真正的含义。也经常都是这样,有些道理真正重新理解之后,才会折服它简明背后的奥义:态度,就是你以什么样的角度和姿态对待事情,态度决定了你对自己的定位,也决定了你对自己的要求。
记得很久之前,吴军的一篇文章里说过,如何做那 20% 的优秀,而不是 80% 的大多数,就是避免自己的失误,少犯错误,就可以赢过大多数人。现在想来也是,我之前一味的只是觉得自己可能能力不足,但是,反省下来看,是自己做事失误次数太多,让人产生不信任和交给我任务不放心,所以,有时候不是我们技术本身如何,而是做事给人一种不被信任的感觉,所以减少失误对于目前来说比提升能力更重要,也就是让能力稳定发挥,让人感觉更靠谱!