清华北大的实习生如何选择大,小公司

有一类实习生,只追求名头,不追求成长。

很多实习生,经常是在百度实习三个月,在阿里实习三个月,接着在腾讯实习三个月,甚至在 IBM 和 Intel 也实习三个月。这类实习生,一般成长不够突出,实习中做的项目也不够有挑战性,实习生涯更多的是镀金,他们以为在大公司实习,对自己未来应届毕业时就业有很大帮助。

这类实习生,一般在毕业的时候,也会倾向找大公司,BAT 能给 Offer,他绝对不会去小米或者今日头条等次一梯队的公司,哪怕他知道这类公司可能有更高速的发展。

在他们眼里,公司的高速发展,不代表个人的高速发展。遇到什么问题,都有人能帮你扛着,遇到什么不会的,都有人能帮你指点一二,这些对他们才是最重要的。

这类实习生,表现也算可以,不过大部分只能算中规中矩,不算出类拔萃。相比很多到小公司实习的同学们,他们往往看起来很光鲜,很受欢迎。假如毕业搞个实习经验分享会,他们往往会是被邀请的嘉宾,享受学弟学妹们羡慕的眼光,和暖心的答疑环节。

这类实习生,在应届找工作的时候,假如有某个外企,他们往往会选择外企,工作舒服,福利好,何乐而不为。假如有某个日本或者新加坡的公司给他发了个 Offer ,算一下薪资居然能到 40 到 50 万,他们往往会万死不辞,奔赴海外。

一年多赚一二十万,比国内的朋友强多了,他们不会介意公司是不是做外包的,钱多自然能锻炼人,更何况在享受日本优美环境、呼吸新鲜空气的同时,说不定还能学习一门外语呢,全新的谋生技能把妹技巧 get ,岂止一箭双雕!

当然钱多不是坏事,重要的是,长久下来回报最高才能赢到最多,假如赚钱多少是赢的标准的话。比如我有一个朋友,在 2010 年的时候就去小米实习了,据说目前身价早已数千万。

假如那会他选择去 BAT 实习,毕业后留在 BAT ,或者是去日本工作,我相信目前能做到百度 T7 左右就已经很出色了,年薪最多在 70-80 万。

2

有一类实习生,只追求成长,不追求名头。

大公司有机会,他们就去大公司,小公司有好机会,他们绝不会去大公司。他们可能在百度或者微软实习过,但是他们中的绝大多数会觉得枯燥无聊,自己当自己是牛人,结果被当螺丝钉的感觉真不爽。

实习半年,可能只是写写脚本,帮忙跑个大数据处理的任务,分析个简单的数据,几乎接触不到核心代码,代码永远没有上线的机会。大数据框架是接触了,得出的玩意,却是个小结论。

他们受够了,因此接下来的时间里,他们会寻找小公司的机会。不求公司名头大,追求小团队有牛人,甚至不求团队有大牛,只求能够参与有挑战性的项目。

这类实习生,往往在实习的时候,就能搞定六千到一万多的实习薪资。不过他们对实习薪资看得很淡,假如项目不好,没挑战,你就是给他们一个月两万,他们也会觉得虚度光阴。

假如项目很难,锻炼的机会很好,又有牛人可以学习,那么他们往往一天 150-200 块钱也能接受。在青春成长期,他们需要的是营养,而不是金钱。

他们往往有超强的学习能力。今天让他写写 python 代码,他们可以学习 python 语言,从入门到上手做项目就一两天的时间。明天让他们去维护一个 Java 项目,Fix 某些看起来很诡异难搞的 bug,他们往往阅读代码几个小时,就可以按图索骥,有步骤地定位到代码中的问题,高效完成。

后天让他们去学习下 C++, 他们二话不说,开始阅读 C++ 编程规范,熟悉基础代码,熟悉 C++11,做的 Start Project 往往速度超出预期。只有不断做出超出预期的效果,或者在超出预期速度的时间内完成项目,才能够不断有超出预期的新项目、新挑战给你,从而获得超出常人的锻炼和成长。

这类人有超强的吸收能力,比如第一次的 Code Review,可能上百行的代码,被提出了上百个的修改意见,但是第二次的时候,指数下降,十个以内。

常见的错误,他们绝不犯三次,正所谓人不能在同一个地方摔倒。另外,他们善于模仿学习,在写代码之前,能够从代码基础库, codelab 中去学习,参考别人的代码风格,因此有些同学,第一次写代码就很少犯低级的错误。

当然,当他们有时间了以后,又能够静下心来仔细学习 Google C++ Style Guide (其他语言也有对应的代码规范),争取做到知其然而知其所以然,绝不含混过关,一知半解。一知半解对他们来说是一种耻辱,智商上的耻辱。

这类人往往成长很快,等到某一天,他们觉得该学习的学习得差不多的时候,他们可能就会离你而去。他们有比较清晰的学习规划,他们只对自己的个人发展负责,如果公司和团队的发展跟不上自己,他们绝不停留自己追求的脚步。当然,他们也会主动沟通,主动找更有挑战性的项目,不断远离自己的舒适区。

然而离开不是结束,离开了没有关系,能有这样的实习生,三个月是缘分,半年是福分。大家好聚好散,天涯若比邻,以后还是朋友。

3

有一类实习生,得过且过。

或者把实习当上课,作业能交就交,不能交和学校一样,抄一抄也能糊弄过关。或者实习当正式工作,找个性价比高的。这家能给一万,我就去这家。

实习了两个月,发现那家每个月能多给一千,还有各种零食水果免费吃,赶紧跳跳跳。假如他发现某家公司居然能够给他正式员工的待遇,条件只要他能够全职实习,那么他肯定会二话不说,过几天就入职。

也有在读研的实习生,以自己的本科毕业证去找正式员工的工作,绝口不提自己学生的身份,以换来正式员工的待遇。这类人聪明是聪明,只是有点过于聪明了。

这类实习生也能出活,不过不怎么挑活。假如让他写一辈子的脚本,估计他也就认认真真写一辈子。假如第一个工作是测试,可能他们就干一辈子的测试了。

假如第一份工作是运维,后面就是有转研发的机会,他们也会继续做他的运维。他们往往不怎么读书,读得最多的可能就是各类互联网故事,各个公司的八卦,以及 BAT 各家公司的级别待遇之类的文章了。

假如你给这类实习生做 Code Review,他们会觉得你没事装逼,写这么点简单的代码,犯得着一本正经,故作高深么?写代码当然是怎么舒服怎么写,随心所欲不逾“矩”(实现功能)。他们如果实习一年,Code Review 一下他们的最后之作,你会发现不忍卒读,各种小细节都缺乏雕琢和训练。

当你和他说重构的大道理的时候,他们往往心中嘲讽,想:我拷贝复制开源代码,三下五除二就搞定了,为什么要重构来重构去,卖力不讨好?

当然,他们不会看到别人维护他的代码付出的时间。他们也不曾关注过,他们写的代码,事情做是做了,但是往往只做七分。做的东西,像那么回事,又不是那么回事。

当然,我如果碰到这样的实习生,没有在简历关挂掉他,也会在面试关挂掉他。假如有哪个漏网之鱼,实习一两周后,我也会让 HR 把他送走。

招实习生,我们希望他能够学习,也能够贡献,而不是用来惹团队不开心,过多浪费正式员工的精力的。

4

我认识的实习生里,第一类和第二类都有。

第一类的有过不少。很多时候,第一类也很聪明,面试的时候过五关斩六将,表现出众。不过一些时候,因为正式员工工作繁忙,实习生培养未能形成科学系统,因此很难做到每个实习生都能得到很好的指导。

比如代码审查,假如他们没有被经常耳提面命,往往写了大半年的代码,不知道自己代码的风格出在哪里。

我建议这类实习生,加强主动性,主动去问问题,主动学学习相关的技术文档和书籍,多请教周边的同事。

没有人会拒绝一个好学的实习生的任何问题,很多时候,能够帮助同事解决各种疑难杂症,也是技术人工作中难得的乐事。

另外, 这类实习生,往往容易流于表面,做项目不够深入。我建议大家“跳槽”不要过于频繁,应该在实习的时候,追求两个东西,一个是深度,一个是广度。

说到深度,比如做爬虫的话,能不能熟悉下 HTTP 协议的详细格式,几个常用的头部,常用的工具(比如 curl ,wget )的几个命令怎么使用?能不能熟悉下抓取的几种不同的 IO 模型?

能不能看看开源的几个爬虫项目,他们都有哪些特色?能不能熟悉下网页解析怎么做,又是怎么实现的?能不能熟悉下抓取回来的网页怎么存储,分布式存储系统又有哪些挑战和设计目标?

说到广度,做搜索的实习的话,你能不能熟悉下爬虫的代码和架构?能不能熟悉下倒排索引的原理?能不能熟悉下检索的基本流程?

能不能熟悉下 NLP 技术在搜索中大概有哪些作用?如果都很熟悉了,那能不能了解下语音输入和输出的大概原理,也就是语音识别和语音合成?

第二类的实习生碰到过几个。不过这类实习生可遇而不可求,面试过的虽然很多,但是毕竟他们选择众多,就是缘份到了,能来实习的却也屈指可数。

比如其中一个,是个北大本硕,据说本科时期,就是计算机系里小有名气的风云人物。你让他写网站,他就把网站前端和后台都做了。你让他做过 CSS 解析器,他二话不说就给写了,技术调研和开源项目分析等,他自己搜索搞定。

你让他做一下性能优化吧,最多告诉他谷歌有开源的项目,Gperftools, 他自己就能搜索相关项目和文档进行学习。人聪明,基础扎实,技术面广,说话好玩有趣,沟通能力强,有问题总能问到点上,往往是这类实习生的***同点。

接受请采纳