代码改变世界

赴美工作常识(Part 2 - 申请)

2013-07-10 09:24 by Cat Chen, ... 阅读, ... 评论, 收藏, 编辑

在《Part 1 - 签证》的评论中有人提到,说我还没说如何申请职位就说签证的事情了。一方面,签证的周期决定了你申请职位的时间,错过关键时间点的话就可能错过重要的机会。另一方面,传统意义上的「申请」其实不是我的强项,而我个人的做法可能对大多数人来说是不容易实践的。

首先需要说明的是,我在找工作时有两件事情是绝对不做的:

  1. 大量投简历给众多公司
  2. 为面试做任何应试准备

我找工作基本上靠内部推荐,所以我是不会投简历给众多公司的。这不仅仅是因为内部推荐会使得公司更重视,还因为我需要了解一家公司是否适合我。一家公司如果没办法吸引到我身边跟我志同道合的好友,那么它对我的吸引力也相对有限。(我选择豌豆荚的时候就是因为我认识里面不少人,并且这些都是我信任的人。)通过认识的人,我可以了解到这家公司的文化以及前景,这对我来说是非常重要的。

对于面试,我从来不尝试通过应试的方式来准备。我觉得我懂什么由我的兴趣来决定,没兴趣的事情我没必要通过机械训练来假装懂,有兴趣的事情我会研究清楚你喜欢跟我讨论什么都可以。这使得我能通过的面试都是我真正喜欢并且胜任的工作。当然,这不意味着面试前不能巩固一下自己已经掌握的知识,因为有些自己很感兴趣的事情一段时间不接触也会生疏,如果你拿我两年前的技术文章来问我很可能我也说不清楚细节。

把前提条件说清楚了,我们就可以进入正题了。

名声

听说过 Google PageRank 的人都应该知道,PageRank 的核心思想是把链接当做投票(或是论文中的引用),你的页面被其它页面链接的次数越多,那些页面自身的 PageRank 越高,你的页面的 PageRank 也就越高。同时,在做关键字匹配的时候链接的文字比你页面内容的文字更重要,如果有一个 PageRank 很高的页面链接到你的页面且链接文字是某关键字,就算你的页面内容完全不包含这个关键字也能用这个关键字搜索到你的页面。简单来说,你说你是谁并不重要,重要的是别人说你是谁。

基于同样的道理,其实你在简历上说你做过什么并不重要,至少没有你想象中的重要,真正重要的是在别人怎样说你。(简历的问题后面再说。)所以最简单的方式是去 Stack Overflow 上面回答问题,和去 GitHub 上面参加开源项目。

Stack Overflow 的门槛相对低一些,只要你敢于用英文和别人交流就行。问题并不比各种中文技术问答论坛要难,可能对于大部分人来说难度在于理解问题和用英文说清楚自己的答案。对我来说,通常看 10 个问题只有 1 个是可以回答的——有几个是问题质量太差而不值得回答的,有几个是不懂所以无法回答的,有几个是已经有很好的答案不需要重复回答的。如果你阅读问题的速度太低,建议还是先通过阅读技术书籍来提高,否则挑选问题的速度会很低。在挑选到合适的问题后,你就可以答题了。Chinglish 不重要,但写完一定要检查一遍避免犯低级错误。

GitHub 的话,要对一个项目作出贡献先要对它有相当的了解,所以门槛不低。我曾经见过有英文文章推荐一种很好的切入方法:找一个你感兴趣的知名开源项目,然后寻找它缺乏单元测试的地方,尝试帮它写单元测试。这会驱使你去研究待测代码,因为如果你不知道这些功能的边界在哪里,你是没办法写单元测试的。写好单元测试就发 pull request,一般对方是不会拒绝的,因为这绝对是纯粹的贡献,不会跟项目主导者所设想的项目发展方向有任何冲突。如果代码本身就写得完全不可测?那你就可以动手重构代码,让它变得可测,这同样会驱使你去研究代码。

简历

我偶尔会收到陌生人的简历,一部分是让我帮忙推荐给公司的,另一部分则是让我对简历提出修改建议的。我发现大多数人的简历都会包含过多的信息,结果就是重点不突出。

要写好简历,首先要理解别人是怎么读简历的。如果现在有 100 份简历放在你面前,要你挑 10 份还可以的,以及 1 份特别出众的,你会怎么读?可以很肯定的是,你不会把这当做考纲中的必考内容一页一页仔细读。你会先抽样一部分粗略看一遍,以便确定这些简历的基准线在哪里,然后才能确定那 10 份的期望是多高,那 1 份的期望又是多高。接着你以那 10 份的期望为筛选标准来看这 100 份简历,达不到期望的直接扔掉。有可能你最后剩下 15 份,你会再看第二遍并且扔掉 5 份;也有可能你最后剩下 8 份,这时候你凭记忆把接近这 8 份的另外 3 份找回来,再扔掉 1 份。最后,你从这 10 份里面挑明显好的 1 份出来。

可以说,这 100 份简历里面有 8 份是毫不犹豫能够留下的,有 85 份是毫不犹豫可以扔掉的,剩下的 7 份才是需要仔细阅读对比的。如果你的目标是成为那少部分人——直接通过的那少部分,而不是让人纠结的那少部分,那你就应该分析清楚自己的优势在哪里,并且只提能够证明这些优势的重点。多余的信息没必要提,提了只会降低信噪比。

为了适应人的阅读习惯,必须注意一下排版,引导读者的视线从上往下看,并且突出关键字。入门的话,读一下《The Non-Designer’s Design Book(写给大家看的设计书)》就足够了。前端工程师可能经常接触到网格式布局,其实道理书中也说得很清楚,就算你不理解的话你按照这种方式去设计简历也会发现可读性更高。

最后,现在主流放英文简历的地方应该是 LinkedIn。很多美国公司都会购买 LinkedIn 的服务来搜索简历和联系潜在的候选人,所以就算你已经有了很好的个人网站最好还是在 LinkedIn 保存一份简历副本。

在上述一切准备就绪之后,就可以接触公司了。找人内部推荐,或者在公司网站上传简历,其实都可以。值得提醒的是,如果你有计划要找人内部推荐,就先别自行上传简历,否则推荐可能被视为重复上传,最后系统有可能不承认这是推荐。

关于申请我能想到的就那么多了。前期工作做得足够好的话,可以省掉后期临急抱佛脚的麻烦。不要等到想换工作的时候才想办法证明自己的价值,要时刻保证自己的价值以便在想换工作的时候就能换工作。