2018关于开发的思考

图片发自App

资深工程师的作用除了完成分配的任务外,还应该能发现问题并给出解决方案解决问题,上能理顺系统架构,下能编出高效代码,理顺开发流程,提高团队效率。说到团队开发效率,不得不提到软件的工程属性。当年上学时最容易被忽略的一个科目,反而是实际工作中最重要的部分。

有人说中美软件开发能力之间基本没有差距,或者说国内开发人员的水平已经超过了美帝;但是国内恰恰是因为在软件开发管理和流程方面弱于美帝,这才是导致科技产出远远落后的根本原因,对此我深表赞同!

以我个人经历来说,即在外资企业做过开发,也在国内几十人,上百人的开发公司干过,开发、管理都经历过,所以对上面的认识特别深刻。

国外企业在分工和合作上也遵循低耦合原则,比如产品和开发之间的沟通就以prd为核心,prd写的非常详细,每次改动记录也非常详细和及时;开发流程方面要么购买全套完整开发管理软件,要么利用开源方案通过自己二次开发,打造出一站式无缝流程管理。让整个开发流程基本可以实现自动化程序,比如将codereview跟版本控制集成,只有经过review过的代码才能提交,提交后会自动触发CI进行代码编译,编译过程还会进行代码静态扫描和testcase运行,把问题及时反馈给开发整改。如此反复,代码质量不言而喻。其实国内这些工具和方法也差不多都具备,但是差距是国外开发人员会自觉遵守,并且会对review特别严格,一个命名甚至会来来回回讨论好几次才能定下来,然而国内的开发人员对于review的态度反而是不那么的重视,要么不尊重review的人,要么就是怕自己代码被人说,总之就是各种不配合。

另外在开发工具上国内企业也是不舍得投入,要么就是破解版,要么就是开源拿来主义,并没有真正意义上那么重视开发工具对效率的提升,可能在管理者看来,国内的人还是太便宜,人力成本加班成本比较低吧。

你可能感兴趣的:(2018关于开发的思考)