关于大小公司的划分,在此我们暂且把BAT这类公司理解为大公司,把大部分创业型的公司理解为小公司。
大公司的标签多为规范可循的工作流程、充足的人才、稳定的福利待遇、清晰的发展规划等,而小公司的标签则是工作多且杂,一个萝卜好几个坑,福利待遇更灵活,发展机遇与挑战并存等等。
健全的制度,规范的流程等种种,确实这些都是大公司带给员工的红利,每月工资准时发,测试团队很大,学习的机会也很多,对于菜鸟来说可以学到很多东西。
1、工作流程
一般大公司的软件测试流程是非常完善且正规的,在工作流程中,每个阶段需要做什么都能在流程中进行体现,流程中每一步的输入与输出也是流程规定好的。
比如说,一次迭代测试,在需求阶段,测试人员需要做什么,与开发人员,产品经理是如何交互的,都能有依可循,因为有流程的约束,开发人员和产品经理会全面配合。
以互联网都会有的转测流程为例,开发人员在转测时,不管是版本的命名,打包,部署,转测都会很清晰,测试人员能在相应的位置找到需要的文档或程序,其实很多小型公司转测时基本没有流程可言,直接是扔过来,就让测试人员搭建测试开测,又或者测试人员没有独立的测试环境,与开发人员共用一套环境,改就让测试人员,不对又改,反反复复几次,期间又没有版本号的标识,最后把正确的功能改错,导致测试人员漏测也是常有的事。
流程其实是标准,虽然我们不用拘于形式,完全按照流程或者规范去走,流程不仅约束开发规范编码,规范提测,规范修改bug,同时也约束测试,好的测试流程对测试人员来说会起到事半功倍的效果。
2、需求文档
对测试人员来说,对需求的理解度是非常重要的,你对需求理解多少,就决定你对程序测试的覆盖率有多少,而测试人员对需求的主要来源就是需求文档。
大公司针对需求文档的编写有严格的标准,谁写的,谁修改的,修改的是什么,什么时候修改,每个需求的描述,需求之间的交互都能在需求文档中查询到,需求文档是由产品经理编写,编写完成后,会对需求文档进行评审等等操作。
大型公司对文档很是看重,不仅是需求文档,更包括开发的story,开发计划,测试的测试计划,测试方案,测试用例,测试报告等等,都会有专门的时间来用于编写,固定的位置存放,但小公司由于业务紧,上线压力大,基本没有时间来编写这些文档,所以在小公司想找到文档,是相当的难,除非是自己编写。
3、工作福利
大厂的福利制度是相当完善的,基本上该有的都会有,不强制要求的也可能会有,逢年过节或平时都是会有一些小福利,工资和年终奖更是不会拖欠,基本都会提前或准时到账。
4、升职偏难
大公司人才济济,最不缺的就是有能力有野心的人,如果你不是一枝独秀鹤立鸡群,那么很可能会要很长时间才能熬到升职机会,而且大公司领导多管理者多,如果你不是特别的努力优秀,那么就很难保证自己会被上面的人看重提拔。
5、学历要求高
大公司不是那么好进去的,毕竟待遇福利好吸引着一批批人才涌入,他们完全可以选择更优秀的人才,所有如果你的学历没有达到他们要求的标准,那么面试的时候被刷下来的概率会偏大。
虽然大公司占据着很多优势,但是小公司并不是没有任何优点,很多新人菜鸟的起点都是从小公司开始,没有适当的工作经验和时间,一般的大公司是不会接受的,所以小公司在这个时候犹如天降甘霖,给予很多IT新人工作机会和跳板。
1、成长速度快
新人在小公司里成长肯定是最快,也是最全面的,因为小公司的人力有限,需要一个人做更多的事。人力不足的情况下,只要是想认真做,能力都会成长得最快,但前提是你能否熬过那段“扎根”的时光。
2、上位机会高
小型公司同时机会也很多,比如没有自动化测试人员,只要你能力达到,公司需要,你完全可以从零开始搭建自动化测试框架。大型公司就是一个萝卜一个坑,只有这个萝卜走了,这个坑才会空着,所以即使你有这个能力,有想做的心,也不一定会有这个机会,但大多数情况下,你并没有达到立马就能胜任的能力,大型公司就不会给你这个机会,小公司却愿意给,毕竟招一个高能力的人,成本还是很高的。
3、学历要求不高
小公司会看重个人能力和工作态度,对学历要求会相对偏低,大专以上就可以啦。
4、职能不规范
正如上面所说的,小型公司机会很多,但这个是建立在公司发展的基础上,一般小公司,测试人员只有一个或二个,基本只做功能测试,自动化、性能、安全等测试类型可能会没有,无法做到每个环节都有相关人员负责,细节把握也会相对偏低。
对于新手来说,进入大公司更容易切入工作状态,因为在技术大牛众多的大公司,新人往往负责的是部分模块的部分内容,同时也会有更多机会接受技术大神的专业“洗礼”;进入小公司则需要快速成长为面面俱到的多面手,掌握各种技术点甚至架构层面的东西,几乎没有技术大牛可以依赖。
大公司有非常完备的流程和规范,流程包括但不限于项目立项、产品设计、需求pk、技术方案评审、接口设计、DB 设计、开发、单元测试、集成测试、联调、构建、发布、回滚、监控等;规范包括但不限于PRD 规范、编码规范、接口规范、数据规范、安全规范、checklist 规范、bugfix 规范、日志规范等;工具包括但不限于交付平台、工作流平台、构建平台、mock系统、文档系统、代码版本系统、发布平台、监控平台……
小公司在这方面的内容普遍比较简单,基本上能有产品设计、开发、测试、上线就算不错了。对于文档规范、代码规范、设计流程、交付流程、上线流程、回滚流程等都没有做到自动化,缺乏对应的工具或平台,很多靠人工操作,比较容易出错。对于线上系统也缺乏监控手段,主要靠人工看日志debug等。在业务规模相对比较小的初创阶段,这样还能勉强应付过来,一旦业务规模扩大,改变架构升级流程是不可避免的。
所以对于程序员来说,在大公司有很多现成的东西可以“拿来主义”,让工作更加高效;而在小公司可能就需要花费额外的精力去解决这些问题。
大公司的程序员,在自己专属的领域本来就有兜底的技术,再加上长期专注研究,技术深度会达到一定水平,成为团队中该领域的权威人物;同时,大公司的规范流程与团队协作等可以让程序员的整体素养得到提升;另外,在大公司接触大型项目的机会更多,随着程序员资历的不断提升,将有机会接触到大型项目整体的技术细节,这种能力提升的机会更是难能可贵。
小公司程序员,会接触到不同的技术领域,可能不会对某一个专属领域进行深挖,但是所掌握的技术非常之广,同时将锻炼到自己快速学习的能力,能够不受各种条条框框的限制而达到快速高效解决问题的目的,但常常会让习惯了大公司规范流程的人有一种“野路子”的感觉。
综上所述:
一般情况下,建议刚毕业和刚入行的新人去大型公司。去大型公司可以学习更先进,更完善的测试流程和工作流程,不同的工作类型(测试类型),这对自身职业生涯的规划会起到很多帮助,有助于眼界开阔;大公司的工作环境、技术氛围等因素会让你养成更规范、更高效的工作习惯,当在大公司的工作可以游刃有余地完成时,如果想要跳槽,无论是大公司还是创业型小公司都是可选的,只要明确了自己内心想要什么,选择便不存在问题。
如果因为受制于大公司对学历和工作经验要求,可以先去小公司锻炼锻炼,把自己的工作经验和能力提升上来,然后再去挑战面试入职大公司。毕竟不是谁从一开始就能一蹴而就,过程总是需要时间和精力慢慢体验积累。
对于程序员来说,活到老,学到老永远都不是一句空话。无论此时身处大公司还是小公司,持续地学习,不断地汲取新知识都是非常重要的,这样不仅能够提升认知水平与决断能力,让自己不可替代,还可以积蓄改变现状的力量,提高每一次选择的成功率。
最后:【可能给予你帮助】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
关注我的微信公众号【软件测试小dao】免费获取~
我的学习交流群:1033482984 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!