作为八零后尾巴的我们,面对正值找工作的校招九月,感想不可谓不多。我们这帮人,对应试教育总有一种复杂的情感,一方面吐槽应试的粗暴和不近人情,可一旦不考试了,大家又怎么和千千万万的同龄人竞争?靠打架?靠谁发型酷炫碉堡?靠谁能说能扯淡?靠拼爹? 想了半天,算了,还是考试吧。
今年刚三四月份的光景,对未来还是充满希望的。我校的一大招牌,就是堪比清北的找工作的优势。想着某天离开学校,手拿着一堆offer, 在窗明几净的办公楼里开心的写着小代码,好像空气中都弥漫着一股甜味。
三四月份大家疯狂的投递实习简历,各种笔试面试,笔者当时还在梦中;转眼九月份,真正的校招来了,校园随处可见的横幅传单,校招如火如荼。不论任何公司,在我校开宣讲会简直水泄不通,就差挤出人命了。至于更牛的明星企业,一次笔试难求。算一笔账,某公司今年招400人,估计实习生就能占三分之一强,社招再占五分之一,北京名额留给我校的名额也就十几人。而投递岗位,通过简历筛选进入笔试的人占据了一栋教学楼的所有教室,三千人都不止。也就是200进1的通过率。作为那三千人中普普通通的一员,你凭什么有资格与这么多人竞争?
笔者作为普通小硕,只是比做软件的更懂硬件,比做硬件的更懂软件。最喜欢用的是C#, 关心物联网和数据挖掘。目前正在求offer。 昨天是互联网世界末日,一天有那么多公司通知笔试面试,差点考死我。
我们就随便聊聊校园招聘,因此很多观点并不适用于社会招聘。轻拍。
公司怎么应聘程序员?
笔者已经下决心最少先干五年的程序员,所以就只从程序员角度考虑这个问题。到现在为止,我也面了好几个不同类型的公司,也就不妨总结下不同公司的程序员用人需求:
1. 2-10人的创业公司: 没有良好的HR机制,创始人兼CEO与你大排档三小时,拍拍肩膀,哥们你靠谱,我们一起创业吧!
2. 10-50人的小型公司:两三轮面试,一般没有笔试,关心你会什么,公司缺桌面C#开发,就一定会找会这门技术的人,针对性极强。
3. 50-500人的中型公司: 招聘流程严格很多,一轮笔试+两到三轮面试,会关心你的研究大方向,比如机器学习,这样的公司已经不错了。
4. 一般的大公司: 以基础算法和数据结构为主,考察基本能力和分析问题的能力。项目的细节,过问一下就好,并不作为主要考虑。
5. 牛逼大公司: 名校,名牌专业是必须的,还要考虑你的性格是否符合公司文化,一大堆审查条件,面试之人如过江之鲫,随便挑随便选。
6. 顶级大型公司: 它不关心你的skilling sets,而非常关心你的学习能力和是否聪明,面试时一堆堆的高难度算法和数学题直到大脑过热过载,最少也有六轮面试,据说牛逼的谷歌有11轮面试。当然,众屌丝膜拜的对象。
什么是心仪的公司?
作为应届生,我对好工作的理解排序,与各位探讨:
1. 个人的未来发展: 在公司我能学到什么:良好的专业知识是一方面。我希望能培养”职业性“, 指那种严谨而专业的处理问题能力。在学校每天乐呵呵地写代码,不懂管理和规范,而职业性是我最缺乏的
2. 鼓励创新和挑战:我不愿意做螺丝钉,我希望用自己的创造力实现价值。
3. 良好的人文环境:我期待能有亲如兄弟的同事(姐妹?算了不大可能)
4. 能让我在北京活下来不用租房,并且能经常吃到红烧肉和猪蹄。
老生常谈:基础知识重要吗?
笔者以前也有同样的困惑,基本所有的基础问题,都已经有良好的封装库和工具包了,那我们还要了解树结构和CPU的流水线设计么? 现在的答案变得无比的确定:需要。目光短浅的说,这是应届生应聘最起码的敲门砖,远一些说,基础决定上层建筑。因为这些知识,你对一个问题的理解就是要比别人深刻。才能真正解决复杂的问题。
就像去面试TI的技术岗位,TI给出了一大堆的复杂模电题,例如ADC的16种参数。 其实想想也对,TI要的是能够设计芯片的人,能熟练运用的人外面一抓一大把,只是熟练运用不够资格。对微软这样的公司也是,就算笔者精通C#,WPF, WCF,Kinect开发又如何? 外面一抓一大把,微软需要你深刻的理解内涵,它需要你哪天也能设计出类似WPF这样强大的软件框架。
因此,计算机基础知识,网络技术,C++,数据结构和算法甚至编译原理,就成了基础中的重中之重,赶紧学!。这是最最起码的硬指标。从大公司角度来看,我们到底是熟练使用C#还是JAVA其实都不重要。
聪明的定义
说到此处,我就想起了那次我费尽办法获得的微软面试机会。兴奋的失眠等到面试开始,面试官让我用五分钟介绍了基本情况后,便扔出了两道其实并不难的算法题。这些题平时也基本都能解决,可是手拿电话,眼看时间飞快流逝,脑子就像进了浆糊,我甚至有种想哭的绝望,这些考题,反而是我躺在床上才真正的思如泉涌。
那到底什么是聪明呢?短时间内解决高难度的问题,你需要发散的思维,在高压下依旧能灵活解决问题。比如“如何秤出你的头的重量”。程序员是否也需要聪明?
我觉得聪明是个很广泛的概念,良好的数学能力,记忆力,创造性,情商,乃至把握机会,都属于聪明的范畴。我们每个人肯定都希望自己变得更聪明。顶级大公司,自然要求你越聪明越好。而求稳定的国企和中小型公司则不一定,对他们来说,更重要的是能把活按时按量干完,一个聪明的刺头也许并不欢迎。
我不想看求职指南!
每个毕业生,最少身边也有三本以上与”求职“有关的大部头,价格不菲。笔者也一样。但我讨厌那类程序员求职指南。一方面,很多面试宝典的质量实在不敢恭维,错误到处都是。另外一方面,公司招这个人,仅仅是因为他比我多看了几道原题而知道答案,这算什么?
网上有一个非常著名的程序员必看书单,都是经典中的经典,笔者阅读之后,感慨万千,崇拜大师能力的同时,觉得自己太菜了。
不过,求职指南真心是迅速提高求职能力的最快途径,哈哈,真讽刺。
运气和眼缘
尽管应聘有那么多的软硬实力的角逐,可是一大非常重要的因素便是运气和眼缘。
你和同学都投了简历,你的简历从质量和水平上完胜他,他通知笔试你没有;你和基友坐一排,他抄你的,他进面试了你没进;进了面试遇到了急着吃中午饭而心情不好的面试官,直接挂了; 到了终面,部门主管觉得你偏开发而不是研究,而他属于研究型部门,又被刷了… 这些事情实在太需要运气,同时遇到欣赏你且心情好的面试官,真是太重要了。
而作为程序员,作为程序员的我们去应聘已经是非常公平了,公司的目标也很简单,会做,能做出来就过面试,否则就被刷。不像很多国企和”软性工作“,掺杂了太多的不公平和关系成分。我觉得,什么都没有公平重要。
另外就是有选择性的表达自己: 对我来说,给互联网公司大讲我丰富的嵌入式开发经历就不是个好选择。而在飞思卡尔的面试上谈自己做的数据挖掘显得自己不专业。讲得太多,不一定是件好事。有条有理,适可而止。
结语
吐了这么多槽,其实做个换位思考。如果让我从三千佳丽中选一人,那先来一条极其苛刻的SQL语句做下过滤再说(本科以上学历,165公分起步,省略1000字),剩下的再让我随心挑一挑。那些大公司就是这样,全国几百万毕业生,随便挑随便选。 程序员的选拔已经是相当的公平公正了,因此就让我们适应这个大环境吧。
每天和成百上千人挤笔试考场,想方设法获取各种笔试面试信息,稍有一点闲工夫就赶紧学习和看书,仔细的拿起笔写以前从来都不愿意写的排序算法。这真是人生的大历练,倒真不在于最终拿到什么offer, 可是这也许是人生当中进步和成熟最快的时候。
我也正确的认识了自己,刚刚能做出一点成果就骄傲自得,呆在校园里不知天高地厚自己几斤几两。这些笔试面试让我深刻的认识到了自己的不足。觉得自己嵌入式够牛,那先过德州仪器的笔试;如果觉得自己算法够牛,先过微软和谷歌技术的面试;牛人一抓一大把,真要低调做人,要学的东西太多了。
求大offer,也祝大家早日拿到offer!