小 W 离职了
今天这篇是架构师大刘的系列故事
小W要离职了,大刘并没有挽留,甚至有点庆幸。
小W离职的原因比较简单,这次升职加薪,大刘提拔了和他同期进来,并且工作年限和他差不多的小L,而小W则是原地没动,薪水也没有加,他受不了,提出了离职。
小W就是典型的普信男,明明做的比小L差的很远,却又对自己是迷之自信。
他俩到公司已经快 2 年了,在这期间,小L和小W之间的差别越来越大,小L变得越来越优秀,而小W在工作期间却问题不断,没有什么明显的成长。
离职前,小W觉得还是不服气,找大刘深谈了下,大刘耐心的指出了他和小L的区别:
1. 代码质量的区别
在大刘他们的 Bug 管理平台上,小W的 Bug 是一片一片的。有许多 Bug 的原因是代码中方法计算返回的结果出现了错误,可引发这些错误的输入值既不是极端值,也没出现古怪的边界条件,全是正常的业务参数。
这说明了什么?说明小W他偷懒不写单元测试,甚至有的都自己没去测试,等着别人帮他测。
而小L的代码则非常健壮,Bug 平台里,小L的代码 Bug 非常少。如果去看项目的 Git,发现小L的单元测试代码非常的多,甚至远远超出了工程代码。
2. 开发速度的区别
从项目管理平台上,可以看到大家的开发时间统计。相似的一个需求,小L需要的时间是小W的一半。
比如,上次项目需要新接两个第三方渠道,小W和小L一人搞一个接口,参数相似,流程相似,小L花了 3 天,小W花了 5、6 天。
而且,后期接口出现变化,每次小W都要改个两三天,而小L只需要半天一天。
究其原因,就是小W每次写代码特别不优雅,不灵活,有点变更就需要大改,并且还经常改出 Bug。
而小L从来都是把方案想透彻了才开始写,还不断的重构代码,最终的代码又灵活又优雅,有需求变更了,特别省事的就可以改好。
3. 思维严谨的区别
有一次,小W写公众平台的一个对外接口,写完了拿出去测试,结果闹了个大笑话。他写的对外接口,连个验证签名也没有。这事儿幸亏在内部测试的时候,被查了出来。不然直接放出去,整个团队的专业性都要受到质疑。
而小L同样写一个接口,不仅考虑到了验证签名问题,他还考虑到了参数需要加一个时间戳,保证签名不会被重复利用的问题。
4. 团队合作的区别
打开他们项目的 Git,就看公共工具类,小W一行都没有提交过。然后,随意打开一部分代码,那么多可以共用的代码,小W从来没有想过提出来形成工具去方便别人。只管着自己的那摊子事儿,写完完事儿。什么代码风格、复用、团队合作全部扔在了一边儿。
小L不一样,不但会主动写一些工具类,有时候还会弄出一些小框架,减少别人的开发量。
5. 对业务理解的区别
需求会上,小W基本就没认真参与过,也很少去和产品经理主动沟通分析需求。当开始写代码了,小W要么实现出现偏差,要么就出现了遗漏。
有个权限管理的需求,大刘本来想小W个机会,希望他能把这个做好,所以让他负责。
结果是,这个功能,权限配置甚至连个后台都没有,业务都没地方配置权限。就这样,小W还非说功能实现完了,还和产品们争吵了起来。最后结果就是被啪啪打脸,人家产品的原型图和需求文档说的很明白,而且还连续开了好几次需求分析会,大家都理解了,就小W出现了问题。
而小L则是非常重视业务需求,会写出一些文档,并勾画出设计实现去拉产品核对。如果出现了疑难问题,会同时叫上产品、运营开碰头会,并确保大家形成共识后,开始执行。
小W失败的权限管理开发,小L接手了。他画了角色和权限的关系图,然后全部和产品一一过了一遍。确认后,发邮件形成共识,然后开发。一切顺利。
6. 工作态度的区别
要知道,产品虽然经常惹技术讨厌,但是,大家都是普通人,自然也有想不到的地方。一般来说,小L和产品配合,产品想不到的地方,小L都会积极去沟通,查漏补缺。但是,到小W这里,事情往往推不下去。
曾经有个功能,产品的需求是想在商户信息出现变动的时候,能通知到公司其他部门的系统。要通知到其他系统,就得先对接公司统一的公共消息系统。
这事儿,小W直接给产品说“对接很麻烦,对方不配合”。虽然有时候跨部门配合是有难度,但是也不能因为这理由就把事情一直拖着。一直到大刘来问进度,才发现根本没做。
把事儿交给小L后,人家第一时间去和产品解释了原因和面临的问题,然后开会协调了一个新的上线时间,把对接公共消息系统的工作量也进行了排期。
再往后,小L又把工位临时搬到负责公共消息系统的团队那里,在那里就地开发。此事妥善解决。
7. 解决问题能力的区别
同属一个技术团队,小W遇到难题,就去钻牛角尖,一个技术难题,能抠一周,结果别的工作也全部耽误了。
曾经,小W遇到过一个输出数据无序的问题,然后,他当时调试,怎么也找不到问题所在。就这个,墨迹了一周,后来是小L主动问他咋回事,才知道他遇到的问题。团队里几个人一起帮他排查了问题,两个小时解决。而他手头的工作却已经耽误了一周。
而小L则是遇到技术问题,首先是自己努力去解决。如果发现自己解决不了,又要进度延误的风险,他会立即积极求助,问团队高手,问技术领导,总之想办法尽快解决,好进入到工作的下一步。
说完以上几点后,不管小W是不是认同,大刘还是希望小W以后能发展的越来越好,又说道:
要知道,程序员的官方称谓是工程师,而工程师是做工程的。在特定的时间内完成高质量的工作才能是合格的工程。能按时高质的输出工程量,才是合格的高级工程师。
而对于小L,大刘想再看他一年的表现,如果依然表现优秀,大刘决定再给他加一次薪,优秀的工程师必须尽全力挽留下来。
你好,我是四猿外。
一家上市公司的技术总监,管理的技术团队一百余人。
我从一名非计算机专业的毕业生,转行到程序员,一路打拼,一路成长。
我会把自己的成长故事写成文章,把枯燥的技术文章写成故事。
欢迎关注我的公众号,关注后可以领取高并发、算法学习资料。