Skip to main content

一些找工业界工作的经验总结

http://gengwg.blogspot.com/
个人背景:高能物理PhD,10年多(泪)编程经验,PhD期间搞搞实验上的软件和算法,以及高能物理的大数据计算。

一句话总结:对于PhD的工业界第一份工作,Skill set + general research background 占的比重远大于专业、地理位置、性别、有否内部refer 等等,所以别看哪个专业好找工作就去哪,提高自身水平好好准备更加实际。

1. 准备
当开始想着找工作的时候就得开始准备了。三点可以提醒:

1.1 简历
这 个东西重要程度排第一,所以得花一定时间认真写。建议买一本或者借一本(而不是下载一本)写简历的书,看看一个简历基本该怎么写。接下来就是认真的写上一 稿,自己反复改改,然后贴上indeed之类的网站。我觉得不少人会拖着不写,总说,“找工作还早啊”,“我简历写的还不够完美啊”“万事开头难啊我怎么 也得拖会儿”之类的,这样就总也写不出来。我也是我家兜总催着要一稿投Capital One我才赶紧把之前的草稿修改修改给交上去。有了第一稿之后修改就容易很多,以后的版本基本上都是根据这第一稿来。除了简历教学参考书上说的那么多,我 有2点个人经历:

有了第一稿的好处不仅是开了个头,还提供了寻找合适关键词的方法。工业界工作有个关键词一说,具体就是限 于HR的知识水平他们只会通过关键词扫描来在海量简历里选择合适的简历,而命中率最高的关键词往往不是我们能一下想到的。我的方法是把第一稿以及更新的简 历贴在招聘网站上,比如indeed.com之类的,然后等HR找上来,看他们给我提供的职位要求上需要的关键词是什么,多接了几个HR的信就知道这一类 技能命中率最高的关键词是什么了。比如说,我会C++,可以先写上C++,等了几个HR的广告之后就知道,不止要写C++还要写上object- oriented programming。大家都觉得简历上写个“面向对象编程”很傻,但是你要照顾一下HR的知识水平,他们不一定知道上头让他们找的会object- oriented programming技能的和你简历的C++有什么直接关系。同样的,在 Data mining 这个关键词同时写上 machine learning之后命中率就高很多了。很多这样的例子。

另外一个事实,简历不用写的完美,因为得不停的 更新。接到若干HR的广告之后,我们也会慢慢意识到什么是今年招人的热门。比如说在开始找工作之前我并不知道我会的技能中 machine learning和python在今年很受欢迎,直到我的信箱塞满了此类工作的广告并都是急求回复。既然知道哪个受欢迎,如果也觉得自己做这个不错的话, 可以提高这类技能在简历中的比重,比如具体的写一写自己都用哪些machine learning的技能和相关项目经验啊之类的。当然了,如果发现热门的都是自己不熟的技能,别学某些印度哥们一样硬是装会,那样不仅挂的很惨,也会扰乱 同胞找工作的市场秩序。

1.2 内部推荐和人脉
事实上这个比较重要,但是别把它玩的功利了,也别看的太重。

之前认识的朋友保持联系,大学的同学朋友如果找不到就linkedin上或者facebook上找回来,这些都是好的方法。这个方法仅限于本来就是熟人好友,如果临到要找工作了再来认识新朋友之类的,这就和MITBBS上发帖“急求Facebook的refer”一样傻。
同时也趁机提醒一下不要把这事玩的太功利了,本来挺美好的事。见过一些孩子为了个职位或者intern硬说哪个在职师兄是熟人啊,或者找到职位就把熟人甩开啊,师兄师姐都是厚道人不会说出去,但是这样终归不好混下去,以后毕竟都是同个公司的对吧,你懂的。

至 于这种推荐是否有用,实际情况并不像想象那么好,即使是十分熟的人也会因为客观原因而没推荐上的,比如公司现在不怎么招人啊,简历和职位不是很搭配啊,所 以不能只指望这个。我的实际经验是,自己认识的好友或者朋友的朋友推荐可能性最高,maillist上写的公开推荐相对较低,MITBBS上非 Jobhunting版的推荐和maillist差不多,jobhunting版的推荐纯粹碰运气,在jobhunting版上“急求refer”那是 傻。在此谢谢推荐过我简历的各位亲以及朋好友,顺便,和linkedin上面靠谱的HR保持联络倒是个不错的选择。

1.3 技能
一个PhD都会很多技能。工业界的工作也会要求很多技能。这两个技能集合交集就是简历的亮点了,并且要注意,不是说要求技能的你都得会。以下是几种情况以及我的经验:

如 果要求的技能我完全不会怎么办?我的建议是说,这个工作慎重考虑。有些工作很赚钱,比如说华尔街的金融工作,工作描述最显眼的位置写着至少六位数美元的工 资。但是这类工作的技能和经验要求不低,所以如果是硬性要求,比如10年的fixed income工作经验,那就主动别碰;如果是主要技能要求,比如说一定要expertise in C++而个人不满足这个要求,也不建议碰;如果是次要技能,比如在靠后的位置写了会某种统计工具比如matlab,这个并不妨碍,如果主要技能的能力足够 强或者这个技能很容易上手;如果说,会某某是个 big plus之类的,不会就不会,不要怕的。友情提醒一点是,如果是某些主要技能不会,我不建议现在去学,因为找工作时间很短,短评快的新技能很难比的过人家 长时间的磨练。对数学和计算机基础比较好的理科PhD这一点可能会例外,比如三个月学个金融找个quant然后摇身一变高富帅这种事,我看过不少成功的例 子。我个人很膜拜他们,这需要很大的毅力,我估计我做不来。

如果要求的技能我不熟怎么办?这些是绝大多数情况。毕竟我能和 朋友们吹我的C++和算法的理解多么深入,但是我不能保证我面试就不出问题啊,总是有不熟的和忘记的。我的建议是,可以考虑这个工作,同时提醒自己系统的 复习一下。我找的工作之中需要一些实际编码,那么就把Careercup 150题那个买来看看练练;需要一些C++的深入知识,那么就把Effective C++, more effective C++, effective STL拿出来系统复习复习;还有很多网上的练习题教程啊,都可以做做。对自己会的技能要好好复习,这在后来的面试过程中几乎占了一半的重要性。另外一半是 面试的准备,后来说。

如果要求的技能我熟练的很怎么办?那我就只能给大侠你跪了,预先恭喜记得请客啊。唯一想要提醒的可能 是,保持谦逊和诚实。比如我面试遇到了一个现场编程的题目,是我多年前写UVa的ACM比赛的题。题目很简单直接(UVa编号126,粗心的物理学家), 而碰巧我笔记本里存了多年前的代码。我就诚实的跟人说,你看这是我N年前练过的,我也不想坐那里玩半个小时然后骗你说我现场写的,我把代码给你然后我们换 一题吧。换的一题也不费事做出来,同时也趁机表现诚实的品质,结果印象不错。

2. 投简历找工作
这是一个艰辛的过程,至少对我来说是的。有段时间是每天不看个linkedin工作列表就不舒服,不在indeed上搜索几个投几个也会不自在。一句话就是,仔细的选择,然后把选择的能投都投。
2.1 网站

个 人统计上来说,大公司的网站上贴的公开职位包括是他们在招聘网站上贴的,投进去几乎是石沉大海,但是要保持能投就投,我的Bloomberg的面试就是在 投了20多个之后中的;小公司在招聘网站上贴的职位都比较靠谱,值得注意的是贴出招聘广告的时效性,一般当天贴的或者最近一两天贴的最靠谱,这个最有可能 有回信,也有一两周之后给回信的。

哪些网站比较靠谱?个人经验觉得Linkedin和indeed最靠谱,工作关键词搜索 和简历被搜索成功率都很好,所以这两家网站上的个人profile一定要给好好折腾一下。Monsters上联系我的HR多半是给的本科生就能做的工作, 并且他们的简历搜索功能比indeed差很多。Dice也是个不错的网站,简历搜索成功率不高,但是工作关键词搜索很碉堡,若干trading firm的工作都是Dice给联系上的。其他一些网站比如 CareerBuilder, quantfinancejobs, phds.org,Doostang之类的并没有给我什么成功的反馈,不过上面贴的广告和面试教程倒是可以看看。ivyexec.com是个骗子网站不要 信。

2.2. HR

贴好了简历,过一阵自然就有HR找上门了。他们分三类:专业HR负责收简历给他们客户;公司下属的HR或者公司内部招工负责人(多是CTO);骗子。

专 业HR负责收简历给他们客户:这在我的经验中是最多的,并且靠谱的居多。我的Apple的工作就是他们在linkedin上找到我。他们会在安排面试以及 面试前后的反馈一路上给与不少帮助,他们提供的建议也是很重要的。我的建议是,能让他们找上说明希望很大,他们总能给找到个工作,他们能拿提成当然就全力 以赴了。另一个建议是,不管找的成不成,和他们保持联系,不妨linkedin加个好友之类的。

公司下属的HR或者公司内 部招工负责人(多是CTO):这个也挺靠谱,数量仅次于专业HR,多是大公司的专门HR或者小公司的招工负责人。对于HR他们没什么专业经验,就负责安排 面试就行,不用和他们扯很多专业知识,只要忽悠他们相信自己很牛就行了,基本上回复很快;对于招工负责人比如CTO比如某个组的头头,他们有专业经验,所 以从专业角度切入会让聊天很顺利,和他们聊舒服了基本上之后的面试都会很顺利,不过他们也有公司事务要忙所以得预留一些时间给他们回复。

骗子:啥都不说,如果你在email或者linkedin上发现类似cybercoder之类的关键词就请自己人肉屏蔽吧,他们是常年骗子。

总的来说,和HR好好聊是成功的第一步。

一点提醒是,投简历这个活动得长期坚持,特别是手头有几个面试的时候也不能放松投简历。手头有几个offer倒是可以不投了。

至于有人建议的主动找个收费的专业猎头什么的,我个人没有经验,就不多说了。

3. 面试
这是很多地方讨论过的,我说一些我个人的经验,包括电话面试和现场面试。

3.1 面试的准备
除了一定需要好好做的技术问题上的准备之外,个人经历的描述也是需要认真准备的一个部分。在电话面试中这个占比重很大。简要的说,就是给几分钟时间,讲清楚之前做过的一个东西,你会怎么做?

可以设想一下在学术交流的会议上,一个20分钟的幻灯片该怎么讲,那么这个个人经历的描述就是个5分钟的简略版,不同的是,简要交代背景知识,弱化技术细节,突出自己的贡献以及突出和工作要求相关的技能。

需 要提醒的是,我见过很多人的学术报告做的一塌糊涂,包括很多教授。一塌糊涂的学术报告包括不懂得简要清晰的表述一个观点,有条理的描述一个故事,以及简洁 的回答观众的问题。如果不确信自己能不能做好个人经历的描述,那就找几个小时的空余时间,针对自己简历上一个问题来准备一个五分钟的讲解,然后拉办公室的 朋友练一练,问他们听明白了没,听的烦不烦想不想睡觉,然后再回来改进。

3.2 英语和口语交流
作为一个用英语的学术界摸爬滚打多年的PhD,我并不觉得英语和口语交流必须提出来当做一个问题,不过有一些建议。

不用害怕自己英语不好。好的演讲和交流并不需要地道的英语,而需要清晰的表述。如果能和同事们清楚表述观点,这个英语就足够了。找工作之中需要操心的事很多,这一点就不用再多操心了。

练 习最重要。乔布斯活着的时候在每次苹果产品发布会之前要反复练很久。我在PhD期间做过100多个20分钟左右的技术报告以及不少邀请的一小时左右的学术 报告。我还有一个实际点的方法:我在有空的时候会把上次面试问到的个人经历描述复习一遍,看能不能更加简洁的表述清楚。

3.3 面试的细节

诚实谦逊,以及一个信号良好的手机。

面 试的目的是找一个新的合作者加入自己的公司。大家都喜欢个诚实谦逊的合作者,这一点不用多说大家都知道。我想说的是有一次面试之后和主持面试的CTO聊天 说到的。CTO说,我很喜欢诚实谦逊的人。有些来面试的人技术水平不错,但是大家都觉得是个asshole,所以我们不能要这种人。我就问,那些人技术上 很NB么?CTO说,很偶然能遇到真NB的,多数都是不咋的还是个asshole。我说,那我懂的。

国人同胞们会传说一些 偏见,比如MITBBS的jobhunting版上就会极其鄙视amazon的面试或者印度人的面试,如果面amazon又遇到个印度人那会照死里鄙视。 不可否认amazon的面试题十分屌丝,比如会问pass by pointer和pass by reference的区别;印度人的技术水平平均来说不是很高,多数都是背书做题练出来的。可是我还是觉得面试得认真对待好好讲解,无论自己水平比负责面 试的人高到哪里去。毕竟对方也可能是你未来的同事么,对同事的提的问题再弱也得回答,对吧。最近见过个例子是自己水平不行还鄙视人家老印的,就是 jobhunting版有人贴面经,说被问pass by pointer和pass by reference的区别,他的回答让印度人很不爽。结果我一看,面试者估计是背课本出身,明显没用过这两个东西,不知道一个之后会需要 conversion一个需要casting,那还鄙视人家老印干啥呢。这种态度虽然不算asshole,但是会把面试印象弄的很差,我个人不建议。

我的建议是在面试的时候和负责面试提问的人之间主动平等的交流,如果知道怎么回答,就简单扼要的说清楚,如果不知道,那就和他讨论讨论。多知道点东西并不足以盛气凌人,对吧。

至于另外一点就是一个信号良好的手机。我的手机之前摔过好多次,以至于信号有时候会突然断掉,这个问题直到面试的中后期对方HR给安排到他们公司面试的时候实在是忍不住了和我说,你换个手机吧,真听不清啊。

4. 面试之后

三种情况:不鸟我了;再来一轮;发offer。

不鸟我了:这种情况在我身上发生一半一半,我也没什么好的办法,无非是面试之后主动和HR汇报一下面试情况督促他跟进一下,如果再不鸟就过一周催催。有过几个情况是一个月之后忽然通知下一轮面试之类的。总的来说,能做出的努力不多。

再来一轮:这是几乎另外一半情况。我的基本做法是,如果时间能安排开,就尽快安排下一轮,这样早点有结果,也省得人家忘记了。我个人还没遇到过安排好面试结果负责面试的人忘记的情况,但是见过有不少人经历过,多数是HR不负责造成的,所以主动一些可以有效避免这个情况。

发 offer:这是最鸡冻人心的时刻了,有时候是幸福来的太快。等到都申请差不多,手头有几个offer来对比,这个情况最容易做决定。不过这样的情况不 多,多数是还在有面试,手头来了一两个不错的offer,这是难办的事:可能接下来的面试面的好能有个很好的工作,但是手头的几个也不错,得一两周之内答 复。我个人经历的建议是,和手头的几个offer商量好答复时间,如果想延长可以谈谈,但不建议使劲拖着,因为见过不少给拖没了的;同时和面试公司的HR 说自己有几个offer了,督促他们尽快安排下一轮。实际效果还是不错的,这是个双向选择的事情,给对方HR点压力也合情合理。

5. 千万不能做的事

比 如去MITBBS的jobhunting逛。找到工作了去逛逛还是很有娱乐性的,不过在找工作这个烦躁的过程中去看这个地方,会给自己造成不必要的烦恼。 上面出现频率最多的几个情况可以总结为:自己水平不行来抱怨机会少和面试态度恶劣的;遇到一俩题答不上就把某些公司面试描述成很难的(中招公司列表最近加 入了Facebook);一个很简单的题能扯半天答不上来让人误以为难题满天飞的;常把“你这个都不会就想投谷歌还是再等等吧”挂嘴边让人吓的哆嗦的;谈 谈自己朋友因为找不到工作被迫回国的。找工作时候的情绪状态很重要,自己水平足够总能找到机会,不要去一些负面情绪充斥的地方让自己不开心。

比如不诚实。简历上作假啊(包括过分夸大比如某些印度哥们),收offer之后看到更好的就反悔啊,这些最终都会吃亏的。

比 如不知道自己想做什么。一个残酷的事实就是有些专业好找工作有些不好找,这个我们改变不了,就像我们不能把自己变成富二代一样。所以见过很多人放掉自己的 专长而去仓促学其他好找工作的东西,我觉得这样不好。一个实践证明过的有效的方法就是,加强自己的专长,如果有机会可以学一些别的东西,然后把这些能力综 合起来。我和我未来的头头说,你们给的工作要求会java而我不会啊,为啥找我啊?头头说,现在java developer满大街都是,而懂数学、大数据和算法又有编程经验的就不多了,而且你都搞了10年C++了,我们这里大把的java developer,学个java很快的。这是我的例子。

希望大家找工作顺利。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...