非科班的我是如何拿到阿里offer的?

本文来自微信公众号EnjoyMoving作者投稿,讲述了自己作为非科班出身是怎样一步步拿到阿里offer的,希望对大家有所帮助!

一、写在前面

拿到阿里转正offer已经有一个多月了,回头看看自己一路走过来的经历,两年多时间,从计算机外行,一步一步自学成功转行Java服务端开发。

曾经觉得自己非常倒霉,诸事不顺,后来慢慢接受现实,转变观念,积极努力往自己想要发展的方向靠拢,到步入正轨,然后就有点像“开挂”般的顺利拿到阿里offer(因为曾经从来不敢想自己能拿到阿里offer),觉得自己算是挺幸运的,虽然走了些弯路,但总的方向还是朝着目标前进。

下面给大家分享下我的转行之路,希望能帮助到那些迷茫的童鞋们。

二、问清楚什么适合自己

高考填报志愿的时候,作为“大山”里出来的孩子,对外面的世界不够了解,就糊里糊涂地选择了电子信息工程专业。天真如我,以为自己会因为高中物理学的稍微好点,而能学好并喜欢上电子信息工程专业。

进入大学后,大一大二基本不怎么参加社团,非常认真学习,在图书馆泡馆看了很多电子设计入门的书籍(其实大多数还是看不懂的)。可能是缺乏竞争对比,当时还自我感觉良好,仿佛自己真的比同班同学懂的要多点一样,有点迷一样的小自信。

没有对比,就没有伤害。进入大三后,开始踊跃报名参加电子设计比赛了,去实验室一看,个个大神早就已经对电子设计实践轻车熟路了,自己却还在学单片机的理论书中苦苦挣扎,顿时信心备受挫折。但当时还是觉得自己能克服困难,继续在电子设计的道路上走下去的。大三寒假,留校调试电路板,死活调不出来,但倔强的觉得一定要在回家前调试出来。最后,直到除夕前一天才回家,还是没有调通电路板。于是整个春节假期都过的特别郁闷,想不通自己为什么这么蠢。

大三下到了,校招实习也开始了,赶紧准备简历,简历上排满了获奖经历,包括好几个电子设计比赛的三等奖,和几个奖学金,也是迷之自信,觉得自己的经历还是很丰富的,拿到实习offer没问题。结果,投了华为、TPLINK、CVTE等公司,全部一面被挂。

然后就心态炸裂了,开始怀疑人生:为什么我的经历这么丰富、绩点也还能看的过去,但是却倒霉到连一个实习offer都拿不到?我真的适合做电子通信行业吗?如果是,那为什么我感觉电子通信课程学起来这么困难、绩点也都是全靠泡馆勉强拿到的?一系列问题困扰了我,也没有动力再找暑假实习了,同时也变得厌学,憎恨自己的专业,憎恨自己的愚笨,心想:完了,我要失业了。

低迷了好一段时间后,有一天,在图书馆里看到学校招聘网站上,发现计算机的招聘好多啊,超级羡慕计算机学院的同学!同时,也觉悟到,为什么自己一定要在电子通信方向这一棵树上吊死呢?这样下去不行,我要转行学计算机!

当时对计算机的世界一窍不通,连操作系统是什么都不知道;唯一学过跟计算机相关的东西就是C语言程序设计和计算机组成了,都是偏硬件方向的。

经过了找不到实习的教训,知道了要“面向就业”学习,于是就看招聘网站上都有什么岗位,当时看到比较多的是:Java、Android、前端。经过一番衡量,觉得Android手机就是个嵌入式设备,跟自己的专业还有点关系(还是舍不得丢掉自己苦读了3年的东西啊),于是就选择了Android开发,开始了转行自学之路。

三、选择什么方向

大四上学期,遇到最幸运的一件事就是,恰好拿到了学校的保研名额(不枉苦读了3年书),可以专心转行学习计算机了!

刚开始转行的时候,就是在网上大量搜索别人的入门Android的经验,看别人是怎么学习的。

总结一番以后,开始动手学习:一开始当然是学Java,搭建环境就是看视频,然后语法之类的就是看网上的资料,然后对着打Demo,打完Demo又看书,感觉Android操作系统博大精深,学起来也是很吃力,尤其是自定义View,看各种源码,晕头转向。

学了一些皮毛后,觉得要结合实践才能提升,于是出去找实习。作为一个没有任何实践经验的非计算机专业的Android菜鸟,找实习果然妥妥的碰壁,在拉勾网上投了几十个简历,竟然只有一个简历通过的。最后去面试,原来是本科学校、同学院、同专业的学长办的创业公司,难怪没挂我简历,大多是念在校友一场的份上吧😂… 最后面试简单聊了几句,就算过了。2016年底,本科985,Android实习生,工资2000元/月,第一个月(十一假期后入职)还不能给够2000,要按日计算,并且超800部分扣税20%…当时觉得确实挺低的,但都忍了,觉得学到技术最重要,谁叫自己这么菜呢🤣 。进去实习后,发现整个公司包括CEO只有不到十个人。那段时间,每天早上7点起床,7点半在广州地铁挤肉饼去上班,中午吃饭加休息只有1小时,钉钉打卡制度,结果患上了低血糖晚上回学校晕倒了,被同学打120叫救护车送去了医院…如此实习一个月后,论文导师要求会学校做毕设,就离职了。

回学校后,又开始反思,为什么自己打起Android代码这么吃力?为什么Android实习这么难找?思考一番后,觉得自己不大喜欢用代码写交互界面,而更喜欢用代码实现复杂逻辑;同时,根据要“面向就业”学习的经验教训,从拉勾网的招聘需求上看,Java需求量是远远大于Android的(其实这个时候,移动客户端开发的需求已经接近饱和了,不缺菜鸟,只缺经验丰富的大牛,而自己又不可能一步登天跨过菜鸟成为大牛)。于是下决心要转行到Java服务端开发。

四、在适合自己的方向上积极进取

决定要转行到Java服务端后,就马上开始学习:基于已有Java基础,主要就是学习服务端主流框架(SpringSpring MVC、MyBatis),然后跟着网上的一个Java Web入门项目视频,动手打了个Demo,算是对Java Web有了个基本的了解。之后,毕业设计决定学以致用,就用Java Web给导师做了个工程项目的演示Demo,就算是做过“实践项目”,心里也踏实了很多。

写完毕业论文后,很多同学都毕业旅行去了。而我觉得自己在计算机方面还是太菜,害怕自己读研还是找不到工作,于是毕设答辩完就马上开始去面试实习。这次很有自知之明,知道自己这么菜大公司肯定不要的,就奔着小公司去。投了一家区块链的创业公司,面试官看我本科不是学计算机的,就主要问了Java Web的一些基础(比如,Spring IOC基本原理),毕竟创业公司偏实践,所以也不怎么考察计算机理论和数据结构算法,于是就拿到了这家创业公司的offer。

在创业公司里,一开始很新鲜,觉得接触到很多在学校实验室里接触不到的技术。由于小公司小项目,技术栈比较简单,工作时间长了(大概2-3个月),就没有更多新的东西可以接触了,主要还是业务代码为主。开始的时候,觉得这样挺好的,工作内容都是熟悉的,过的很舒适。但一段时间后,上拉勾网上看Java招聘JD,列出的技术栈,很多连听都没听过,比如消息队列。这时候才惊恐地发现,自己的技术也没多少长进,长此下去,实习结束了还是个菜B。于是赶紧看书恶补,就看了不少介绍服务端架构的书籍,但也只是了解了下,并没有很深刻的体会。

研究生开学后,觉得创业公司已经不能有更多长进,不能再在里面懈怠下去,就从创业小公司离职了,开始投中大型公司的日常实习生简历。因为是在杭州,就投了网易。网易的面试有三轮,两轮技术面,一轮HR面,由于之前有小公司的工程项目实践经验,加上看了一些书和恶补了一波面经,也就通过了。后来进去网易后了解到,当时面试比较容易通过的一个原因重要是,这个时候秋招基本已经结束,校招进去的实习生也离职了,比较缺人,所以招人也爽快;后来到了实习春招,确实也见证到了30个同学竞争1-2个实习岗位的激烈战况。在网易里,接触到了分布式技术,再回过头看之前看过的介绍服务端架构的书,就豁然开朗了。

这时候也不知不觉到了校招实习招聘,由于有网易的实习经历,就更加有底气去投阿里实习的简历了(这在一年前是想都不敢想的事情)。阿里实习面试一路绿灯通过后(面了2个月),就成功入职,最后也成功转正。

其实现在仅仅才是程序员职业生涯的开始,路漫漫,吾将上下而求索。

五、总结

一路走下来,觉得有两点非常重要:

一是选择正确的方向。选择了正确的方向,路才会走的比较顺。至于什么方向是正确的,那就是适合自己的、自己打心里喜欢的方向,毕竟只有真心喜欢,才能有动力持续走下去;另一方面,也要结合实际去选择方向,“面向就业”选择方向,是我一路走过来的一个经验教训。

二是积极乐观的心态。放宽自己的心态,专注提高自己的技术实力,不要太急于求成。“越想得到什么,就越得不到;放平心态,一切自然水到渠成”。不抱怨厄运,积极乐观进取地去工作、学习、生活,一路走下来,你就会发现:越积极,越幸运!

所以,总结下来,就是“选择自己想要的方向 + 积极带来的实力和运气”,帮助了我顺利转行到计算机。

5