5

在读研 & 工作中选择后者

 3 years ago
source link: https://ipotato.me/article/65
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

明年就要毕业了,「读研还是工作」也理所应当成为了很多人心中纠结反复,辗转不休的心结。好在我在去年近年末的时候就大致想清楚了这个问题,并且下定决心,拟定了一些目标。到目前来看,实施的还算不错,在稳步中逐渐走上了一个比较符合心里预期的方向,所以也萌生了写一篇文章,讲一讲想法和相关动机与契机。

在开始之前我需要界定一些范围。本篇文章的大多数细节内容可能只适用于 CS 或者其他计算机相关专业,以及,我的经历固然会与我个人的方方面面强相关,个体差异也应该在读者的考量范围内,诚然其背后有普适方法论的存在,但对其总结归纳不是攥写本文的目的。最后,我诚挚地希望每个人都能在这篇文章里有所收获 : -)

为什么不读研

这个说来话长,但是非要总结归因,我觉得倒是出乎意料的简单粗暴:我不喜欢学习(狭义上的应试学习),我喜欢做事情的感觉。再具体细分一下其中的因素,应该是以下几点:

  • 本科成绩不佳,无法直接保研。
  • 厌恶应试学习,为了考研进行学习对我来说是痛苦且枯燥的。
  • 非常喜欢实践,做具体的事情,把学到的东西真实运用在生产生活中能带给我的满足感远超一切。
  • 自认为有可以本科毕业直接工作的能力。(无自卖自夸之意)

前两点是促使我选择工作的直接原因。读研深造固然可以拔高平台,提高能力,让自己的起点比较高,但得到这一结果的付出成本对我而言显然是不可接受的,甚至不考虑考研失败造成的巨大沉没成本,在有可以选择做自己喜欢的事情这个选项的同时去选择花费大量的时间做我不喜欢的事情,无疑是一种自我虐待。其它无须多言,后两者自然是促使我选择工作的根本原因。

人总会为自己辩解,我自然也要为我自己的选择辩解两句。对不读研这个选择总会有人站出来做各种各样的指摘,诸如「你就是条懒狗」,「你是在逃避」云云。关于「为什么要读研?」这个问题,每个人都有自己的答案。拔高平台,深造能力,缓冲进入社会......以结果为导向进行归因,似乎无外乎分两大类:更好地进入工作和更深得进入领域尖端。后者这种强科研属性自然不在本文讨论范围内,前者的目的既然是为了有更好的工作,如果你想要发展的方向并不强调科研背景(诸如 NLP 等算法岗位),那么在条件允许的前提下提前进入工作环境进行历炼也不失为合理的选择。

上面我有讲到「不强调科研背景的方向」,这个有必要单独说说。如果你投过各类大厂小厂的简历,应该能发现大多数算法的校招 or 实习岗位学历要求都会是硕士起步,但你应该很难见到一个前端岗位的最低学历要求是硕士。如果把一个开发者的学历和经验作为天秤的两端,那么以一言蔽之,如果你期望的工作方向更偏工程,那么一个更丰富的工程实践经历也许在企业的 JD (Job Description)中更被看重,这类岗位可能包括但不一定限于:

  • 前/后端开发
  • 测试/运维开发
  • ......

如果你期望的工作方向更需要学术背景,那么一个更高的学历,即更深的学术研究也许更被看重,这类岗位可能包括但不一定限于:

  • 机器学习算法
  • NLP 算法
  • 分布式相关
  • ......

是否选择继续读研深造,亦或是提前进入职场积累经验能力,也要通过自己日后想发展的方向来作为考虑因素进行决策。不过有一点需要指出,以上所概括的两个方面在边界上并没有那么清晰:也就不意味着你想要成为一名资深的架构师,学历就一定没有经验重要;不意味着你想成为一名分布式相关领域的从业者一定会被学历这个门槛卡死。修行在个人,无论经验还是学历,都是你个人内在能力的表现,我相信有实力的人一定不会被埋没。

何时开始实习

上面扯了一堆关于选择的过程,接下来说一说如果你已经决定早些工作了,该从何做起。关于这一点我不想做太多说教,说「你该怎么怎么样」这样的话,我就讲一讲自己的实际经历,给大家做一个参考吧。

虽然想要直接工作这个想法由来已久,但是真正下定决心其实还是在去年 9 月份,大三上刚刚开学的时候。眼看着毕业临近,对于一个想要在秋招中一展身手的 CS 专业学生来说,至少有一份实习经历显然是格外重要的。比起一张「白纸」,企业更愿意挑选有点内容的「白纸」。

说实话大三上就开始找实习其实是一个有些冒险,但相应收益会比较高的做法。风险点在于学校的课程安排趋近于收尾,一些比较难的专业课也会集中在这个学期,如何平衡好学习和工作是一个首先要考虑的因素,这一点上我的做法比较粗暴:直接翘课。一是因为成绩也够不着保研的尾巴,无需那么在意绩点,二是因为除了体育课这种比较难逃的课,其他一律统统全翘,只是为了挤出了一周 4 天的实习时长,至于课业,只能安排到工作日下班,周末以及考试临近时的请假进行学习。但即便是翘课,对于一些专业课程还是要用心,比如 OS 以及编译原理等课程,可以说是专业的重中之重,不光学习会接触,在面试以及工作中也是非常核心的内容。好在一个学期下来课虽然都翘了,但最后的结果也不坏,没有顾此失彼而整出来个挂科。

大三上开始实习的收益之所以高,其实来自于「趁早」。如果你本科毕业便打算工作的话,可供你实习的时间其实不长,排除掉课业比较繁重的大一和大二,留给你能实习的时间只有两年。而实习这件事情其实是一件复利的事情,你实习的收获会随着你实习的时长和次数不断增加:你在上一份实习中拓展的能力和积累的经验越多,你的下一份实习越有可能拿到更好更有挑战的 offer。所以不难看出尽早开始寻找实习的重要性:越早开始越能在有限的本科时间内有更多的实习收获。其次,早些开始实习的另一方面好处来源于企业招聘的一些心态。作为廉价劳动力的代表,实习生的性价比其实是随着实习的时长逐渐攀升的。培养一个实习生从熟悉业务到独当一面,就是实习生对一个企业逐渐价值最大化的过程,试想,一个实习生如果能干一个正式工 1/2 的活,且还只用拿不到正式工零头的工资,何乐而不为呢?故而在其他各类条件(学历,能力等)相差无几的情况下,公司其实是会更倾向于雇佣离毕业时间更远的候选人的。当然,如上所述仅限日常实习生,如果是春秋招,企业显然是在考虑更长远的候选人价值,毕竟很多像阿里,腾讯这样的大厂用的都是正式工 HC,无法再单纯地用日常实习的价值模型去衡量一个人。但既然我是选择大三上就开始实习,显然不会去和同期的秋招凑热闹,所以我在简历投递时寻找的都是日常实习岗位。

怎样寻找实习

这一点其实因人而异,你擅长怎样的技术栈,想望哪个方向发展决定了你要投递的岗位。我个人是因为做过一些 Web 开发,所以对这一块还算是能够应付,也想着自己不要一上来就好高骛远,所以在投递时主要寻找的是后端开发相关岗位。

关于投递的渠道,了解讯息首选当然是各大企业的招聘官网/公众号,不过在上面投递简历,一旦最初投递的岗位被刷,就相当于把简历放入了一个海量备胎池中,运气好被某个部门某个方向相中捞起,运气不好还会遇到简历的冻结期,无法再投。再加上有些大厂的官网日常实习几乎没有任何信息(说的就是你,阿里),就算有,很可能也是一些非常笼统的岗位描述,无法让你自由的选择具体部门方向,所以我个人不建议通过官网投递寻找日常实习。

关于找岗位的渠道,首推北邮人论坛的「兼职实习信息」板块,我 2/3 的实习工作都是通过北邮人论坛的内推贴找到的。一是基本上在这里发贴的都是直接来自各个部门岗位的技术或者 HR,其中不乏很多校友学长学姐,渠道比较直通,信息也比较丰富细化,有什么问题可以直接沟通,时效性也很及时,几乎每天都会有大量的岗位更新发帖,大厂居多,北邮人论坛的存在再次彰显了北邮人互帮互助的魅力......

其次也推荐使用实习僧或者 BOSS 直聘这类 App 进行岗位搜索投递,理由与上面相同,直通,细化且丰富。但由于平台比较大众,鱼目混珠,需要大家多进行一些筛选。

怎样通过面试

由于是日常实习,所以基本不会设有像春秋招那样的统一笔试环节,但这一点也不一定,具体会取决于你的简历和不同公司的面试风格。如果你的简历上项目经历比较匮乏,可能难免会让面试官多使用做算法题这样的方式考察能力,如果简历上项目经历写的比较丰富,可能面试官会着重对你的既往经验进行询问交流,从中发掘你的闪光点。

但像数据结构,操作系统,计算机网络以及数据库这些基础中的基础还是非常重要。实习生招聘中的不同能力面的权重,在我面试了这么多家公司以后,大概有如下感受:基础知识 >> 项目经历 > 算法。再次强调,这个权重只是相对而言,不代表算法就一定不重要,对于很多公司来说,面试中的手撕算法环节可能是你通过面试的敲门砖或者底线。具体一些的经历,结合第一份字节跳动实习 offer 来讲。总的来说字节的面试风格比较硬朗,一般分 3 到 4 次面试(包括 HR 面),连续性很强,很多部门基本上一天就能走完所有流程,当天便可知道自己的面试结果,比起吊着你还一直不给你拒信的公司(说的就是你,阿里云),可以说是非常友好了。「手撕算法」这个可以说是字节面试特色了(估计也是从硅谷巨头那里抄来的一套),在聊基础知识和聊项目的同时,穿插着给你来几道从 Easy 到 Medium 不等的数据结构+算法题,较简单的题目一定要快速手写出来,至少通过面试官的人脑编译。比较有难度的题目即便写不出来,面试官也会及时给你引道,听听你的思路。整个过程难度中上,需要针对性地对算法做一些准备,基础知识其次。

关于更多的面试技巧,满打满算我也是面试过十几家大小公司的人了,其中或多或少也有一些总结出来的心得体会,由于篇幅限制不打算放在本文中,日后也许会单独就此写一篇来做分享。

工作 or 读研的选择不是一道有确定解的简单问题。无论是成为高学历人才的社会共识,还是你的职业规划或个人喜好,在这其中扮演最重要角色的我认为永远是最后一个。在条件允许的范围内,一定要做自己喜欢做的事情。根据我有限的人生经验,为了一些身外之物而选择去做自己不想做之事,是一件相当痛苦的事情。所以当你在某些选择面前摇摆不定时,不如停下来问问自己的内心,你到底喜欢什么?然后去做自己感兴趣的,自己喜欢的。

最后祝大家都能在自己选择的道路上一路顺风,功成名就,共勉。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK