你是个靠谱的程序员吗?
没人愿意和程序员阿海合作,阿海表面上挺积极勤奋的:每天很早到公司,周末在家加班。可他并不是个靠谱的人:需求逻辑梳理不清,代码注释从不多写,做事有头无尾。
有一次他负责的项目临近发布,他以有“重要聚会”为由先走了。结果发布遇到问题,临时拉过来的开发对代码不熟,需重新梳理逻辑,导致全组人加班到深夜。
第二天阿海拎来水果给大家赔不是,可各人心里已将此人拉入黑名单。
在职场中,没有人不喜欢和专业靠谱的人合作,这样的人能有效率地将工作做好。以下几点,是判断一个程序员是否靠谱的重要因素。
1.闭环思维能力
小权工作不到两年,他的提测邮件写得很周全:将项目涉及的系统范围标注清楚,给测试人员建议的上线具体步骤描写清楚,步骤多达10多步。特别注意的地方也标注好,让人一目了然。
小权平常注重项目总结,将接触过的项目分门别类地总结好,涉及的接口、踩过的坑、用到的配置、学到的知识……所以有些项目上线一段时间,再和他讨论里头的一个问题时,他能快速地查找笔记,给出回应。
小权做事有良好的闭关思维,所谓的闭环思维是:从任务的发起到结束,是一个封闭结构。你做这件事要有始有终,将事情的细节完成,一个个划上句号,并即时反馈给发起人。
曾见过有程序员跟进需求,快到提测时间还没完成的迹象。组长问他这事时,他才说开发过程发现需求有问题,PM临时改方案,导致开发工作量增加一倍,所以无法按时完成了。
组长内心崩溃:有问题怎么不早些说呢?后续安排好的任务也无法开展了。
2.U盘化生存
程序员应届生新人普遍有个问题:需要老人手把手教如何使用编译软件,代码如何运行。有些人以前代码管理用的是svn,不会用git,眼巴巴地等着老人教。
这些常用工具的使用,网上一搜就一大把。那些人似乎觉得老人教新人是天经地义的事,或者认为老人教两句比自己忙乎半天省时省事多了。可这将打乱别人的正常工作节奏,浪费别人的时间,而且提问过于简单的问题,让人怀疑的不是你的智商,而是态度了。
记得有boss说过,你先将搜索网站前三页的相关结果阅读后,如果还没找到合适的答案后再提问。
罗振宇曾提出一种工作方式叫“U盘化生存”:自带信息,不装系统,随时插拔,自由协作。用在程序员身上更适合,自己能先动脑的事就别动嘴了。
3.执行力
执行力是将领导安排什么,就去做什么吗?不是的,执行力是一种解决问题的能力,在执行过程中通常还带有一定的领导力。
例如系统有bug了,A排查后说这是上游系统的锅,说一句你去找他们吧,然后就没下文了。而B可能会立即将负责的人员拉一个群,将问题日志贴出来,甚至是调用接口,指出某某数据有问题,并问什么时候能修好。
领导问起来时,从A嘴里只能获得不是他的锅,而B能清晰地回复,问题的原因、问题负责人是谁、预计何时修复。虽然这事与B并无直接关系,可B的做法很“靠谱”,给人印象良好。
在上文提到的阿海做的每个项目很坎坷:合作的pm需求写得不好,前端人员进度太慢,测试老找他麻烦,跨组合作沟通艰难…导致他经常周末在家加班也完成不了项目。每次他的TL帮他各种协调沟通和解决问题。
时间一长,阿海和“不靠谱”挂上等号。以至于后来人员变动时,TL将阿海请走了。
有人总结靠谱的人是凡事有交代,件件有着落,事事有回音。靠谱的程序员首要做好的一件事是:好好写注释。