前不久换了一份工作,在新旧过渡的期间,总会对比新旧工作的种种不同,在这期间我最大的感受就是新公司在团队建设方面的优秀,分工明确,配合默契,不扯皮,不甩锅,没有加班文化,简直是梦中情队,这在上一份工作的环境中的难以想象的;
概述
两家公司都是自研的小公司,现在所在公司的规模甚至要比上一家要小,但打工体验却是成反比,站在打工人的视角,来吐槽一下前公司的一些问题。
分工问题
前公司的团队配置大概是3到5人的全栈开发,外加两个领导,二位职责有所重叠,在职期间没有观察出他们的明确差异,公司内部另有两个开发组,外加一个公共测试组;
全栈开发时,大部分时间和思维都被写页面所占用了,由于此前几乎不写前端,一个简单的页面调整,往往会花费很多时间;但工作成果确实不值一提。开发的时间紧任务又重,接口部分的工作就变得能省则省,怎么傻瓜怎么写,比如在循环体查询数据库,控制器中直接调用dao层,状态值操作直接使用字面量等等,一切以先把功能跑起来为目标,团队不做代码审查,因此工作得不到成长,curd写的也是越来越烂。
资源匮乏
其二是没有产品、UI等资源,老项目缺少相关产品文档,每次遇到问题都要去翻看代码;新项目没有完整的需求调研;读者可以想象一下,在新开的一个项目中,连原型都没有,更别提UI了,领导就丢出页面需要展示几个字段就直接开始排任务;
开发过程中遇到的一些细节的业务流程问题,去咨询领导往往也得不到答复,或者敷衍的答复,等功能开发完之后,测试过来问我们这个业务的逻辑是什么,我们也不知道,测试只能依靠自己的想法来判断这个功能设计是否合理,流程是否正确,等到上线之后,客户如果用的不如意很有可能会完全推翻,虽然这种情况到我走之前没有发生过,但这么做无异于玩火自焚。
一些看法
全栈的问题
全栈开发是一个成本陷阱,表面上的节省人力成本,实际有着巨大的沉没成本以及用工风险。
没有产品
对团队而言,产品是一种内部需求,产品经理的职责是对该需求的集中处理;
当团队没有产品经理,内部需求得不到集中处理时,需求就会分散到团队其他成员上,需求的分散处理会衍生一系列问题,例如无法均衡各方诉求,无法统一意见,没有统一标准,难以溯源,没有最终负责人,决策困难等;
比如开发会依据自己的想法设计开发功能,而测试会以自己的想法测试、反馈功能,由于没有一个固定参照物,那么两类人对同一功能的理解就极易冲突,最后就是测试觉得开发做的是勾史,开发觉得测试脑子油饼;
产品还有一个作用就是编写文档,使得项目变得可持续维护,项目经验、知识以及变更记录等可以在团队内有序的传承,即使出现较大的人员变动,也可以快速丝滑交接工作,提高项目的扛风险能力