我在IT业很多年,也仔细分析过IT业的职业构成,就我的了解,其实IT业也在细分,大致分为如下几种:
1、研发,包括软件研发和硬件研发,就好比我们大多数朋友,在一个公司里面完成项目开发,或者定制产品,一般说来,软件研发基本上就算产品的设计者和制造者,硬件研发,只能算设计者。因为后面还有生产环节。
通常研发岗位,包括RD,QA,以及配置管理员,架构师,小组长,项目经理,研发助理等,就是研究部分所有的职位。部门经理一般我没有计算在内,感觉部门经理管人,应该算管理岗位。不过有些小公司,部门经理和项目经理,甚至架构师,都不分,因此需要具体情况具体分析。
其中RD,就是我们说得最多的设计人员了,以后估计大多数都从这里起步,当然,做QA测试的也不少。
RD这个词有讲究,就是设计和实施,是两个意思,设计,是决定一个东西怎么做,实施是把它做出来,我们刚开始,可能都是先做实施,慢慢走到设计,模块设计,系统设计等等,如果做得好,以后慢慢专门做设计,就是架构师了。
软件人员一般RD不分,设计者通常就是实施者,因为基本上程序敲完,产品也就出来了。硬件人员则不同,一般就是设计者,以及第一轮白盒测试的QA,自己测,当产品测试稳定,定型,就可以交给中试部进行产品测试,最终上线贴片生产。
QA,这里面一般细分为软件测试和产品中试,像华为、迈普这类大中型企业,以生产硬件产品为主的公司,都有自己的中试部,中试部简单说,就是专门测试硬件的,比如各种静电测试,温度测试,跌落、震动测试等,为产品最终上线做准备。我想,大多数同学可能对软件测试熟悉,对产品中试可能不太熟悉,不过差不多就这么多东西。
软件研发通常还有个角色很重要,就是配置管理员,一般小公司没有这个角色,由负责的测试人员兼任,大公司会专门设置这个角色,并且这个角色还有商业秘密保全的功能。
我们软件人员开发的产品,在自己的机器上,一般叫测试版,只有提交到CVS或SVN等版本管理系统,才叫产品,测试部不是从我们手里拿软件去测,而是由配置管理员在中心服务器上,将软件产品从源代码编译成可执行文件,生成安装程序包,然后发给测试部,测试部测试完毕,返回测试报告,公司领导签字后,以后软件产品的发货,就是配置管理员负责发货。
大家明白了吧,这里面很严格的,在大公司,软件一旦投测,如果RD发现有个小bug,小公司可能打个招呼就改了,项目控制流程上看不出来,但在大公司,必须发文,说明上一版本作废,然后重新发测试申请,重新提交代码走流程,项目流程上就记录,废版一次,以后就是扣工资的依据。因此,大公司的程序员一般比较严谨,发版测试很谨慎,就是怕出现这类bug,这样的缺点是对市场的反应不够灵敏,可能客户提交一个bug,RD改只要几分钟,但是流程要走一两天,但是好处是产品质量有保证,每个人的工作结果都记录在案。便于管理。且程序外泄几乎不可能。
我以前有篇文章说,国外很多程序员,可能在一个公司工作一辈子,都没有见过自己服务的计算机,就是这样的,RD都在终端工作,自己本地测试好了,提交到中心服务器,由配置管理员负责最后的编译和提交。
如果觉得《IT行业的职业细分 软件研发和硬件研发[1]》对你有帮助,请点赞、收藏,并留下你的观点哦!