程序员的品格:羞耻心、同理心与榜样的力量
笔者曲健,1024生人,天选程序员,浆糊人送外号“大爷Dà Yé”,目前在奥琪科技担任首席架构师一职。
彼得德鲁克的经典之作《卓有成效的管理者》里提到,知识管理者必须学会自我驱动、自我管理,而动力取决于工作是否卓越有效,是否有所成就。程序员就是典型的知识工作者,本文就是细数一下程序员的生存之道,或者说自驱之道。
07 羞耻心
有羞耻心的程序员才有资格清高,因为羞耻心是你的底气。一个成天写一堆低级bug毫无羞耻的程序员凭什么清高?自己首先会耻于不完美,做到无可挑剔,当然可以清高。
剖开羞耻的表层,本质其实是程序员对于自身的高要求。程序员对自己没有要求,和咸鱼有什么分别。这里还没要求程序员主动去提升自己这个层面,就是靠错误的羞耻感驱动自己提升这一层,很多人做的都不够好。出现BUG无所谓,上线失败问题不大,这是自我放逐到了如何野蛮的地步了?
DàYé啰嗦
现在的互联网应用相对企业应用,可以更快更轻更容错,给年轻人一种错觉好像出点错没什么大不了的,也导致现在的年轻程序员对于BUG, 对于生产环境没有太多的敬畏心。
而从做企业应用那个年代出来的程序员,对于这些都是谨小慎微,一点点小错都了不得,感觉要死了,这或多或少与不同时代的程序员文化有关。
# 只要是BUG就是丢人的,不是拿来自黑和一笑而过的。
#代码被评审出一堆意见来是丢人的,重复犯错更丢人。
# 系统上线漏了个配置是丢人的,就算你前面的开发测试再完美,最后临门一脚没做好,前功尽弃不羞耻?
# 系统上线后的问题都是客户报障的,自己的监控不到位,告警处理不到位,永远是落后客户一步,自己的系统自己HOLD不住,羞耻么?
# DaYe自己对于有些异常如NPE、越界、类型转换,一旦抛出来会觉得特别羞耻,会捶胸顿足为何写这部分代码的时候没有考虑清楚。你会么?
08 同理心
同理心Empathy,简单来说就是换位思考,懂得倾听,设身处地的共情共感。也是情商EQ理论里的专有名词。我觉得程序员在同理心方面做的奇差,也是程序员画像“智商高情商低”的口实之一。
程序员思维特别擅长把任何交流转换成技术语言来表述,程序员说的口沫横飞,其他人一脸懵逼。不会说“人”话这一点,一直是程序员的硬伤,缘由大概是大部分时间跟电脑打交道,导致的达尔文式退化吧。
程序员会说“人”话,境界必然升华。因为你若能把程序思维包装成一种非技术人也能听懂的语言,说明你已经脱离了程序员固有的思维框架,可以对等的用对方的语言来直接交流。就像我们在英语对话中,过程是对方的英语通过耳朵进入脑中,先转换成中文,然后想好中文的回答,再翻译成英文,最后用嘴说出来。都知道这是不对的,但碍于英文水平渣渣,臣妾确实办不到屏蔽中文切换环节,直接英文输入输出这种最优秀的交流方式。
当程序员开始用技术来碾压或者嘲笑对方的无知,这时候的交流一定会出现争执和冲突。要求我们立马停顿且站在对方的立场想事情,确实有点强人所难,但是我们可以从一个第三方不相干的人的立场来看这次交流,尽量保证客观,可能会发现另一种思路。
特别程序员在面对BUG和线上故障时的第一反应,通常也不是站在对方立场,而是下意识的抗拒。前线一线商务人员密切关心故障进度,一定会时不时的催促,而程序员思维这时经常会丢出来的一句话是“在处理呢,别催”,如果站在对方的角度来表述“我们已经找到问题的症结了,还需要大约一刻钟的时间,走个紧急审批流程,已在着手修复了,请再耐心等待一下”,将我们的努力过程表达出来,再给一个可期的未来时点,会好一些么?
09 近距离榜样的力量
有人说“我的偶像是Linus Benedict Torvalds”,这个事情对你当前的职场可能并无太多益处。因为Linus人家底子硬,可以怼天怼地怼上帝,而大部分愚钝的我们还差得远...
所以我标题里的重点是“近距离”和“榜样”。也就是在你当前职场环境下,离你最近的最容易效仿和咨询的那个榜样型人才,才是你需要当下尽全力追逐的。
比如自己的代码在最近几次评审里老是被提出很多评审意见,傻的程序员没感觉怎么样,每次提多少改多少,下次可能还犯;聪明的程序员会每次做好总结,保证下次不会再犯;而智慧的程序员,会直接找评审人聊聊他心目中的好代码的标准,找公司的代码规范checklist,翻阅有优秀编程能力同事的代码,反复的学习和实践,主动推动自己往下一个Level演进。
不管是技术、业务、产品还是管理,除非你一骑绝尘,公司范围内在你视野里已经Nobody了,否则每个维度都会有自己可以对标的对象,务必虚心求教,刻苦训练。
我不知道程序员是不是很容易看不上公司内部的一些分享课程,经常因故缺席。然而在收集想听什么课程的时候,又说分享少,最好请外面的一些大神来讲讲课啥的。我一直断言,有这种想法的程序员就不是为了知识,而只是为了有个接触所谓大神的机会,甚至最后能加个好友就有吹嘘资本了。且不说有些所谓的大神很水,就是真正的大神讲的那些干货,你先确定自己能接得住么?根基不稳、眼高手低,所以别怪DaYe啰嗦,先找近前看得见摸得着的对象,试试超过他看看?
10.24 拥抱开源
现而今很多国际顶级的开源技术都是国人搞出来的,不仅让世界看到了国人的技术能力,也让国内的信息化水平有了质的飞越。
开源这个大宝藏用不好,就是可耻的浪费。我经常提醒团队在造轮子之前可以先去开源社区,找找灵感找找思路,千万别一头扎进去,写出来一个残次品没人愿意用。
反过来,开源对于程序员还是比较神圣的一种认可,所以我也会推动团队做一些开源方向的努力。当团队在开发一个内部系统,被安上一个开源的KPI之后,大家的专注力和自我要求都会加强N个档位,毕竟谁也不想开源一个让人嗤之以鼻的软件,执行力、羞耻心和荣誉感会无限爆棚。
以上,是我心目中程序员安身立命的几条黄金法则。有人可能会说,扯了那么多,竟没提程序员的基本功,其实基本功就藏在这10.24条里了,自己去发现吧。
往期推荐:
技术琐话
以分布式设计、架构、体系思想为基础,兼论研发相关的点点滴滴,不限于代码、质量体系和研发管理。