《花千骨》一剧,白子画为什么收花千骨为徒? 《琅琊榜》中,梅长苏为什么选靖王而弃太子、誉王? 《泰坦尼克号》里,杰克和露丝为什么会一见钟情? 王子基特为什么会选择灰姑娘辛德瑞拉? 这些问题乍一看似乎和程序员找工作没什么关系,其实,里面的道理都是通的。你想想,为什么你投十份简历,只有一两家公司约你?又或者为什么你每投一份简历都能获得面试机会? 最根本的原因,就是一方在汲汲渴求,而恰恰另一方呈现出的关键点让其怦然心动。求者心中有所想,而应者恰恰展现了求者所想的那一。这就是个中奥妙。 程序员在找工作时,在一开始有三件事情会对能否获得面试机会至关重要:
【01】知识、技能、经历梳理知识、技能、经历,这都是一个人能体现出来的商业价值。一家企业招募某个人,一定是因为这个人可以帮助企业在某方面实现价值。而且,正常情况下,个人的贡献一定要大于企业为这个人负担的各种成本(薪水、社保、公积金、个税等),否则,要你毛用啊。 所以呢,作为程序员,我们一定要清楚自己的价值在哪里。个人的商业价值,可以通过下面五大要素分析出来:
我们在招聘网站上填写简历时,内容最多的就是前三个要素。 招聘网站的简历模板大部分根据知识、技能、教育经历、工作经历、项目经历几部分来设计,一路填下来就OK了,然后大家的简历看起来就比较模式化,然后千人一面,然后…… 扯远了,回到知识、技能、经历梳理上来。 在最开始的时候,不建议直接到招聘网站上填写简历。强烈建议先用word或MarkdownPad来整理记录你认为你具备的所有有价值的知识、技能、经历,不论大小,统统记录下来。这是我们后续优化简历的基础,也是确立求职目标的基础。 1.1 知识与技能有必要说一下知识和技能的区别,这是很多人常常混淆的。 知识可以通过语言文字、语音、视频等进行传授,比如像C++、Java、数学、物理、Qt、Android、设计模式、网络协议等都是知识。 技能是对知识和经验的应用能力。比如使用Qt开发桌面客户端软件就是一种技能,使用Java和Android界面类库开发App也是一种技能。
有了上面的知识和技能的概念,就比较容易搞明白知识与技能的区别和联系了。我的知识大概有这些:
知识会淡忘,一段时间不用就扔掉了,所以在你的知识图谱里,一定有一些是你经常使用的,现在最熟悉的,比如我最熟悉的就是C、C++和Qt。 我们需要把自己最熟悉的三种知识标注出来,后面会派上用场。 技能就是对知识的运用,所以一般来讲你有什么知识,就能找到一组技能。比如我可能有下列技能:
好啦,现在我们应该对知识和技能比较清楚了,应该能梳理出自己掌握了哪些知识和技能了。值得一提的是,往往在说明技能的同时就列出了知识。 需要特别注意的是,每个人都有很多知识和技能,一定要找出你擅长的2~3种知识,2~3种技能,这将是你求职时的重要参考。人只有使用最擅长的技能去做事情,才能达到最好的效果。 1.2 经历知识和技能可以帮助我们创造商业价值,而知识和技能的积累过程本身也是有价值的。积累知识和技能的过程,就是经历。 著名电影《贫民窟的百万富翁》讲述了这样一个故事:在孟买贫民窟长大的少年贾马尔参加一个名叫“谁想成为百万富翁”的节目,过五关斩六将,最终赢得了2000万卢布的大奖和他心爱的姑娘。 这个故事的神奇之处就在于贾马尔回答对了诸如“《darshan do ghanshyam》的词作者”、“1973年的动作电影《囚禁》的主演是谁”、“哪一位板球运动员是本世纪历史得分最多的”、“谁发明了左轮手枪”、“百元美钞上是哪一位美国总统的肖像”之类的问题,而这些问题连博士专家都没把握全中!这与他的身份完全不符,引起了节目主持人的质疑,认定他作弊,趁节目暂停录映,通知了警方以欺诈的罪名逮捕了贫民小子。 为什么贾马尔可以做到?随着问答节目的推进,我们发现,原来,这些问题相关的知识,贾马尔根本没有学习过,而是他独特的贫民窟生活刚好遭遇了这些问题。这就是经历的价值。 程序员的(学习、工作、项目)经历同样具有非常独特的价值,在求职过程中往往会发挥非常重要的作用。比如你做过视频项目,那再找类似做视频的公司就很容易脱颖而出;比如你做过图像处理相关的项目,进入美图秀秀之类的公司就相对容易…… 在回顾项目经历时,关于你自己的那部分,一定要想明白并记录下来,从下面三点来挖掘你的亮点:
我的两个项目经历如下:
我没有列出前面所说三点对应的所有内容,个人亮点也没完全写出来,但你的心里一定要清楚,你发挥了什么关键作用,如果有攻克技术难点的经历和明显可以量化的业绩,一定要总结出来,面试时经常会被问到哦。
【02】确立求职目标前戏太长,可能有的朋友已经失去耐性了。别急,高潮马上来临…… 不管是从大学走向社会的初次求职,还是在职场摸爬滚打了N年的老鸟,找工作时都要忌讳一点:茫无目的,漫天撒网。 求职时,明确目标行业、企业、职位,有针对性的做准备,事半功倍。 2.1 职业延续性跳一次槽换一个行业,跳一次槽换一门开发语言,这样极其不利于程序员的商业价值积累(知识、技能、业务等)。假如你不是第一次求职,就有必要考虑职业延续性。 假如你现在在金融行业,那换工作时,最好还在里面。这样你的行业相关的经验就可以积累下来,慢慢形成优势。假如你现在做iOS开发,最好换工作时还找iOS相关的,这样你的Objective-C啊,Swift啊、Cocoa啊才能持续精进。…… 当然,如果你发现你不喜欢现在的行业,也不喜欢现在所用的技术,那也没关系,下面的方法可以帮你找到新的兴趣点。一旦你找到新的方向,转换过去之后,同样要考虑以后的延续性哦。每次都说自己不喜欢现在的,更喜欢另一个,这样捣腾几年之后,你很可能会发现,那些闷生不响持续深耕的小伙伴们居然一夜之间都牛逼闪闪起来了…… 2.2 成就事件挖掘职业兴趣在我们总结整理自己的工作、项目经历时,要特别留意那些让你特别有成就感的事件,它里面隐藏你的职业兴趣,可以挖掘出你今后乐意从事的职业方向。 我们可以遵循STAR原则来回顾成就事件:
一旦有成就事件,就可以继续挖掘。知道High,还是知道因为什么而High,用了什么东西才这么High。可以按照下面两点来分析:
通过这样的分析,你就可能找到自己的最佳技能和工作中最在意的点在哪里,而有了这些,就可以根据他们来确立新的职业目标。 【03】简历优化假如你不知道自己有什么商业价值、不知道软件开发工程师是否适合自己、不知道想到什么样的行业什么样的企业里什么样的岗位上工作,那我们铺垫了那么长时间的前戏就白费劲了…… 我相信你要接着往下看,一定是心有所属情有所钟,很想真刀实枪来个痛快的。OK,闲言少叙,咱们这就切入正题了。 简历优化分这么几个要点:
3.1 聚焦行业、企业、职业聚焦的目的是缩小目标范围,节省时间和精力,深入研究分析,有针对性的对自己的商业价值进行优化组合,提高简历的吸引力,最后提升获取面试机会的概率。 程序员运用编程语言、技术框架、设计模式、算法等开发针对某个领域问题的软件,软件必然和目标需求和业务密不可分,所以,程序员左手技术,右手业务,假如你对业务内容完全不感兴趣,很难想象你可以把软件做好。因此,当你有了目标产业,目标公司,还要去了解这家公司做什么产品,是产品导向的公司,还是项目导向,还是外包为主,选择那家你对它的业务范围感兴趣的公司,不感兴趣的就果断筛掉。 还是拿我自己为例,我之前有5、6年在消费电子领域工作,开发智能机顶盒软件,涉及视频点播、视频直播,对流媒体有一些研究。最近一年在互联网这块创业。基于延续性的考量,以往工作过的行业领域都需要认真对待,但不一定非要继续在之前的方向上做,换一换也可以。 有的人比较随意,不太珍惜积累,比如看见这家企业HR比较漂亮,就可能一时心血来潮就不管不顾,换行业换技术都在所不惜,总之死活都要去。我呢也比较随意,不过不是因为漂亮的HR或前台,而是生来如此,后天又有意刻意的修炼,导致现在有点儿随遇而安没什么追求。所以,关于行业,我本身其实不太考虑……但有一个基本的原则,不希望进入夕阳产业,也不希望进入走下坡路的企业。 就技术方面来讲,我最擅长的语言是C++,最擅长的框架是Qt(出过《Qt on Android核心编程》和《Qt Quick核心编程》两本书),最擅长的是客户端软件开发。新的职位最好能用上我擅长的知识与技能。
啰里啰嗦那么多,我现在锁定的目标是高级软件开发工程师,语言是C++。行业领域的话,互联网、智慧城市、云服务等都可以。还有,我之前都在小公司摸爬滚打,现在希望到比较大一点的公司里体验一下不同的工作氛围。嗯,这是基本诉求了。 如果找软件开发工作,我现在有两个不好的点:
不过,换个角度想想,其实也没什么,我做过管理创过业,再回来做开发不是更稳定嘛。 好啦,我的聚焦过程已经完成了,接下来咱们进入简历优化的实操过程。 3.2 简历优化实操程序员的简历,一般包含下列内容:
根据实际情况,有的简历可能没有自我评价、附加信息,有的可能没有可写的教育经历(比如高中生),有的可能没有工作经历和项目经验(如大学生等初次求职者)。 特别提一下程序员的一些个人品牌相关的附加信息(具体参看我的微信订阅号“程序视界”里编号10080的文章:这8种武器点亮程序员的个人品牌),比如技术博客、github主页、参与的开源项目、自己做的App等,都是能非常好展现程序员知识、技能的东西,能为你的简历加分,也能弥补面试时间短信息交流补充分的问题。要知道,决定你能否通过简历关的,通常是另外一个程序员,而对聪慧内敛的程序员致敬的最好方式,就是“Show me the code”。 3.2.1 简历模板很多程序员都使用招聘网站提供的简历模板,要在不同招聘网站上发布简历的话,可能要重复填写5、6次简历,非常耗时。不过这也是没办法的事情,各家平台不统一数据交换格式,只好麻烦求职者了。我一般会有一份基础的word格式的简历,根据它在不同的招聘网站创建不同的简历。 接下来介绍我的简历,非常简单,顺次包括下列五部分内容:
我简历的前三部分简单如下:
我工作年限长,工作经历与项目经历有很多,逐一列举有堆砌字数之嫌,前面已经列出了两个项目经历这里不再重复,下面列最近的几段工作经历:
好了,我简历的主体框架就是这样子了。接下来,我会根据我的目标职位——高级软件开发工程师——来找几条招聘信息,通过分析招聘信息来优化简历的技能与评价、项目经历两个部分。这两部分也是我们优化简历时的重点。 3.2.2 简历优化我拟定过很多次软件开发工程师的招聘需求,技术方面涵盖C++、Java、Android、Web前端等,每次我心里都会浮出一些关键词,这些关键词会进入招聘信息。 反过来,当我去应聘时,我也总希望能从招聘信息里反推出拟定招聘需求的那个软件工程师或项目经理或部门经理心中的关键词,大多数时候是可以的。当你找到了这些关键词,你的简历,就成功了一半。 接下来我们就挑几个招聘需求来看看。 第一个招聘需求如下图所示: 红线标注出来的,是一些关键的基本要求,C++、Qt、Windows桌面客户端,这些是硬性要求,要应聘该岗位必须要满足。 绿线标注出来的,是软性要求,不太容易直接量化和衡量,但面试官可能会在面试中通过交谈来考察。比如软件设计能力、技术传播能力、沟通能力、沟通与团队协作等,通常都是在面试中体现,而编码能力,则可能会通过笔试或者面试中不断的询问技术细节来检验。 蓝线标注出来的,是优选条件,在有多个候选人的情形下,你具备了这些要素,就会被有限考虑。 一般的企业处理软件开发工程师的简历,是HR先挑,然后是技术人员(程序员或经理)再次筛选,通过技术人员的筛选后,就会通知笔试或者面试。 HR一般不大懂技术的东西,他们拿到招聘需求,会和技术人员沟通要关注的关键点,然后根据这些关键点挑选合适的简历。通常在HR眼里,关键点就是关键词,所以,我们修改简历时,尽可能使用招聘信息里出现的字眼,便于HR识别。HR看一份简历,多则一分钟,少则20、30秒。 技术人员筛选简历,通常比HR要细一些,大致分两步,先筛关键词,然后是看项目经验里是否体现出了他们发布的岗位需要的技能和软实力。关键词匹配不上,PASS,30秒不到;能匹配上,继续看项目经验,整个过程可能会持续几分钟。 在看项目经验时,一方面看应聘者在项目中是否用到了将来需要的相关技能,另一方面看具体项目内容,做行业、产品、业务相关性比对,如果应聘者做的产品与招聘方要做的相关性高,就会被优先考虑。 通过对简历筛选流程的了解,可以知道关键词的重要性了。那接下来我们就要依据从招聘信息中提取的关键点来修改简历了。 在修改简历时,我的做法是尽可能多的在简历中体现企业要求的技能及软实力。一般可以在下面两处反复琢磨:
结合我的简历,先看技能与评价部分怎么修改。 因为目标职位是高级软件开发工程师,招聘信息也没有特别体现对管理能力和经验的要求,所以我的管理经验可以淡化或拿掉。然后是突出C++、Qt、软件设计、技术传播等内容。新的版本如下:
好啦,和之前的版本比较一下,现在的内容,,是不是已经有很大不同了?调整之后,已经兼顾了硬性要求、软性要求和优选条件。 接下来,我们就要重新组织、呈现项目经历,让它更多地体现企业HR、面试官所关注的关键点。下面是我的一个具体的项目经验:
这个招聘需求,和我的匹配点主要在技能(C++、Qt),接下来这个,则主要匹配的是业务(行业)经验。 红线标注出了基本要求:C/C++、Linux。 绿线标注的软性要求,一部分是不太容易量化的技能,比如精通多线程、独立设计经验等,一部分是产品业务相关的,比如音视频编解码、封装、流媒体、网络协议、视频业务系统等。 这则招聘信息中有两个优选条件,不过和我的知识、技能都不匹配。 看一个程序员的知识、技能、经历和看山类似,横看成岭侧成峰,远近高低各不同。要想提高与招聘信息的匹配度,就要想办法从不同的角度挖掘、呈现,这样看着不合适,那样看着就可能刚刚好。所以,如何选取角度就变得很重要。 一个程序员的知识、技能、经历,横看成岭侧成峰,角度很重要。 来看看新修改的技能与评价:
和面向上一个招聘信息的内容又有了较大差异,是不是? 这次我改两个项目经历,都是之前改过的,方便比较不同。第一个:
这次我将重点放在了多媒体、设计等方面,与前面那份有了很大不同。 再来看文章最前面提到过的一个互联网视频卡顿的项目经验,新版本如下:
嗯,我觉得已经改出不一样的效果了。 需要特别提醒的是,简历优化是针对程序员知识、技能、经历进行的穿衣打扮,是从不同的视角呈现不同的侧面,可以用心琢磨,但万万不可造假。 3.3 检验优化效果如果你确定了求职目标,也能有针对性的优化简历,但对结果比较忐忑,不知道自己优化得怎么样是否能不能打动HR的芳心,这里有一个方法可以试(别说我告诉你的):
这样的过程,能保证你先练简历和面试技术,然后以最好的状态走向你最心仪的公司最钟意的职位。 【04】如何提高简历投递成功率根据前面的分析,要想提高简历投递的成功概率,遵循下面的流程将非常有帮助:
根据我自己的经验,一天可能只能完成3份左右的简历投递。因为,针对每一个职位生成一份有针对性的简历,可能会花费1到2个小时时间,有时甚至更长。不过,花再多的时间都是值得的,因为这种优化将大大提高你简历通过的概率 天啦撸,终于到结尾了,意犹未尽的请看(点击可查看):
程序视界 原创 | 有料 | 有趣 | 高能 |
|