前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >揭秘(大佬级)程序员是如何优化简历,屡出奇招获取高薪offer~

揭秘(大佬级)程序员是如何优化简历,屡出奇招获取高薪offer~

作者头像
秃顶的Java程序员
修改2020-03-17 18:48:26
2.9K0
修改2020-03-17 18:48:26
举报

为什么你投十份简历,只有一两家公司约你?又或者为什么你每投一份简历都能获得面试机会?

最根本的原因,就是一方在汲汲渴求,而恰恰另一方呈现出的关键点让其怦然心动。求者心中有所想,而应者恰恰展现了求者所想的那一面。这就是个中奥妙。

程序员在找工作时,在一开始有三件事情会对能否获得面试机会至关重要:

知识、技能、经历梳理 确立求职目标 简历优化(主要分享简历优化实操 + 如何提高简历投递成功率


知识、技能、经历梳理

知识、技能、经历,这都是一个人能体现出来的商业价值。一家企业招募某个人,一定是因为这个人可以帮助企业在某方面实现价值。而且,正常情况下,个人的贡献一定要大于企业为这个人负担的各种成本(薪水、社保、公积金、个税等),否则,要你毛用啊。

所以,作为程序员,我们一定要清楚自己的价值在哪里。个人的商业价值,可以通过下面五大要素分析出来:

- 知识 - 技能 - 经历 - 天赋 - 人脉

我们在招聘网站上填写简历时,内容最多的就是前三个要素,都是差不多的模板,填下来千人一面。

在最开始的时候,不建议直接到招聘网站上填写简历。强烈建议先用word或MarkdownPad来整理记录你认为你具备的所有有价值的知识、技能、经历,不论大小,统统记录下来。这是我们后续优化简历的基础,也是确立求职目标的基础。


1.1 知识与技能

有必要说一下知识和技能的区别,这是很多人常常混淆的。

知识可以通过语言文字、语音、视频等进行传授,比如像C++、Java、数学、物理、Qt、Android、设计模式、网络协议等都是知识。

技能是指按照某种规则应用知识和经验完成某种任务的能力。比如使用Qt开发桌面客户端软件就是一种技能,使用Java和Android界面类库开发App也是一种技能。

我的知识大概有这些:

C、C++、Java、Scala、Python、Qt、MFC、WTL、QML、Qt Quick、JavaScript、HTML、CSS、Lua、MySQL、MongoDB、XML、Json、Win32 SDK、Node.js、AngularJS、ffmpeg、VLC、DirectShow、Android、Objective-C、HTTP、P2P、RTMP、RTSP、HLS、P2P、socket、UML、软件开发模型(瀑布、迭代、Scrum等)、项目管理知识、团队管理知识、自媒体运营

知识会淡忘,一段时间不用就扔掉了,所以在你的知识图谱里,一定有一些是你经常使用的,比如我最熟悉的就是C、C++和Qt。

我们需要把自己最熟悉的三种知识标注出来,后面会派上用场。

技能就是对知识的运用,所以一般来讲你有什么知识,就能找到一组技能。比如我可能有下列技能:

- 使用Qt开发客户端软件 - 使用Qt开发服务器软件 - 使用Java开发Android App - 管理项目,制定项目计划,跟踪计划,控制项目进度 - 团队管理与激励 - 博客、公众号等自媒体运营 - ……

好啦,现在我们应该可以进行知识和技能的梳理工作了。

需要特别注意的是,每个人都有很多知识和技能,一定要找出你擅长的2~3种知识,2~3种技能,这将是你求职时的重要参考。人只有使用最擅长的技能去做事情,才能达到最好的效果。


1.2 经历

知识和技能可以帮助我们创造商业价值,而知识和技能的积累过程本身也是有价值的。积累知识和技能的过程,就是经历。

著名电影《贫民窟的百万富翁》讲述了这样一个故事:在孟买贫民窟长大的少年贾马尔参加一个名叫“谁想成为百万富翁”的节目,过五关斩六将,最终赢得了2000万卢布的大奖和他心爱的姑娘。

这个故事的神奇之处就在于贾马尔回答对了诸如“《darshan do ghanshyam》的词作者”、“1973年的动作电影《囚禁》的主演是谁”、“哪一位板球运动员是本世纪历史得分最多的”、“谁发明了左轮手枪”、“百元美钞上是哪一位美国总统的肖像”之类的问题,而这些问题连博士专家都没把握全中!这与他的身份完全不符,引起了节目主持人的质疑,认定他作弊,趁节目暂停录映,通知了警方以欺诈的罪名逮捕了贫民小子。

为什么贾马尔可以做到?随着问答节目的推进,我们发现,原来,这些问题相关的知识,贾马尔根本没有学习过,而是他独特的贫民窟生活刚好遭遇了这些问题。这就是经历的价值。

程序员的(学习、工作、项目)经历同样具有非常独特的价值,在求职过程中往往会发挥非常重要的作用。比如你做过视频项目,那再找类似做视频的公司就很容易脱颖而出;比如你做过图像处理相关的项目,进入美图秀秀之类的公司就相对容易……

在回顾项目经历时,关于你自己的那部分,一定要想明白并记录下来,从下面三点来挖掘你的亮点:

- 你负责的工作内容 - 用到的知识、技能 - 你对整个项目的贡献(最好可以量化)

我的一个项目经历:【互联网视频卡顿优化】

项目描述:

  智能机顶盒上的视频聚合客户端,在播放视频时,高峰时段或热点视频,经常卡顿。针对此问题,进行优化,以使能够对用户提供流畅的观看体验

业绩:

  播放效果大幅度提升,卡顿投诉下降80%。

职责:

  作为项目经理,负责项目范围界定、进度跟踪与控制   作为系统设计,选择技术方案,设计加速与优化算法,设计系统结构。     作为核心开发人员,负责客户端 http 基础类库的开发和服务端 http server(基于Qt)的开发。

我没有列出前面所说三点对应的所有内容,个人亮点也没完全写出来,但你的心里一定要清楚,你发挥了什么关键作用,如果有攻克技术难点的经历和明显可以量化的业绩,一定要总结出来,面试时经常会被问到哦。

天赋和人脉其实也是个人非常重要的商业价值。但在程序员的简历中较难体现出来,在面谈中倒是有较多机会展现。


确立求职目标

不管是从大学走向社会的初次求职,还是在职场摸爬滚打了N年的老鸟,找工作时都要忌讳一点:茫无目的,漫天撒网。 求职时,明确目标行业、企业、职位,有针对性的做准备,事半功倍。

在我们总结整理自己的工作、项目经历时,要特别留意那些让你特别有成就感的事件,它里面隐藏你的职业兴趣,可以挖掘出你今后乐意从事的职业方向。

我们可以遵循STAR原则来回顾成就事件:

- S(Situation),背景情况,包括面临的障碍、限制或困难 - T(Task),任务,目标,想完成的事情 - A(Action),行动计划与步骤,如何克服障碍、达成目标 - R(Result),对结果的描述,重点关注你取得了什么成就

成就事件列出来后,可以按照下面两点来深入挖掘:

- 哪一个具体的点让你特别有成就感,比如“达成结果受到领导表彰”、“独立克服某个技术难题”、“用自己的XXX帮到了某某某”、“成功组织大家齐心协力达到目标”……

- 用到了什么知识、技能

通过这样的分析,你就可能找到自己的最佳技能和工作中最在意的点在哪里,就可以根据他们来确立新的职业目标。


简历优化实操

知道了自己有什么商业价值、弄清了想到什么样的行业什么样的企业里什么样的岗位上工作,接下来就该优化简历了。

简历优化有这么几个要点:

- 分析招聘信息,提取知识、技能、职责当中的关键词 - 根据招聘信息里的关键词,筛选个人知识、技能、经历 - 将匹配到的知识、技能、经历重新组织、呈现

程序员的简历,一般包含下列内容:

- 基本资料(姓名、性别、年龄、婚否、电话、当前在职状态) - 求职意向(职位、工作地点) - 知识、技能 - 自我评价 - 教育经历 - 工作经历 - 项目经验 - 附加信息(比如兴趣爱好、荣誉、博客、开源项目等)

根据实际情况,有的简历可能没有自我评价、附加信息,有的可能没有可写的教育经历(比如高中生),有的可能没有工作经历和项目经验(如大学生等初次求职者)。

特别提一下程序员的一些个人品牌相关的附加信息(具体参看这8种武器点亮程序员的个人品牌),比如技术博客、github主页、参与的开源项目、自己做的App、公众号等,都是能非常好展现程序员知识、技能的东西,能为你的简历加分,也能弥补面试时间短信息交流补充分的问题。要知道,决定你能否通过简历关的,通常是另外一个程序员,而对聪慧内敛的程序员致敬的最好方式,就是“Show me the code”。


简历模板

很多程序员都使用招聘网站提供的简历模板,要在不同招聘网站上发布简历的话,可能要重复填写5、6次简历,非常耗时。我一般会有一份基础的word格式的简历,根据它在不同的招聘网站创建不同的简历。

接下来介绍我的简历,非常简单,顺次包括下列五部分内容:

1. 个人信息 2. 求职意向 3. 技能与评价 4. 工作经历 5. 项目经验

我简历的前三部分简单如下:

个人信息

  男,xxxx年xx月xx日生于xxx地方   2002年毕业于西安交通大学,电子信息工程专业,学士学位   153xxxxxxxx,foruok@163.com   已婚

求职意向

  高级软件开发工程师,西安

技能与评价

  7年部门管理经验,丰富的项目、团队管理经验   7年嵌入式开发经验,在互联网电视机顶盒、车载娱乐系统、手持娱乐设备(MP3/MP4)等领域有成功经验   丰富的软件系统架构设计经验   熟悉常见的设计模式,有丰富的面向对象设计经验   精通C/C++,熟悉Java,Shell,了解python,Lua,JavaScript等   可熟练在Android、嵌入式Linux、Windows CE、Windows、Linux等平台下进行开发   熟悉Android/Qt(E)/MFC/WTL等GUI框架   熟悉DirectShow/GStreamer/MPlayer/FFMPEG/VLC/Vitamio等多媒体框架   熟悉网络编程,熟悉各种流媒体协议(http/HLS/rtmp/p2p/rtsp等)

工作经历

2014.12~2015.12,陕西XX网络科技有限公司   ·职位:技术总监   ·职责:团队组建、管理、技术方向把握、项目管理、产品管理   ·业绩:3个月组建10人团队 2014.11~2014.12,北京XX有限公司(西安)   ·职位:平台组高级软件开发工程师   ·职责:跨平台软件开发   ·业绩:解决了Qt在Android和iOS两个平台与原生UI叠加的问题 2008.01~2014.09,西安XX软件科技有限公司   ·职位:CMC部门经理   ·职责:    1). 部门员工组织、领导、管理、激励,绩效考评    2). 项目计划、实施、跟踪、管理    3). 技术路线评估与选择    4). 系统分析与设计    5). 关键模块代码实现   ·业绩:    1). 2009年至2010年,负责组建机顶盒开发团队与互联网视频搜索开发团队,并带领团队,完成了技术积累和产品探索,使得公司成功进入新的行业领域,完成公司的业务转型    2). 2012—2013年,负责组建智能机顶盒团队,完成机顶盒产品智能化转型    3). 2012.07—至今,主持智能机顶盒产品研发    4). 2011.10—2012.06,主持第二代高清互联网机顶盒产品研发    5). 2009.05—2012.01,负责第一代高清互联网机顶盒产品研发与改进

好了,我简历的主体框架就是这样子了。接下来,我会根据我的目标职位——高级软件开发工程师——来找几条招聘信息,通过分析招聘信息来优化简历的技能与评价、项目经历两个部分。这两部分也是我们优化简历时的重点。


简历优化

大多数招聘需求是由我们的同行提供的,假如能从招聘信息里反推出拟定招聘需求的那个软件工程师或经理心中的关键词,那你的简历优化就有针对性了。

下图是一个招聘需求:

红线标注出来的,是一些关键的基本要求,C++、Qt、Windows桌面客户端,这些是硬性要求,要应聘该岗位必须要满足。

绿线标注出来的,是软性要求,不太容易直接量化和衡量,但面试官可能会在面试中通过交谈来考察。比如软件设计能力、技术传播能力、沟通能力、沟通与团队协作等,通常都是在面试中体现,而编码能力,则可能会通过笔试或者面试中不断的询问技术细节来检验。

蓝线标注出来的,是优选条件,在有多个候选人的情形下,你具备了这些要素,就会被优先考虑。

一般的企业处理软件开发工程师的简历,是HR先挑,然后是技术人员(程序员或经理)再次筛选,通过技术人员的筛选后,就会通知笔试或者面试。

HR拿到招聘需求,会和技术人员沟通要关注的关键点,然后根据这些关键点挑选合适的简历。通常在HR眼里,关键点就是关键词,所以,我们修改简历时,尽可能使用招聘信息里出现的字眼,便于HR识别。HR看一份简历,多则一分钟,少则20、30秒。

技术人员筛选简历,通常比HR要细一些,大致分两步,先筛关键词,然后是看项目经验里是否体现出了他们发布的岗位需要的技能和软实力。关键词匹配不上,PASS,30秒不到;能匹配上,继续看项目经验,整个过程可能会持续几分钟。

在看项目经验时,一方面看应聘者在项目中是否用到了将来需要的相关技能,另一方面看具体项目内容,做行业、产品、业务相关性比对,如果应聘者做的产品与招聘方要做的相关性高,就会被优先考虑。

通过对简历筛选流程的了解,可以知道关键词的重要性了。


那接下来我们就要依据从招聘信息中提取的关键点来修改简历了。

在修改简历时,我的做法是尽可能多的在简历中体现企业要求的技能及软实力。一般可以在下面两处反复琢磨:

1. 技能与评价 2. 项目经历

结合我的简历,先看技能与评价部分怎么修改。

因为目标职位是高级软件开发工程师,招聘信息也没有特别体现对管理能力和经验的要求,所以我的管理经验可以淡化或拿掉。然后是突出C++、Qt、软件设计、技术传播等内容。新的版本如下:

技能与评价

  · 9年C++开发经验,精通C++,熟悉STL   · 5年Qt开发经验,基于Qt开发过8个商业项目,代码超过30万行   · 熟悉面向对象编程   · 熟悉GoF设计模式   · 丰富的软件设计、软件架构经验   · 熟悉MFC,熟悉网络编程,熟悉多媒体及各种流媒体协议   · 热衷技术传播,推动了Qt在团队和公司内的普及

新版本兼顾了硬性要求、软性要求和优选条件,与初始版本有明显不同。

接下来,我们就要重新组织、呈现项目经历,让它更多地体现企业HR、面试官所关注的关键点。下面是我的一个具体的项目经验:

2009.05—2011.09,跨平台视频点播系统 项目描述:面向电信运营商和零售市场的综合性视频服务产品,具有视频导航、搜索、点播、直播、天气、资讯、股票、教育等功能。产品形态有机顶盒、Windows客户端、Linux客户端等。 软件环境:Embedded Linux,Qt Embedded 4.5.1,Qt 4.5.1,C/C++ 硬件环境:全志 F20芯片方案、PC 角色:项目经理、核心程序员 职责与工作内容:   1).软件系统结构设计   2).基于Qt GraphicsView框架设计实现十字菜单、影视信息墙   3).基于Qt的客户端业务流程代码实现   4).基于Qt实现认证模块   5).团队组建与项目管理 业绩:   1).开发了稳定、性价比高的互联网机顶盒产品,打开了电信市场,销量超过30万台。   2).在团队里推广Qt,形成了技术积累   3).提供Windows及Linux客户端,为客服、运维、售后提供了强有力的支撑

这个招聘需求,和我的匹配点主要在技能(C++、Qt)需要特别提醒的是,简历优化是针对程序员知识、技能、经历进行的穿衣打扮,是从不同的视角呈现不同的侧面,可以用心琢磨,但万万不可造假。


检验优化效果

提供一个检验你简历优化水平的方法:

- 将你钟意的企业和职位分为A、B、C三类,A是最符合你目标的,B与你最核心的诉求匹配,C类呢可能抵触了你的某些核心价值观。

- 针对C类公司的职位,测试你的简历优化技能,找三五家来练手,投递简历,简历过了就去面试,攒面试经验。 - C类之后进行B类,最后是A类。

这样的过程,能保证你先练简历和面试技术,然后以最好的状态走向你最心仪的公司最钟意的职位。


如何提高简历投递成功率

根据前面的分析,要想提高简历投递的成功概率,遵循下面的流程将非常有帮助:

1. 梳理知识、技能、经历并记录在案,形成基础简历 2. 确立求职目标 3. 筛选招聘信息,选择匹配自己目标的公司和职位 4. 针对每个招聘信息进行分析,提取关键词 5. 根据关键词,结合基础简历,优化技能描述和项目经验,生成一份有针对性的简历

根据我自己的经验,一天可能只能完成3份左右的简历投递。因为,针对每一个职位生成一份有针对性的简历,可能会花费1到2个小时时间,有时甚至更长。不过,花再多的时间都是值得的,因为这种优化将大大提高你简历通过的概率。


版权声明:本文为CSDN博主「foruok」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/foruok/article/details/50726021

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识、技能、经历梳理
  • 确立求职目标
  • 简历优化实操
  • 如何提高简历投递成功率
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档