让你的简历不落窠臼,精雕细镂写一份真正的技术简历(Python向)

    孔子云:食不厌精,脍不厌细。字面意思是:粮食越精致越好,肉类切得越细越好,而实际上强调的是做事情要细致、精益求精,孔夫子阐之未尽,写简历同样不厌精亦不厌细,在上一篇文章:秋季招聘季如何制作一款“秀色可餐”的简历?由ShareLatex和Python3打造中,阐述了如何制作一款漂亮的简历模板,但这只是“外在”,一份简历真正灵魂则在于“内涵”,如果内容与模板不匹配,那无异于金玉其外败絮其中,所以吸引招聘者的还得是内容。有道是:模板为王,内容为皇。所以本次我们来讨论一下到底怎么写一份技术简历。

    基本信息(Profile)

    求职者的基本信息是首先映入招聘者眼帘的,除了姓名、性别、手机、学历、邮箱这些最“基本”的信息以外,有些细节必须要注意:英文名。在职场,有一个好的英文名几乎和我们自己的中文名一样重要,好的英文名可以提高简历的亲和力,尤其是应聘外企,连周总理(John Knight)都有自己的英文名,其重要性可见一斑。

    其次是手机号,手机号最好用"-"做344分隔,即13412332121改成134-1233-2121,这样不仅公司人力方便拨打,也可以规避拨错号的可能,还有几率给人留下一点好的印象。

    邮箱,邮箱我们作为收取offer的重要道具,不推荐使用QQ邮箱,因为QQ邮箱过于私人化而显得不专业,建议使用Gmail,能突显英语能力、暗示技术能力、彰显Geek精神,当然了我没法代表所有的 HR 或者技术经理,有一些 HR 可能会因为邮箱尾缀而对求职者的初步印象产生影响。不过,这也仅仅是一个可能性而已,就好像如果你在餐厅用餐,服务员上菜时,你可以说谢谢,也可以选择不说,说与不说的差别大吗?并不大,但这就是细节,你无法预知这个细节会不会对未来造成影响,可是如果你说了谢谢,好像并没有什么坏处。

    技术博客地址(Github),在目前的市场环境中,它的重要性不言而喻,抛开技术博客能够帮你沉淀技术、记录轨迹、结交朋友等等优点,博客就是你的名片、宣传单。经过观察,应聘开发岗的人,其表述能力特别重要,表述能力好的,都是写文字写的比较多的。因为他们在写自己文章的时候,是自己的第一个读者,哪些句子不通顺, 哪些语法有错误,马上就能体会到,就可以慢慢改正,于是这个人的表述能力和概括能力相应的就提高了。这样的人做开发没问题,做项目经理也没问题,总之与人沟通会非常之顺畅。最后,技术博客真正可以带来各种想不到的好机会,让其他人更好的赏识你。

    Linkedin,领英是一个专业的招聘、求职、社交平台。最好注册一个,然后写在你的个人信息里,其好处大概有两点:学习并更新行业最新技术,各个行业的大佬、骨灰级企业都会在这个平台更新最新技术、展示公司形象和实力。对于很多中小型企业来说,可以学习最前沿的技术,并能了解行业发展的新动态。积累人脉,在某个行业时间长久,并且不断学习,人脉广阔,不仅方便工作上更进一步,同时也会有专业的猎头公司注意到你,无论是纵深发展,还是横向扩展都有极大利好。

    求职意向(Object)

    这个细节很多应聘者可能会忽略,一名 HR 可能会接受不同职位的简历,如果简历上没有注明应聘的职位,HR 也就不知道怎么去判断求职者合不合适了,最简单的方法,直接看下一份简历,反正简历多的看不过来,所以求职意向必须说清楚自己的目标职位,例如前端工程师,爬虫工程师,这个意向可以根据岗位的不同而随时更改。

    自我评价(Summary)

    自我评价非常重要,也是HR开始了解求职者的第一步。一开始不知道从何下笔的时候,可以根据目标职位的职位要求来参考,而且当看到目标职位都要求熟悉协程、生成器而自己不太理解的时候,就是非常好的补习机会了,面试提问的几率非常大。

    这里我们假设求职者有意向的一家公司的岗位描述与要求如下:

    Python爬虫工程师 岗位描述:
    负责爬虫系统架构设计和开发; 参与设计系统技术方案,核心代码开发和系统调优; 参与各专项技术调研,新技术引入等; 

    岗位要求:
    2年 或以上 Python 开发经验,本科及以上学历,计算机相关专业; 热爱计算机科学和互联网技术,精通 Python 语言,熟悉正则表达式,熟悉 MySQL 数据库; 熟悉 Python 网络编程,能够设计和维护基于 TCP/IP 协议的高性能事件驱动框架程序; 有强烈的求知欲,优秀的学习和沟通能力;

    我们就可以针对这个岗位写自我评价:

    两年 Python 后端开发经验,熟悉 Scrapy 框架,作为主力工程师参与设计与开发过多个项目,负责系统核心模块的开发,自动化测试与部署。熟悉 HTTP 协议、TCP/IP 协议,了解正则表达式,XPATH的用法,了解 Redis,MySQL 数据库与 Linux 系统的常见机制与原理。有优秀的学习能力和团队沟通能力,经常与团队进行技术分享,能与团队共同成长。

    简介/工作经历/项目经验中的关键字应该加粗。这里的第一条首先突出个人的开发经验,简单介绍之前主要工作职责(有爬虫开发,自动化测试与部署经验)。第二条展现自己的符合岗位要求的专业知识与技能列表,第三条列出软技能,以与团队进行技术分享为例子,突显出团队合作的能力。

    技能列表(Skills)

    HR会直接在简历中搜索关键字,如果没有的话就会直接筛掉。所以技能列表可以按照类型把自己最擅长的工具列上去,同时根据熟悉程度由左至右进行递减排列,另外非常重要的是,最好和目前流行的技术栈挂钩,比如现在2020年,你还写非常熟悉JQuery,就显得有些过时,同时也需要对应招聘岗位描述中出现的技术点,至少保证90%左右的吻合度。至于市面上流行的技术栈可以参考Github上每个语言生态系统(JavaScript,Python,Ruby 等)中排名前 50 位的开源包,它们都被数量众多的项目依赖,也就是说这些技术是目前所流行的。

    工作经历(Work Experience)

    工作经历一般情况下就是如实填写,但是一定要记住一点,必须倒序展示,也就是最近的工作经历要写在最上面,内容包括:公司名称、职位名称、工作时间和工作描述。这里涉及公司名称要注意一点,一般情况下使用公司全称,但是如果该公司是因为其产品而远近闻名,就应该直接用产品名称,比如“北京智者天下科技有限公司”,基本没人听说过,也没有震撼力。但是如果你写“知乎(zhihu.com)”,就能为你的工作经历加上印象分。

    项目经验(Project Excerience)

    项目经验是开发人员写简历时非常重要的一环,它是直接影响能否预约面试的因素之一,描述项目经验有个经常会犯的错误,就是写成流水账,无意义的描述过多。比如下面这种描述:

XXX平台 根据项目任务要求完成规划工作和按时完成软件开发。

完成爬虫模块,展示模块。

开发后台管理系统,实现自定义分页,第三方登录。

完成数据整理与入库功能。

    技术经理很难从这样的描述中得到真实有效的信息,也无法判断求职者的技术能力。而如果我们根据项目本身做细化描述,从背景到做了什么,怎么做的,用到什么工具等几个方面来详细描述:

作为组长负责设计和开发基于Scrapy的分布式短视频抓取系统,优化爬虫策略和防屏蔽规则,利用Redis维护ip代理池,提升短视频抓取的效率和质量。
使用Jenkins自动化部署服务,提高系统可用性
使用Go lang对抓取框架进行重构,提高了200%的爬虫效率
利用Docker对项目进行重新拆分和架构,减少项目模块之间的资源耦合度,实现了持续集成
使用MarkDown编写公司技术文档以及维护,定期review团队的代码,与团队成员共同进步
使用Selenium和puppeteer针对反爬虫进行反复测试和改进抓取方案
整合微信,微博,qq等多个三方登录平台(Oauth2),打造一键式社交账号绑定系统,提高用户体验

    当然了,也不用描述的太细,那样就有些矫枉过正,你觉得有意思并且值得一说的功能点或者技术点重点说明一下即可,你没有参与或者相对简单普通的功能则一笔带过。项目也不宜过多,最多三个具有代表性的就可以了,同时也要注意最近一次做过的项目一定要排在上面展示,以此类推,重点准备的也是最近的这个项目。

    另外一个加分项就是个人所维护的开源项目,很大一部分研发人员,视野太窄,只知道自己做的这一块,缺乏大局观。个人做项目,可以体会到需求方的想法,体会到如何沟通,体会到整体的开发周期如何控制,这些对于工作中独挡一面是很有好处的,所以在项目经验中如果能出现个人项目,招聘者绝对会对你刮目相看。

    最后有一个细节,就是简历所使用的字体,根据以往的经验,我们会保守的采用黑体、宋体、或者微软雅黑等字体,但是在现代化的今天,在字体上追求个性化和时代感能给你带来更多的机会,想象一下,在一个昏昏欲睡的下午,公司里的HR刚刚吃了午饭,打着饱嗝点开邮箱,迎面而来的是一封封死板的、无趣的简历,此时一封带着性格、赏心悦目的简历突然出现,肯定会顿时惊为天人。

    这里内容相同的一份简历,如果我们采用普通的宋体字。

    采用个性一点的《北魏真书》

    是不是瞬间“高大上”了一点,严肃的同时又不失优雅,这就是简历与众不同的微妙之处。

    结语:言而总之,好的简历在乎细节,需要一丝一毫精雕细镂,即所谓细节之处见真章,好的简历令人赏心悦目,心生向往,可以散发出个人魅力,不需要说话介绍却早已万语千言。