Resume

简历怎么写之基础篇

Overview

因机缘巧合收到太多简历, 我根本看不过来… 这里系统性的介绍下 Data 简历怎么写. 篇幅会很细很长, 所以按照简历的结构分成几篇笔记.

这些简历里有很多是常识性的问题, 在学生或 NG 身上特别常见, 如果你看完这些笔记受到启发, 自行改进即可.
本人背景是5 yoe in data industry. DS, AI/ML, DE都做. 曾经也做过Data相关的培训机构, 包括CV Review, Mentorship.

简历的组成部分, 其他的笔记会按照这个顺序讲解

  1. Header
  2. Education
  3. Skills
  4. Experience
  5. Projects
  6. Certificates

北美简历的常识:

  • 众所周知北美的 Politically Correctness, 因此不要放任何或涉及到歧视的个人信息在简历里, 比如性别, 年龄, 人种, 照片之类的.

简历筛选的流程:

  • Applicant Tracking System (ATS) 是一个程序, 用于收集, 存储, 筛选, 排名简历. 以及追踪面试进度. 这里重点关注它的筛选机制.
  • Filtering: 每个工作都有Job Description, ATS 会根据 JD (job titles, keywords, qualifications) 来初筛你的简历是否合格. 然后再人工筛选.
  • 机筛: 机筛其实很容易, 只要微调简历去match JD就行. 比如JD里说”Develop Machine Learning models”, 但你的简历写的是”Built ML models”. 你最好把关键字换成”Developed”和”Machine Learning”
  • 人工筛选: 我们重点关注这个部分, 因为平均Recruiters看简历只花6-7s! 说明不符合标准的简历可能1s就被删了, 只有符合标准的简历才会被Recruiters花更长时间细看. 那么重点就是如何在这么短的时间里让Recruiters愿意往下看你的简历呢? 请看后续笔记

最后总结一下, 好简历的特征:

  • 符合JD
  • 有吸引力
  • 体现专业性

之前提到在人工筛选中, 平均 Recruiters 看简历只花6-7s. 假设看简历的时长符合正态分布, 那不符合标准的简历最多1-2s就被删了, 只有有吸引力的简历才会值得 Recruiters 花更长时间细看.
这是不是很像网购?

想象一下你在Amazon选购一个DS商品, 但是搜索结果蹦出来一个DA, 你肯定都懒得点进去看; 如果这个商品挂着DS的名字, 但里面全是DE的内容, 你肯定也会觉得挂羊头卖狗肉. 确定要买iPhone的人不会浪费时间看Android手机的, 哪怕广告怼在他脸上也不会.

因此, 把自己当做商品推销给潜在的雇主, 只有简历上的产品名符合筛选标准, 才有机会被比较性能参数. Header就是如何让你简历拥有足够的吸引力, 让Recruiters花更多时间细看你的专业内容.

Header的组成部分

  • Name
  • Title
  • Executive Summary
  • Contact Info (email, mobile, LinkedIn, portfolio website, GitHub, Kaggle)
  • Location

Title -> 产品名

  • 这是最多人有误区的地方. 绝大多数学生都不写title. 因为他们对自己的定位是学生… (单开一篇细说学生简历的弊端)
  • Title不是非得你入职了, 拿到那个职位才能写. Title是你的自我定位! 你想做MLE, 你想投MLE, 就写MLE.
  • 如果你要投DA, 那你千万别写MLE! 这样HR/HM会很困惑, 不知道你是要来干嘛, 把这里当跳板还是干嘛? 设想你是老板, 你愿意招一个看上去不会长久干活的人吗? 你可能自以为有DS/MLE的能力, 做个DA还不是简简单单. 但老板只会觉得这个人可能随时想跑路. 公司要招的是最合适最稳定的人, 不是最强的人.

Executive Summary -> 产品广告

  • 一两句话描述你的经验和能力. 不要太长, 没人爱看太长的广告.

Contact Info

  • email: 千万别用学校邮箱!
  • GitHub, Kaggle: 如果你没有出彩的经历就别放
  • LinkedIn: 必须要放, 而且在pdf必须是hyperlink.
  • Location: 城市和州就行了, 别那么详细

Education

Education 是很多人纠结的地方:

  1. 放在哪里, 简历的上边还是下边?
  2. GPA 写不写?
  3. 课程写不写, 尤其是专业课. 感觉和targeted role很契合, 是不是写上比较好?

首先, (强调再多次也不为过)平均Recruiters只花6-7s看一篇简历. 各位都学过统计, 知道Normal Distrubtion. 如果你的简历上来就放一大块让人不感兴趣的内容, 那你就是Left Tail, 说不定Recruiters只花1-2s就删了你的简历. 你可以认为在简历上, 学校 + 一堆课程清单是最无聊的东西, 几乎没有之一. 没人关心你上了什么课, 他们最关心的永远是 “Is this guy a good fit for this role?”

其次, 如果我们越是强调一些不太重要的东西, 越会让别人觉得我们是不是在隐藏那些真正重要的东西. 如果一个公司的Recruiter不停的跟你强调公司价值观, 团队凝聚力, 行业前景, 你的未来可期巴拉巴拉, 但绝口不提你的薪资待遇福利和休假. 那我劝你慎重掂量一下这是不是个大坑. 同理, 你过于强调你的学术背景, 会让人觉得你是不是没有经验啊? 怎么一直在说学校的事. 永远别让你的学校背景成为你人生中最大的成就. 学校只是你人生的一个阶段而已.

但是NG或者学生可能会想, 你在说毛线, 我没有项目经验啊, 那我怎么写简历? 我的答案是网上有很多项目, 你可以找来做做, 但是一定要用尽量工业化的标准来做, 这样你可以收获很多经验, 简历也会更加丰满. 具体怎么实现, 我会再写篇帖子介绍.

那么Education的答案就呼之欲出了:

  1. 如果你学校超级超级好, MIT, Harvard, Stanford, UCB 这种, 并且你的GPA超过3.5, 你可以放在简历最上面. 但别列课程清单. 如果你的学校一般, 或者你认为你的项目经验/工作经验更有意义, 你就把学校放在简历最下面.
  2. GPA 超过3.5可以提一下, 没有就不用写.
  3. 你一定要写的话, 就列两三个最相关的课程. 比如你投MLE, 你可以写上Machine Learning, Statistics之类的课

Skills

Skills也是很多人会困惑的地方, 常见的问题有:

  1. Skills太少, 因为自己没学过或者感觉并不熟练
  2. Skills太多, 不知道怎么做减法, 干脆全堆上去显得自己很厉害
  3. Skills乱放, 简单堆在一起不做任何排版分类

首先, 大家要知道每一个Recruiter只想用合理的钱雇一个合适且稳定的人, 绝不是用一样的钱雇一个技能花里胡哨但是没法胜任这个职位的人. 更别提雇一个毫无技能的人.

雇佣本质上就是一笔交易, 公司只想花钱买个人来解决当下的需求. 好比买车, 都有一些需求和标准, 如果不符合, 那再花里胡哨也没用. 就算保时捷的广告再怎么吹, 搬家公司也不可能买这玩意. 更何况, (正如前篇提过的)假如你用一堆ML技能的简历去投DA, 你绝对会被怀疑到底是来干嘛的, 是看不懂JD还是只是来把这个职位当跳板的?

所以, 好的简历上面的Skills必须和JD高度契合. 为此, 你可以:

  • 保持你的简历拥有特定职位的必备技能. 比如你想投Data Scientist, 确保你简历的每个版本都有Data Science, Statistics之类关键词. 而什么是必备技能, 可以询问GPT.
  • 根据JD, 为你的简历添加一些特定技能 (前提是你本身就有这个技能)

那么来回答一开始的3个问题:

  1. 如果你的Skills太少, 你要合理的来凑技能. 有两个方法, 一是加上相关的类似技能, 比如JD要求MySQL, 你就把MSSQL, PostgreSQL之类的都加上, 因为它们都差不多; 比如JD要求Tableau, 你完全可以写上PowerBI. 二是仔细回忆和挖掘你以前的经历. 我看过很多人简历漏了太多技能. 明明Projects里面有一个ML的项目, 但是Skills里面就孤零零挂个Python. 难道你不用NumPy, pandas, Matplotlib, SciPy, Scikit-Learn这些必备的包就能做ML? 所以多去挖掘一些你以前的项目.
  2. 如果你的Skills太多, 一定要删掉毫不相关的内容.
  3. 把你的Skills按照比如 Data Science, Programming 来分类, 方便 Recruiters 快速定位.

Experience

WORK EXPERIENCE 和接下来的 PROJECTS 是简历上最会被人仔细看, 以及面试被仔细询问的地方. 所以这两个部分需要精雕细琢以提升对人类读者的吸引力.

Q:

  1. 没有工作经验怎么写
  2. 不知道怎么写才有吸引力

A:

  1. 没有工作经验就找一些 TA, RA 之类的学校工作. 如果还没有, 只能舍弃WORK EXP, 然后多做一些项目, 充实你的PROJECTS部分.
  2. quantified outcomes + actions, 下文细说.

首先, 人类的阅读习惯是从上到下, 从坐到右. 那么针对工作成果和内容, 最好是将成果放在最上面和前面, 内容紧跟其后. 这样可以让任何人一眼就看到你的achievements. 我们看三个例子:

  • Used ML model to improve DAU
  • Usd advanced ML models and techniques like XGBoost to increase DAU by 2%
  • Increased DAU by 2% through advanced ML models and techniques like XGBoost

第一个是最普通的流水账, 也是没有经验的同学最爱写的方式. 因为简单粗暴.
第二个是action + outcome
第三个是outcome + action
相信明眼人都知道哪种写法更有吸引力.

那么问题来了, 如何量化成果? 确实, 不是所有的成果都能简单量化的.
像是SQL/Pipeline Optimization, ML之类代码直接相关的工作, 确实很容易量化.
但是如Dashboarding, Business Analysis这样的工作难以量化. 最直接的办法是问你的manager. 或者, 你要知道, 任何工作的最终一定是有一个量化成果的. 如果你做的事情连你自己都不清楚结果, 难道指望面试官去猜吗? 所以你一定要给一个预估值. 正如每个公司财报的盈利成本预测不是靠占卜来的. 附上一个预估值, 即使有误差, 也比一个数字都没有好. 但是你的数字一定要合情合理并能给出预估方法.

身为一个 Data 从业者, 永远不要让你的简历上唯一的数字只有手机号和日期.


Projects

对于NG或者想要转行的同学来说, 由于缺少必要或合适的WORK EXP, PROJECTS是唯一能体现你价值的地方了.
因此, 你必须精挑细选100%契合你目标职位的项目. 比如你的目标是NLP, 你的项目就不要放Forecasting.
这些项目一般可以从网上找到, 比如Kaggle. 或者来自于学校的Capstone. 但是特别需要注意的是, 千万千万不要把你的项目做成了TOY PROJECT! 这种项目没有任何价值!

举例常见的ML玩具:

  • 随便网上找个ML Project, 也不管是不是符合你的求职目标. 只看是不是高大上
  • ETL? 花里胡哨, pd.load_csv yyds
  • Data Cleaning? 不需要, 我这dataset干净的很
  • EDA? 这相关性不是显而易见嘛, 不然我做什么
  • Feature Engineering? 找个最好的algorithm拿来就用, 反正这个性能最强
  • Training? 我最爱这个了, 只要最后把90%+ accuracy写到简历, 多厉害
  • Model Deployment, Monitoring, Version Control, Upgrading, API DEV 跟我有什么关系, 学校又不教, Kaggle也没有
  • 最后再把各种专业术语往简历上一堆, 即不管metric对于business的影响是什么, 也不管non-tech bg的recruiters能不能看懂. 沉浸于自己的高大上项目中, 觉得肯定offer拿到手软

如果你这样干过, 且完全没面试, 你需要考虑让你的玩具变成INDUSTRY PROJECT:

  • 立项时就要评估可行性和评价标准, 比如成本, 规模, 开发时间, 人力资源, 阶段性和最终目标. 不用全写, 但要提及一两个具体的目标
  • 预估你的成果(量化标准)如何影响business, 说人话
  • 如果是多人合作, 提一句你们的合作和沟通
  • 如果是复杂的项目, 可以拆开针对强调细分领域, 比如ML可以拆开强调DE, DS, ML三个部分. 取决于你投什么
  • 项目的标题一定要体现你在干什么, 别让人半天看不懂

感兴趣我可以单开几篇帖子细聊DS, DE, ML的项目怎么写


Certificates

有些人毫不在乎, 有些人异常执着这玩意.

我拥有以下certs:

  • AWS Certified Machine Learning - Speciality, 关于如何在AWS搭建ML平台, model training, tuning, deployment, monitoring相关的认证.
  • AWS Certified Data Engineer - Associate, 关于如何在AWS上做batch data, streaming data processing, 并用Athena这种ad-hoc, 或者Glue这种strategic pipeline service做ETL. 最后在QuickSight上面做dashboarding. 当然, 也包括Redshift, Aurora, ElasticSearch, S3这种OLTP, OLAP, Indexing, Object Storage之类的数据管理.
  • AWS Certified Database, 关于如何在AWS搭建各种数据库的, SQL, NoSQL, Object, Graph之类的都有.
  • AWS Certified Soluation Architect - Associate, 关于如何运用AWS所有的常用技术, 并用它们搭建比如Web或DB等服务. 不是和Data全部相关, 但是有部分是和Data Engineering或Data System Architecting直接相关的认证.

以上可以说是含金量很高, 且都非常知名的认证. 那么它们对于我找DA, DE, DS, MLE的工作有多大帮助呢?

0

是的你没看错, 没有任何帮助, 即使是面 Amazon 乃至 AWS 的时候, 都没有任何帮助. 面试官甚至根本不知道这些证是干嘛的.
我没有统计数据, 但是以个人DP来看, 这些东西最多锦上添花, 绝不是雪中送炭.

那我推不推荐学呢?

  • 若是以拿证为目的. 算了, 你有这个时间不如刷几道题
  • 若是以学习和做项目为目的. 也行, 但是你最后须融会贯通做个大项目

常见问题

学生简历和学生思维

学生时代是每个人都经历过的, 学生简历也是每个人都写出来过的.

学生简历在求职市场是最没有竞争力的简历. 设想你去医院挂号, 你是挂刚毕业的医生还是经验丰富的主任医师? 假如你是老板, 你是愿意招个刚毕业的学生, 还是经验丰富的打工人?
如果你认同以上的观点, 就算你是学生, 也不要让你的简历看着像是学生简历.

当我作为学生, 或者NG, 我的心态经历了以下变化

  1. 我学校排名还行, 肯定有竞争力, 所以我把学校放在简历上面, 写满了我上什么课, 再挂上我的GPA, 美滋滋
  2. 为什么我没面试? 我是学生, 虽然我没什么经验, 但我愿意学, 我上手很快
  3. 学校学的和工业界脱轨很正常, 这又不是我的错, 错的是这个世界. 给我个机会, 我很快就能学到相关技能
  4. 今年大环境不行, 要不我再读个 doctor

如果你躺枪了, 记得写个评论

什么样的简历最像学生简历?

  • 没有title, 学生的自我定位就是学生. 觉得自己又没工作过, 怎么写title. 详见 1.2 Header
  • 用学校邮箱. 首先你的邮箱可能毕业不久会失效, 其次学生最爱用学校邮箱, 显得非常不专业. 所以最好用你的私人邮箱.
  • Education放在最上面并且把学校的课写满, 再黑体标上, 那个学生味太冲了. 一张简历一半都是edu. 如果你的GPA很高并且专业符合要投的职位, 可以学校+专业+GPA. 排版放在Header下面; 如果你的专业不是很符合你的求职意向, 或者你的经验丰富, edu放最后面就行. 但千万别像报菜名一样把你的课全放上去.
  • Toy Projects严重: 所有的项目经验都写”在学校和同学做了xxx”. Toy Project是最没有竞争力的经验. 千万不要写学校和同学这几个字. (TA经验除外). 具体怎么写Projects, 以及怎么让Toy Projects看着不像Toy, 详见 1.6. Projects

让自己的简历有吸引力+充满专业性, 才更有机会拿到面试. 而不是让简历的学生味儿越重越好…