今天跟同事聊天,他原本是做 BA(商业分析)的,刚升职为 Account Manager(独立管理客户,给客户提供定制方案,让公司能赚到更多的钱),他目前还在努力适应这个职位,主要因为跟客户沟通需要考虑很多因素,不像内部沟通那么随意。
后来聊到我们公司小有小的好处,假如想要尝试一个不一样的职位,可以内部轮岗去体验一下是否适合自己。
他跟我说:假设你想做 BA 的话,可以申请体验三个月的 BA 工作,看看自己到底喜欢不喜欢,是否适合这个职位。
我听了以后挺兴奋的,因为我属于那种比较愿意去尝试去做不一样的事情的人。之前我在 DevOps 部门轮岗了两周,期间有很大的收获,能亲身体验到另一个部门每天在做什么事情。
我跟同事说,想到自己能轮岗就很兴奋。
同事说,是的,不过你在目前的职位上做的非常出色,轮岗也就是体验一下,现在还找不到能够代替你的 developer。
我惊讶地追问道:你真的觉得我做的很好吗?
他肯定地说,对啊,在我们公司里面,你是唯一一个愿意帮助 BA 完成工作的人,其他 developer 都没有为 BA 着想,只管完成自己的工作。
我说:我认为帮助 BA 符合公司利益,能让客户满意我们公司就能运作的更好,赚到更多钱,所以我觉得应该这么做。
他说:没错,但不是所有的 developer 都像你一样想。
谈话结束之后,我回想了一下其他 developer 的工作方式,大部分人似乎确实没有考虑 business interest,主要的精力都放在完成自己分内的工作上。
当然了,同事们的专业技能都是很强的,只是很少有人和我一样,对于跨部门轮岗这件事有强烈的兴趣和意愿。
比如之前在 DevOps 部门待了两周,走了之后他们一直问我什么时候再来轮岗,说我和他们一起工作的时候帮他们解决了很多问题。
又比如获得了去年四个公司年度奖里面的两个,说明不同部门的人都对我的工作表示了认可。
以下为自我剖析:
原因 1:我是一个比较容易共情的人。
这个性格特点在职场上的具体表现就是会主动替别人着想,进行换位思考;好处是能跟同事处好关系,让大家信任我,有团队合作精神,坏处则是会不自觉地让自己背负很多(不必要)的责任。
原因 2:我非常重视自己的承诺
我在做任务分解和工时预估的时候,会从实际情况出发,而不是过度乐观地告诉别人,这个东西今天肯定能做完(但实际上要花更长的时间)。
比如我跟 BA 沟通时间点的时候,我会如实告诉他们:“这个东西可能需要延迟/这个不出意外肯定能完成。”,而不是等到最后一刻才给他们一个大“惊喜” —— 东西可能做不完。
原因 3:我会想办法去优化不同部门之间的工作流程
即使我只参与了 dev 这个环节,我也会根据任务完成的情况去告诉其他部门的同事如何去优化工作流程。
比如我发现 BA 在写 requirement 的时候并不知道生产环境实际的情况是怎样的,导致 dev 最后做出来的东西效果不理想,我就会告诉 BA,下次你可以先找 DevOps 询问 xxx 信息,然后基于这个去写 requirement,这样就可以减少发生错误的概率;
在跟测试员进行交接之前,我也会把测试中可能出现的问题以及解决的方案都写在文档里面,避免他们在测试中遇到无法解决的问题导致任务延期。
原因 4:爱写文档
我一开始以为写文档是一件非常自然的事情(毕竟对自己也是有好处的呀!),但后来才发现,很多程序员都很反感这件事……就算强迫他们写,他们也是抱着一种交差的心态去写,而不是出于【这个东西需要能够帮到别人】的目的去写。
PS: 仅根据同事的反馈和在一家公司里面的工作经历,我并不能判断自己是普遍意义上的非典型还是仅限于目前公司的非典型。
你是怎样的程序员呢?你是否也会换位思考去帮助别的部门更好地完成他们的工作呢?
你所接触过的程序员又是怎样的呢?