从毕业入行到现在已有13年,期间经历过很多领导,自己也做了几年别人的领导,带过一个游戏研发团队,客户端、服务器、网站加测试团队。
如今回想起来,衷心感谢每个带过我的领导,而更要感恩那些经常批评教育我、甚至对我的工作结果有些吹毛求疵的领导。
毫不夸张的说,我如今的工作职位和思维方式,很大程度上是被他们逼出来的!
如果没有他们当年那些令人厌烦的甚至是让人准备拿起锄头反抗的逼迫,也就不会有我今天的成绩和成长。
我本身是个很懒的人,懒得学习、懒得动手、懒得把东西往深层次去思考和研究,但我很幸运,遇到了好几个这种“烦人的”领导,一直在被他们推着往前走。
人是有惰性的,遇到问题时容易浅尝则止或点到为止。
在实际编码中,我们可能会紧盯着需求点,力求实现需求、赶紧写完代码、快速提测、然后在休息中悠闲的等待修改bug,反正自己的事儿做完了。
“公司有专职的测试人员,我自己没必要做自测吧?就让他们测吧!测出问题后我再做修改就行了”。如果您有这样的思维方式和工作习惯,那么这就是典型的点到为止(其实是对工作的不认真、不负责)。
一方面,我们只关注实现需求,并没有仔细考虑过程序在未来可能面临的扩展性、负载能力等,很有可能是给自己埋了一个大坑,指不定在未来的某一天就掉到坑里了;
而另一方面,我们写完代码后就做了甩手掌柜,不自测,而完全交由别人去测试,这从根本上是对别人工作的不尊重,因为你并没有替同事做好交付前的检查工作,而是把本该由你完成的工作交给别人代替你完成。
曾经在工作中,我就做过这样的事儿,然后被领导劈头盖脸的骂,可以用惨不忍睹来形容,当时真想一拳甩过去,让他闭嘴。当然哈,并没有把想象变成实际行动的勇气。
从那以后,我学会了尊重别人的工作,提交测试前,必须先自测;同时,我也学会了事先思考未来可能遇到的问题,以免给自己留坑。
曾经有合作过的产品经理评价我,是他所遇到的程序员中,最愿意花时间帮他寻找产品策划案漏洞、主动咨询和讨论未来是否存在某种产品改进的可能性、提前做好系统架构规划的程序员;
也有测试工程师表示愿意测我的代码,因为不用反反复复的测很多遍,浪费很多不必要的时间。
得到他们正面的评价,我很心虚,因为他们不知道,他们的评价应该给予的不是我,而是曾经差点骂的我出拳的那个领导。
在对程序的重构和改进方面,我也遇到过这么一位吹毛求疵的领导。
在入行的第二年,领导安排我写一个提供给第三方游戏使用的支付接口,并且要兼容已经在线上运营的十几款游戏。
在开发程序的第一版本时,我针对原有老游戏、新游戏,按不同接入类型各实现了一个接口,然后书写了清晰的接口文档,和接入流程图。以后如果有游戏接入,由我给对方分配一个接入密钥就行。
自测没问题后,自信满满的拿去领导那交差。领导看了看,丢给我一句:“可优化,回去改吧”。
我问领导:“您指哪个部分呢?”,领导看看我,然后继续忙自己事儿,只留给我一句:“自己想吧。”,然后留下独自在风中凌乱了7、8、9、10秒的我。
无奈之下,回到座位生闷气。当时在想,这哥们跟我关系挺好的啊,应该不至于给我小鞋穿故意为难我,既然他说能改那肯定是有优化空间。可是您老倒是告诉我该改哪儿啊。
在经过大量脑细胞被杀死无数次的冥思苦想之后,突然一拍大腿。原来如此,原来如此啊,哈哈哈哈哈。
因为各游戏按不同类型要接入不同的接口,所以每次接入时,我不仅要给对方分配密钥,还同时要在对应接口上增加新接入游戏的授权。那么,我为何不自动化的来生成这个密钥并且通过提前设置好配置文件,让系统自动解析并授权呢?
接下来,开始给程序做手术。很快改成了自己想像的样子,生成了一个XML文档,每个游戏有一个独立的节点,其中配置了该游戏应该使用的接口、密钥、以及该游戏可动态配置的一些自定义参数字段。
改造后的程序,从接入简易性和扩展性上,得到了很大的提升。基本上,未来不用再对接口做代码上的变更了,哪怕有一些游戏有特殊的参数需求也可以通过自定义字段来解决。
这回兄弟我是趾高气扬的把方案丢在了领导桌子上,领导看的比上次还快,然后又是丢给我那句话:“可优化,回去改吧。该改哪,怎么改,自己想去。”
我靠,你XXX的大头鬼。我这程序作了升级,您这话术也做了升级,把原来的两句直接变成一句了。
无奈的我,又在风中凌乱了7、8、9、10秒,然后继续回座位生闷气。当时就觉得,我肯定是哪得罪他了,要不犯得着这么整我么?
可是生气归生气,工作还得干,怎么办?想辙吧!又在杀死无数脑细胞并且掉了点儿头发之后,总算让我找到了解决方案。
上一版本是需要手动处理XML文件的内容增加,并且没有XML的动态更新机制,这将导致新游戏上线,必须要停服更新程序才行。对于24小时在线运营的游戏来说,每次停服都是很伤用户的。
找到问题后,立刻动手,XML不要了,直接改成数据表存在数据库里,做好密钥的加密处理,然后做个后台页面交给运营。
拿着这个版本给领导看,他终于换了一句话:“还可继续优化,但是能上线使用了,提交给测试部,安排后续上线事宜吧。”
此时,我在心里默念了好几遍:“你大爷的,做成这样还能优化么?好歹做完了,您倒是给个正向的鼓励啊!”。
从此,在那个绝大部分公司做接口联调还停留在接口文档以doc方式传来传去的年代,我们实现了一个游戏接入接口,不需要技术人员做任何处理,只要运营人员在后台点几下鼠标,新游戏就能接入上线了。
哪怕直到今天,做了这么多项目,我还依然觉得这个接口程序,是我做过的最好也是最有成就感的一个。
也许很多技术好的朋友会觉得这事儿很小儿科,其实我也觉得这事儿挺容易实现的,但重点还是回到咱们这篇文章的主题。
因为有了这个吹毛求疵的领导,才有了这个接口程序的诞生,因为有了这个不直接提出改进意见的领导,才促使我独立思考,最终实现了在那个工作经验下很难想到并实现的程序。
并且这件事儿,也使我个人的工作习惯、工作思维、甚至是架构思想体系的形成,有了一个稳健的基石。
现在想想,真的十分感谢老天在我刚工作两年的时候,让我遇到了这位领导,使自己少走了很多弯路。
还有很多领导,在我画流程图、架构图等方面给予了严格要求,一张流程图最多的一次改了10版;还有邮件方面的,曾经有一个汇报邮件,来来回回的改了5次;
在管理方面,也被严格要求过,有个领导要求我在限期之内必须开除部门内的一个员工(不是公司裁员时期),是谁自己挑,没有指定人选,反正必须开除一个,名目是要锻炼我的胆量和魄力,当时感觉那是人生很灰暗的一段时间,开谁都觉得对不起人家(其实老大心里早有人选,就是锻炼我,看看能不能发现那个人的问题)。
其实,我个人在严格要求这方面做的很差,骨子里得过且过的情绪太严重,一般事儿,差不多就过去了。
感觉自己的差不多思想,算是坑害了很多在我手底下带过的兵,根本没有完全激发出他们的聪明才智,甚至使他们养成了骄傲易满、和我一样得过且过的思想。
最后,再次感谢那些曾经给予我帮助,特别是对于我的工作成果有严格要求的那些领导。
在职场生涯中,感恩有您。
也希望大家能够珍惜那些严格要求你的领导,他们对你的严格要求,不会给自身带来实际的收获,反而在当下会让你怨恨他诅咒他。
可对你来讲,每一次接受严苛要求的洗礼,都是人生中不可多得的财富。
愿天下没有得过且过,愿你遇到的领导都能认真严苛。
注:本文章图片来源于网络,如有侵权,请联系删除。