为什么选择阿里其实找工作的时候,选择并不是太多,面试了很多家公司,大公司也好,创业公司也罢。例如腾讯、华为、网易,这些公司我都能去面试一下,但是面试之后的结果一般都是不尽如人意,基本都是在备胎池里泡着。主要原因无非两种,首先是自己并不是计算机专业,第二个就是因为自己面试的时候表现的的确不是最出色。
但是阿里还是给了 offer,所以并不是因为我挑三拣四,而是实在能够选择的不是那么多,往往唯一的答案对我来说就是最好的答案,而且由于对传说中的 bat 公司总是有一种信仰,当我和家里的老人提起阿里巴巴的时候,他们哪怕不知道具体是做什么的,也会说一句这是一家大公司,跟着马云一起学做生意肯定靠谱。于是我带着家里人的“殷切期望”,还有自己朝圣的心态开始了阿里之路。我在阿里做什么事情每个人“朝圣”的方式不尽相同,我朝圣的方式就是写代码,和绝大多数的程序猿大众并没有什么区别。我也是普通的后台开发工程师,在这里很多时候并没有想象中的那么高大上。
我在这边负责交易系统,由于一个交易系统实在是太庞大了,不管是哪一个业务的交易系统都是非常大的体量,所以里面的架构和设计都相对复杂,而我刚进去的时候,就必须要去熟悉代码,看懂这里面的每一个流程,熟悉其中的每一个子模块,以及对应的程序状态流转,有时候还必须画出时序图、状态图来方便自己的记忆。
阿里新入职的应届毕业生都会配置一个对应的师兄,帮助他们尽快地融入工作和掌握对应的技术。但是由于自己开始接触的业务实在是有一点重要,毕竟是和资金系统打交道,就算是主管心大能放手一些项目,自己还是有点慌乱的。所以为了不出问题,也为了练手,师兄给我安排的任务都是从简单的程序开始写起,比如迁移部分系统代码(从上游系统迁移到下游系统),做一些简单的小需求(如修改 bug,增加某一个字段等)。
但是这些都只是看起来简单,做起来却并不简单。
看似简单:因为不必要写很多代码,类似迁移系统代码,都不属于重构,甚至只需要复制和黏贴,增加字段往往只要增加一到两行的代码;
但又并不那么简单:因为哪怕是涉及一行的改动,都需要进行大量的测试进行覆盖,很多人以为这些都该是测试去做,但实际上,测试往往只能进行黑盒测试,而且测试对于代码的了解程序一定不如开发,所以在这些细节上的测试都是由开发自己自测完成。
因此,往往改动一行代码,就可能都会花上半天的时间去用各种奇奇怪怪的方法进行测试,更多时候我都怀疑自己是一个奇怪的测试而不是开发。
在这里工作就像是打怪升级一样,当你完成了“新手村”的任务时候,就需要去做更多的任务,一方面是为了升级,另一方面公司也不可能养一个“闲人”。于是乎,我开始加入项目,而项目对于整个团队的重要性不言而喻,因为项目就意味着业务以及新的 kpi,尤其像阿里这样以业务为主导,而不是以技术为主导的互联网公司。所以项目的优先级往往是相当高的,而且在阿里这样一个需要多人开发,团队协作的公司里,你的进度延后很可能意味影响了别的进度,甚至会影响整个程序的进度,这种责任和压力往往会迫使你第一时间完成相应的开发任务。
每个项目也会有很多的流程,从一开始的项目立项、需求评审、可行性分析、系统设计分析、开发自测、测试、验证到最后的上线,这其中要有很多环节,而对于自己来说,最重要的就是完成对应开发自测,但是这个周期往往只占整个项目周期中的很小以部分。所以留给自己去开发自测的时间并不多。
蓝鸥科技西安中心,移动互联网科技育人专家,教育部产学合作协同育人项目承办企业,专注西安Java培训、西安大数据培训、西安unity培训,西安VR/AR培训、西安UI设计,西安HTML5培训、西安PHP培训,选择蓝鸥,不止高薪更是高起点!