我在爱奇艺实习的八个月

2019-07-18 16:32:33 浏览数 (1)

图 寒食君 | 文 寒食君 出自公众号 寒食君

金三银四过去了一半,校园春招将近尾声,我的实习生涯也告一段落了。

记得去年暑假伊始,在那个炎热的午后,我带着懵懂来到上海面试,如今掐指一算,我已经在公司工作了八个多月。在这段时间里,我在工作上认识了很多前辈,生活中也结交了不少朋友,这是在我毕业之前的珍贵经验,我想在这里记录下来,作为一种回忆和总结,也希望能对你有帮助。

1

人生际遇真的很奇妙。

去年这个时候,我开始着手寻求一份实习工作,因为来自一所很普通的大学,所以那时的我并不奢求能进大公司,只希望能踏踏实实从小做起,之后再谋求跳槽机会。

现在想起来,这种想法其实是错误的:有时候,我们只是在为处于安于舒适区的自己找一个自我妥协理由。

暑假之前,我早早地拿到了杭州一家公司的offer,自己感觉还算满意,就没有怎么再上进。直到期末考试结束,我再联系那边入职事宜的时候,才知道被放了鸽子。

人在校园这座象牙塔里的时间长了,容易忘记社会本就是残酷的这个事实。那段时间我陷入焦虑、自我否定的漩涡。鲁迅说:真正的勇士敢于直面惨淡的人生。我努力调整自己的心态,开始夜以继日地复习,披星戴月地面试。后来一个偶然的机会,我来到了上海,通过了面试,进入了爱奇艺。

还记得那是一个溽热难耐的夏日,我面试完走出大楼,同时收到了入职邮件。在回学校的深夜列车上,我感到了前所未有的轻快,庆幸自己没有放弃。

几个月后,我通过了转正,避开了兵荒马乱的秋招、春招,在这里安心全职实习至今。这期间,我渐渐完成了从校园到职场的过渡,结合读者的问题,我将在下面写一些自己的体悟。

2

我的读者群体中学生比较多,所有常有人问我:达到哪些标准才能找一份实习?如何才能找一个相对较好的实习?

这个问题有些许宽泛,因为不同公司的录用标准不同,每个人的自我期许也不同,所以很难去界定一个普世的准则。我就自己的理解谈一谈这个问题吧,姑且当做抛砖引玉吧。

先让我们从源头出发:公司为什么要招实习生?我觉得有几个原因:1. 业务繁忙,需要助手。2. 便宜,试错成本低。3. 发掘、储备人才。 以此顺推,那么大部分公司需要的是能做事、勤恳、靠谱、有潜力的学生来实习。

什么是能做事?就以Java相关岗位为例,就是有能力维护、编写一些系统模块,自动化一些重复性高的杂活。需要哪些技能才能基本胜任这个要求呢?那么基本的框架、中间件要会使用,比如Spring、MQ、Redis、MySQL等等。稍微进阶一点,ELK最好也能知晓,更进一步,最好微服务比如SpringCloud生态,大数据比如Hadoop生态也能略懂。因为这些都是已经客观存在的“轮子”,相当于技术拼图中的一个个拼块,你可能暂时不需要对其理解很深,但至少需要知道什么场景下用什么,并能快速上手。

因为后台必然和系统和网络打交道,所以网络协议、Linux这些也至少需要达到“略懂”的程度。同时,要是能写一些Shell、Python、PHP脚本,自动化一些任务,自然也会增分不少。

什么是勤恳?实习生作为新人,勤奋一些,多加加班我觉得是应该的,切忌划水摸鱼。我记得我实习那段时间,由于住得近,几乎都是第一个到,最后几个走的,我很享受那段晚上无人时的工作时间。

什么是靠谱呢?我觉得最重要的一点:对自己写的代码负责。这不仅要求能够合理评估任务,对其进行排期,即使交付。此外,这有时需要能够排查、调优。这些就涉及比较原理的层面了,比如对JVM、网络协议的理解,对数据库引擎的掌握等等。假如遇到自己实在搞不定的问题,及时提出,不要为了一时面子为耽搁整个项目进度。我认为“靠谱”是一种很高的评价,渐渐地,导师才会放出更多权限,同事也能够信任你。

什么是有潜力呢?这条主要来自客观评价,导师、leader在你的工作期间,其实也在进行对你的考评。比如基础知识的掌握程度如何?处理问题的逻辑如何?快速学习新东西的能力如何?工作态度、自我提升的意愿如何?等等。如果你被认为是一个“有潜力”的新同学,那么团队会很乐意接纳和培养你。

以上是我所认为的内在因素。那么外在因素是什么呢?就是准备一份简洁、有亮点的简历。我始终觉得,我的简历中存在的1-2个亮点为我争取到了面试机会。

3

在学生中,另一个常见的问题:工作中会用到哪些技术、如何做产品?面试造火箭,工作拧螺丝到底是不是真的?

工作中会用到哪些技术?这个我难以回答,因为不同岗位用到的技术差异太大了,如果仅仅是做Java后端,对于实习来说,我在上一点内提到的技术应该是够用了。要想深入,那必须持续学习。

我按照自己的理解,粗略地将技术分成三层:系统层、中间层、应用层。

系统层是其中最难啃的,也是区分一个人技术深度的关键,比较偏向实现原理。比如Linux的内部实现机制;JVM、DB的设计实现;传输协议的设计方式;各种中间件的设计原理。中间层我认为是一些偏重理论和思想的内容,比如OO思想、算法、设计模式、数据库范式等等。这些能够夯实一个人的理论基础,提升项目设计乃至架构的能力,而不是仅仅停留在“调参侠”的阶段。应用层则是与大多数开发人员关系最紧密的能力集合,比如使用框架的熟练度,业务代码的规范、优雅程度等等。

做产品的流程是什么?这里涉及到不同的模式,比如敏捷开发(这个话题我想后面单独成文,谈谈自己的理解)而最基本的,则是产品团队先设计,然后与技术团队一起评估,由项目老大操刀架构,然后普通开发人员参考PRD与PMS,进行开发。最后再由测试团队测试交付。

大家最关心的,面试造火箭,工作拧螺丝到底是不是真的?我觉得这需要结合不同公司或不同业务线的具体情况来看,至少我觉得不是。毕竟,不想造火箭的工程师不是好码农,万一真有一个千载难逢的机会,让你参与造火箭呢?我深信机会总是留给有准备的人。

4

写这篇文章之前,我预先在我的读者群里进行了调查,问问大家最关心的是哪些问题。反馈不少,我一一记录了下来,但是由于篇幅有限,剩下的问题,我将会以此为主题,在后续的文章中写一写我自己的感悟。

•工作后学习时间的安排?

•公司与学校差别很大,如何适应?

•非计算机专业,如何在业余时间学习编程?

•工作让人在哪方面的提升较大?

•如何进行项目管理?

•如何处理人际关系?

我不是大神,我只想谈谈我自己的理解,欢迎大家持续关注。

此外,我开通了知识星球,每天都会在那里分享一些自己的感悟经验奇思妙想,以及网络上的优质内容,一年只需要请我喝两杯咖啡的价钱,现有一百多位读者加入。

初学者如何学习编程?其中一部分是跨专业的,或是想转行的。

因为没有基础,可能又迫于毕业与求职的压力,所以这些同学十分焦急,常常希望我能够推荐一些资料,一些书能帮助自己速成。

在谈论如何学习编程之前,我想先聊聊什么是学习?

我并不是什么牛人。孟子曰:人之患在好为人师,我也不想充当谁的人生导师。我只是想写一写自己成长过程中的一些感悟,或许能对你有所帮助。

曾经看过一个关于学习的视频,视频里的旁白自我叩问。

从小学到高中,上学是为了什么?有人会说,是为了考上理想的大学。那考上理想的大学,又为了什么?有人会说,是为了一份体面的工作。 可思考的顺序应该是反过来的,想要找到体面的工作,前提是有能力胜任它,而能胜任它的前提是能解决工作中遇到的问题。

专业知识几乎只会在大学里涉及,那么这是否意味着从小学到高中的学习是无用的?答案是否定的,即使流传着很多类似“买菜不需要用函数,所以不需要学数学”的言论。

小学到高中,这些年来,我们究竟在做什么?我认为有两点,第一点是学习基础的自然科学与历史文化知识,这是为了让更多人对这个世界有一个更全面的认识。比如知道端午节的由来,四季变换是因为地球公转,天然气中含有CO不可吸入等。

更重要的则是第二点:筛选出学习能力更强的人,赋予他们更重要的学习任务。

人们常说要注重学习方法,其实说的是培养学习能力。

有些人知识单纯地记忆信息的描述,所以只能举一反一,有些人会压缩信息,总结规律,形成知识,所以能够举一反三。继而构建自己的知识网络。

如果把你拥有的知识总和比作一本字典,假设你有自己的“知识索引”,那么查询起来就是线性速度,而且即使有些“知识点”不存在你自己的“字典”中,你也会知道空着的地方“应该存在什么”,不仅能快速查询旧知识,而且能够针对性地学习新知识。

假如你没有自己的“知识索引”,那你想要从A到达C,就要记忆B1、B2、B3等大量的信息,这是指数级的查询速度。万一正好出现了某个信息缺失,那么你就会对问题C束手无策,即使离你只有一步之遥,这也就是为什么经常有人提出一个离答案非常接近的问题,但自己却无法解决。

举一个简单的例子,有的Java初学者为了熟练,会去背API文档,而对OO思想理解深刻一点的初学者,能靠“猜”来判断应该有哪些API。

上面我只介绍了“什么是学习”的其中一点,只是为了说明“如何学习非常重要”。具体其他方法后续我会集合整理成文,记得提醒我填坑

所以说,对于读者问我“如何学习编程?”,我更希望你能先思考总结一套适合自己的学习方法。然后,学编程就和学其他东西一样,能够轻车熟路了,因为我觉得“授人以鱼不如授人以渔”。

2

第二个读者很关心的问题:工作后,如何安排学习时间?

这个问题我觉得太重要了,因为做技术工程师,不断学习是一种非常重要的能力。况且,除了技术,我们的世界里有趣的东西太多了,所以我觉得终身学习是一种值得倡导的态度。

但是,大家都知道,做这行的存在很多996制度,这算是人在江湖,身不由己,必定会压榨你自我成长的空间。所幸我没有经历这种制度,但是加班仍是不可避免的。

世界上有诸多不公平,但每天给予人的时间都是一样的。工作压榨了太多时间,怎么办?

穆罕默德说:“山不过来,我就过去。” 所以我租的房子离公司仅有十分钟步行路程,虽然相比贵了一些,但我认为是值得的,它避免了我将精力和时间消耗在通勤上,给我更多的自我成长空间。所以,我每天下班后,会有三个多小时的空闲时间用于学习。

不过,周五不加班是我最后的倔强,我会出去吃点好的,逛逛,或者看场电影。

其实,我还有一个鲜为人知,而且看上去十分自虐的习惯——周末我会主动加半天班。

我为什么要这么做?2/7 = 0.28,因为我没有成家,也没有生娃,所以暂时不需要这部分的时间开支,如果一周将近30%的时间纯粹用来休息的话,我觉得有点浪费。所以我从实习一开始,除非有特殊情况,一般周末都会去公司加半天班。

这段时间安静、放松,用来工作、学习,最接近享受的状态。

而且有加班有工资,虽然实习生工资不高,但聊胜于无吧,可以用来贴补房租差价。但是有一点要注意,你去加班,一定要真正做事,不要为了“薅羊毛”,否则于人于己都不好。

如果将实习生活比作是一台计算机运行过程,那么工作日就是CPU调用时间片,进度紧张;下班时间与周末就是IO,进入放松娱乐与缓慢学习;而这之间的半天,就是缓存,既可以让你调整上周的工作,又可以让你梳理新的学习内容。

3

写这篇文章之前,我预先在我的读者群里进行了调查,问问大家最关心的是哪些问题。反馈不少,我一一记录了下来,但是由于篇幅有限,剩下的问题,我将会以此为主题,在后续的文章中写一写我自己的感悟。

• ·公司与学校差别很大,如何适应?

• ·工作让人在哪方面的提升较大?

• ·如何处理人际关系?

我不是牛人,我只谈谈自己的感悟与理解,欢迎大家持续关注。

第一个问题: 公司与学校差别很大,如何适应?

几个月前,我粗略读了《Netflix文化手册》这本书。其中讲的第一点我非常认同:只招成年人。

这里的“成年”并非仅指生理达到法定年龄,更多的是指心理成熟,职业素养的成熟。我觉得这点就是问题的答案。

公司与学校的最大差别在于:你需要对自己负责,对团队负责

什么是对自己负责?即你需要知道自己在追求什么,并愿意为此付诸努力,渴望去接受一些挑战,来使自己更加强大。

不要让硬性的规章制度成为唯一限制你的底线,你要有着更高层的自我约束意识。

大部分人都是在面向工资编程,但是我觉得有时候还是得自己和自己谈谈理想,即使当下“谈理想”已经变味为“哄骗”、“画饼”的代名词。

在工作中,我觉得一切向钱看是狭隘的。“如果没有钱,我将什么不做。”这种想法会让你失去很多未来的可能性。相反,如果有着“天哪,这件事太难了,但我太想解决它了!”这样的态度,你会获得成长与幸福感,而钱,是一种迟早都会到来的酬劳。

什么是对团队负责?木桶定律认为,一只水桶能装多少水取决于它最短的那块木板。在团队中也是如此:不要让你的能力缺陷成为团队的弱点,不要成为团队整体行进的阻力。

一个团队,就如同互相依赖的齿轮,每个人都希望拥有靠谱的同伴,渴望与高绩效者合作。优秀的同事、清晰的目标和明确的成果,这些因素在一起将成为一个强大的组合。

这些能力,有的同学已经在学校内充分锻炼了,此时他只要进行场景的转化即可;而有的同学,则需要从现在开始慢慢体会和养成。

3

第二个问题: 工作让人在哪方面的提升较大?

对我来说,迄今为止,提升最大的主要还是技术方面。

第一个原因是,在学校接触的东西比较少,大部分知识只能通过网络来获取,而网络上又几乎不存在真实的场景。这就很容易出现这样一种情况:你会主动搜索你感兴趣的知识,但另一部分其他的知识你可能始终都难以接触到。用术语来说,这会形成“信息茧房”。

而在真实的工作场景中,你面对的是经验丰富的前辈,在与他们的交流中,你会得到一些从未听闻的新名词,这些都是自己信息版图的缺口,你可以通过之后私下里的搜索学习来慢慢弥补。此外,定期的分享会,会结合实际的场景,来针对性介绍讨论某项技术,这对于新人来说是一个绝佳的学习机会。

第二个原因是,作为新人,存在很多的技术盲点,但在给你分配任务时,很多技能是默认你会的。这就产生了很大的压力,在短期内,要学会,并且能够使用,但同时也是磨炼自己的契机。当你挺过这个阶段,你就会发现自己又成长了。

此外,除了技术,在与人交流,思考问题的方式上也会有一些提升,但这些过于抽象,难以总结,暂时就不絮述了。

4

学生时代就快要完结。在还未正式入职之前,我想问自己一个问题:为什么要工作?因为要挣钱。为什么要挣钱?因为要满足在人类社会上生活的需求。满足这些需求能给你带来什么?能刺激人脑分泌多巴胺,给人带来幸福感,带来成就感。

人的一生,都在为多巴胺而努力着。

那么,我们再回归问题本身。工作本身能刺激你分泌多巴胺,让你感觉到幸福和成就吗?可以,但大部分人不具备这项技能。所以,希望我写的能督促到我自己,同时也能帮助到你,去成为以工作为乐的人。

0 人点赞