软件公司没有测试,程序出问题了就怪程序员,这样的公司能去吗?

是程序员古耕 2024-04-29 12:59:23

一个公司的研发部门,人员组成应该是什么样子?可能一些在研发环境好一点的公司就职的程序员大概能讲出以下职务:

项目经理:负责整个项目从投标到验收的整体过程。产品经理:和项目经理一起,负责跟客户沟通需求、编写产品文档。研发:就是程序员,主要负责编写项目。测试:对照产品文档,查看程序员写的项目是否符合产品经理的要求,以及检查程序中是否有Bug。实施:在项目完成后,负责将项目部署到客户环境。并配合项目经理、产品经理等相关人员,与甲方一起完成项目验收,可能会有一个或两个。运维:负责项目验收后的维护工作。

基本上,这就是一个还算合理的研发团队的人员组成方案。

但是,每个职位仅一人的情况下,就有六个人了,如果项目大一点,六个人可能就不够用了!尤其是程序员,一个研发团队只有一个程序员显然不可能!光从分工上来说,程序员就得分前端和后端,实施可能需要两个人配合。

但是,在一个研发团队中,最主要从事生产工作的其实还是程序员!所以,其他人员可能只有一两个人,但程序员可能会有多个,这样一来人员成本就会提高。

因此,很多公司干脆简化研发团队的人员结构,只留一个项目经理兼任产品经理,其他都是研发!这样的公司,程序员不光要负责编写代码,还要测试自己写的程序,当项目完成以后,还要去负责给客户部署项目,当项目验收完成以后,还要兼任运维工作,更有甚者,有些公司程序员还要“全栈”,也就是前后端都由一个人完成!

我甚至遇到过公司连产品经理都没有,什么都是由程序员去完成!

说到这里,不光还没入题,可能还会有人有疑问,觉得这样的公司还有必要待吗?程序员哪能干那么多事情?

的确,没有在小公司呆过的人,可能无法理解这种研发团队的人员结构,但这就是实实在在的现实!但有一点,一般这样的公司工资给的会相对来说高一点,因为公司也觉得这样的设置很不合理,但是为了节约成本,也没有办法!与其多招几个人,不如把程序员的工资提高一点,让他多做一些事。

因此,尽管这样的设置很不合理,但是冲着比其他公司更高的工资,也是有很多程序员愿意拿精力换银子的!

但不管怎么说,像实施、运维这两样工作,程序员只要抽出一点时间,是完全可以兼任的,可测试却是很多程序员迈不过去的坎!

有句话说:“医者不自医”,讲得是医生虽然会治病,但往往自己生病了,还得去找其他医生来治。这样的事情,在程序员身上,也是一样的。

程序员如果自己能测试代码,就不会产生测试这个职位了。因此,很多没有测试岗的公司,程序员写的项目就会出现很多程序员难以预知和无法测试出来的Bug。

我有一个朋友,最近被公司批评了,原因是他们公司的项目到了验收阶段,在给甲方验收前的一个项目演示现场,他们写的项目出现了一堆Bug,这让现场的气氛变得很尴尬!最后,甲方的老板一气之下叫停了演示,直言:“等你们把项目弄稳定了再来演示吧!”。

一行人灰溜溜地回到了公司,然后立马就开了一个会,会中公司的老板狠狠地批评了公司的研发部门,觉得他们做事不认真,项目都快验收了,竟然还有那么多Bug!

虽然公司最终没有处罚研发部门,但是,研发部门基本上也算颜面扫地。于是,研发部门的项目经理就质问参与项目的程序员:“为什么之前在公司内部演示的都好好的,怎么到了甲方那里就一下子蹦出那么多Bug来呢?

在场的程序员一个都解释不上来,但其实大家心里都清楚!产生这种情况的原因有很多,归纳起来无非两点:

程序员身兼开发和测试,一边写代码一边测试自己的代码,其实会被自己的代码给带入进去,无法以用户的行为习惯去测试项目。当给甲方演示的时候,甲方会提各种问题,再按照甲方的要求去演示项目,就有可能会触发之前没有考虑到的事情,从而发现Bug。部署在甲方的项目,项目环境和研发阶段部署在公司内部的环境不一样!公司内部的环境比较固定且单一,甲方那边项目环境复杂、多变,很多之前看不到的问题就会一一显现。

程序员虽然自己写的代码经常很浅显的Bug都发现不了,但是如果他去测试别人写的项目,就经常能够发现别人代码里面的Bug。原因就是上述两点,因为代码不是自己写的,所以没有代入感,完全以用户思维去测试项目。另外,自己的编码环境跟别人的也不一样,所以也能找出一些去他程序员找不到的Bug。

而一个项目虽然没有Bug是不可能的,但是如果有一个岗位专门用来检查Bug,这样将能杜绝大部分程序员没发现和想不到的Bug。因此,要程序员自己写,自己检查,显然,程序员可能在这方面很难做到位。

我朋友因此跟我抱怨,还打了个比方:这就像盖房子的自己来验收、造车的自己测试油耗、学生给自己打分一样!

我问他是不是想换工作了,但是他叹了口气说:“虽然这次被公司批评了,但好在没有实质性的处罚,公司给的工资还算可以,不如就忍忍算了吧!”。

我朋友的内心还是比较强大的,但的确,项目出了问题想要甲方和公司一点抱怨都没有,显然不可能。既然选择了这种公司,有些事情该受还是得受着!

但是,很多程序员都接受不了像这种公司对于研发人员职能的设置。

如果你是一个程序员,觉得这种公司给的工资比其他公司稍高一点,于是就想试试,我建议你先评估一下你的心理承受能力!因为在人员配置比较完善的公司,项目里出现Bug没被测出来,大概率受批评的是测试,研发很大概率会不受波及。但是,如果像我朋友那样,估计经常挨批评是少不了的!

想要在这种公司里工作比较顺心的话,至少要养成一种用户思维,在写代码的同时,也要以用户的角度去看待项目,这样就能减少很多Bug。

如果你受不了,并且是纯研发思维,那么我还是建议你去研发部门人员配置比较合理的公司!

0 阅读:0

是程序员古耕

简介:感谢大家的关注