本文作者:Payson,现在职Microsoft。
不要说以前的老代码是一坨屎
我刚参加工作时候吧,也是傻乎乎,以为自己通过努力一定可以变成电影里那种黑客,脚踩高跟鞋,随意巴拉巴拉手指头,就能入侵各大银行系统。事实证明,我到目前为止,连QQ号都不会盗,技术还是渣渣。但这并不影响我早年间对自己的迷之自信。

跟很多人一样,我看到那些十几年前老代码的时候,也是一头雾水,一脸懵逼。其实早年间的代码非常难写,当时没有这么多开源的东西,很多都得靠自己实现。常在河边走,哪有不湿鞋,代码写多了,难免会有各种问题,各种毛病。我就跟居委会带袖标的大妈似的,一看到写的不好的地方就一脸鄙夷的跟旁边人说:“你看,这谁写的,简直是一坨屎一样。”当时从来没想到过如果被别人说自己写的代码是一坨屎会是啥感受。

忽然有一天,有一坨代码实在是写的太屎了,怎么世间竟有如此屎的代码,太让我差异了。在感慨之余,我打开了log看了看到底是哪位大仙儿,能写出这么烂的东西。呵呵呵呵,那个最屎的就是我自己啊。那是我几个月前写的啊!自打那以后,我再也不敢说别人写的屎了。我那坨屎呼呼的东西在那那么久,不一定被别人怎么骂呢~我赶紧refactor后发了review,重新提交了。
无论干啥吧,都是个不断进步的过程,开始写的屎很正常,慢慢就会有提高了。谁也不是生下来就会写代码的嘛。不要轻易指责别人,给别人留点成长空间。搞不好哪天,我一直偷偷嘲笑那哥们就成了我领导了啊喂,然后我还有好日子过么?肯定没有!为了避免这种事情发生,一定不要嘲笑别人。
帮别人review代码的时候不全盘否定
有时候帮同事review代码,经常看到不识趣的小伙伴在上面写:这是什么?我不喜欢这种实现。或者你写的这都是些啥啊?或者你用for loop干啥?

与人为善就是与己为善呐。在review代码的时候肯定会经常看到写的不好的地方,如果人家写的好得跟大神似的,那还轮得着咱来review么?大家互相看代码就是互相学习互相提高的过程,同时也是保证程序质量的前提。在review的时候如果觉得对方做的不好,就指出来,同时说说你自己觉得好的实现,而不是颐指气使地指责别人。
把关于种族的言论憋到肚子里
先讲个我亲身经历的小故事。我之前在多伦多一家银行做程序员,我旁边的哥们是个中印混血,长得说实话真的不太像印度人,人很笔挺、干净、很帅,做事情也是有条不紊,技术也很强,人也很努力,就叫他印小帅吧。印小帅很少跟别人说自己有印度血统,也不提起自己是哪里来的,因为印小帅很早就来了加拿大,没什么口音,这都是前提。

有一天努力的印小帅想出来了一个特别好的点子,周六加班时候见到我们老板T,印小帅就把自己的想法告诉了老板T。我们老板是中国人,不知道为何老板特讨厌印度人。老板T跟印小帅说:“哇,你这个想法太好啦。但你知道吗,你一定要偷偷地藏着自己的想法。千万别跟印度人说,我之前在XX公司,印度人最喜欢偷别人的想法。你自己好好干,别让他们偷走了。” 印小帅当场就气疯了。啥也没说,他就直接回家了。第二天他跟我说的时候问我是不是中国人都特讨厌印度人什么的……我有种欲哭无泪的感觉。据说印小帅最后还是把想法告诉了印度领导,然后印度领导层层报给上级,整个项目跟我老板T没有半毛钱关系了。
现在中文越来越普遍,很多外国人也都能听懂中文。有再多的槽要吐,也得等着私下跟朋友吐,实在不行就找吐槽君,千万别在公司瞎说八道啊。祸从口出,最后伤害的都是自己。
帮助别人的时候也别忘了说“请”
作为程序员,debug是家常便饭,一天不来上几轮都四肢无力上不去楼。有时候一个bug卡主了,卡的眼睛都花了,难免需要同事的帮忙指点。在被帮忙的时候,我们往往都知道抱着央求的态度,不至于低三下四卑躬屈膝反正也差不多得心虔志诚洗耳恭听。但在帮别人的时候,我们往往忘了温良恭俭让,大大咧咧就指手画脚了。

说一个自己身边的事儿,我有几个同事,常年被我叨扰。有一个高大威猛的印度大哥A,跟我不在一个办公室,每次求他帮我debug,他都会让我share screen,然后耐心地一步步地解答。无论他要我做什么,他都特别有礼貌的说:“Can you please....."  让我十分感动,对他印象特好,每次有互相评价都给他一百分。相反,另外一个同事B,每次有问题找他,他都不自觉的露出优越感,大大咧咧的说:“你快点,点这里。”我要是动作慢了,他还生气的说:“哎呀,你给我control吧,我来弄好了。” 虽然他帮了我,可能是我人品太差,每次都不会抱着一颗感恩的心,总是觉得自己又被鄙视了一番。
后来慢慢的大家都发现这个问题了,所有人都愿意去问A,没人愿意问B。A在经常被我们骚扰解答疑难杂症的过程中,自己也学到了不少姿势,终于A荣升一级,而粗鲁的B还在原地踏步。这个对比让我时刻记住,即使是帮助别人,也要和蔼可亲,毕竟在帮人解决问题的过程,也是自己学习的过程嘛,赚了。
总结
细节决定命运,程序员,可以不拘大节,但得拘点小节。除了上面提到的,其实还有很多细节需要特别留意,比如不要性别、年龄、地域、种族等等的歧视,少跟同事抱怨工作,别跟领导过不去、硬碰硬等等。总结起来就是一句话,装也得装成个好人啊。

程序员不可以不弘毅,任重而道远。写代码以为己任,不亦重乎?累死而后已,不亦远乎?除了留意这些细节,努力写代码,也一定要注重身体健康啊,多运动多喝水,到了最后拼的都是身体。把别人都熬老了,你就是大佬啦。


继续阅读
阅读原文