一个优秀的前端工程师简历应该是怎样的?

作者:阿里巴巴淘系技术
链接:https://www.zhihu.com/question/21520021/answer/1832490006
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

作为看过太多太多份简历的阿里巴巴淘系面试官,我觉得自己有资格回答这个问题。

而要回答这个问题,首先需要清楚地认识到「一份优秀的技术人简历是怎么样的」,而优秀的前端开发工程师的简历则无非是在前者的基础上增加与技术领域相关的细节。因此,我打算分两个部分来回答这个问题:

  1. 一份优秀的技术人员的简历是怎么样的?
  2. 一份优秀的「前端开发工程师」简历是怎么样的?(以阿里淘系前端 P6 ~ P7 级别的岗位为例)

 

(点击头像关注我们账号,别错过更多阿里工程师一线技术干货)

——————————————————————————————————————

 


1. 一份优秀的技术人员的简历是怎么样的?


总的来说,一份优秀的技术人员的简历应该满足以下三个因素:

  1. 技术能力的描述真实清晰,切中招聘方需求
  2. 项目经历的描述完整,具体,价值点突出
  3. 简历整体留给面试官很好的印象


下面让我们依次看看要达成以上三点,需要满足哪些要素。

1. 技术能力

通常,「技术能力」这个部分将紧接着你的个人简介之后,放在简历的核心版面。这样设计是有道理的,因为它能够帮助雇主更快的判断你的技能是否与需求相吻合。

因此在制作这一部分内容时,应该考虑以下两点:

(1)写什么?

应聘者在技术能力的描述上通常会犯两个错误:要么无用的东西写的太多,要么有用的东西写的太少。这里的多和少是相对于「雇主的招聘需求」而言的。

我建议每个应聘者在撰写简历的这部分时,都能够精心设计所需展示的技能,将自己熟练掌握的技能中与雇主需求重合的部分放在醒目的位置

但无论如何,不宜展示以下内容:

1. 自己对该技能只是了解而雇主又不需要的技能
2. 一些没有复杂度的,常识性的技能,例如面试高级开发职位时,表明自己掌握 Git 的使用方式或某些具体业务库的使用;

(2)怎么写?

当我们知道该写什么技能之后,我们还需要知道如何恰当的描述这些技能,通常我们会以:「了解,熟悉,熟练掌握,精通」这几个形容词来描述技能的熟练程度,让我从面试官的角度来分享一下我认为这几个词背后的含义:

1. 了解:表示你听说过这个概念,甚至了解与此概念有关的基本原理;
2. 熟悉:表示你通过 Demo 的形式实践过某个技术,或做过一两个与该技术有关的项目,但缺乏沉淀;
3. 熟练掌握:表示你在工业级环境下,通过数个项目的实践已经掌握了某种技术的核心原理,并能够灵活地应用在开发中;
4. 精通:表示你通过很多次的项目实践和潜心研究,已经对某种技术的原理和应用掌握到近乎尽善尽美的程度;

你应该尽力客观,诚实地描述自己的技术水平,既不要蓄意地夸大,也不应该妄自菲薄。在撰写该部分内容时,我建议你按照技能的熟练程度自高向低的排列,同时对于雇主明确表示需要的技能给予更高的优先级。

2. 项目经历

讲完了技术能力,接下来将分享简历中最重要的部分 -- 「项目经历」。如果一份简历满分是 100 分,项目经历所占的分数应该是 50 分以上。所以务必请你格外留意。

(1)使用 STAR 原则描述项目经历

不知道你是否听说过撰写项目经历的「STAR」原则?之所以这么问,是因为近年来我时常在各大论坛看到有关这一原则的普及文章,可奇怪的是,我很少见到有人在简历中将其付诸行动,考虑到实行这一原则的投入产出比,这实在令人感到奇怪。

事实是这样的,如果你坚持不使用 STAR 原则描述你的项目经历,我十有八九无法在你的简历中获得任何值得推敲的信息。

让我描述一下我经常看到的一类描述:

我在该项目中完成了 XXX,YYY 需求,运用了 a,b,c 技术。

这种描述方式的弊病在于,它除了告诉我求职者确实有在工作之外,再没有其他有用的信息。

让我们看看遵从 STAR 法则的项目经历描述中透露了哪些信息:(顺便一提,STAR 法则是指在描述中依次出现:Situation(情景),Task(任务),Action(行动)和 Result(结果)信息的描述一件事的原则

XXX 项目出现 XXX 问题,我作为 XXX,负责其中的 XXX 部分,我通过 XXX 方式(或技术方案)成功解决了该问题,使 XXX 提高了 XXX,XXX 增长了 XXX。

当然,这个充满了 XXX 的范例只是抛砖引玉,目的只是为了向你展示遵从 STAR 法则,如何充分地向雇主展现你在项目开发中的产出的价值,取得的成就。并通过你的解决方案了解到你多方面的能力。


(2)项目重质不重量

除了使用 STAR 法则描述项目经历,还需注意的一点是:千万不要堆叠你的项目经历!

好的简历应该是短小精悍的,正如同没人感兴趣你在小学时期是否是三好学生一样,雇主通常也并不感兴趣你五年前做过哪些项目(除非它真的很优秀!)。

理想情况下,简历最好不要超过 1 页,至多不超过 2 页是一个很好的尺度。鉴于这个篇幅,你的项目经历最好也只需要包含你近 1 年做过的,你觉得有代表性的项目即可。

3. 简历印象

说完了技能和项目经历,最后让我们谈谈撰写简历时需要遵守的一些原则。当一份简历投递雇主手中时,雇主通常会大概看一下这个简历,凭经验直觉来判断是否继续阅读这份简历,而接下来我想与你分享的,便是我认为一份好简历应该具备的「好味道」。

(1)撰写简历三大原则:清晰,简短,必要;

正如标题所呈现的,一份好简历应该满足以下三个特征:

1. 清晰:这表明简历的内容应该是没有歧义,易于理解的,同时简历整体还要富有逻辑;
2. 简短:无论是生活还是工作中,我们都需要拥有一种「抓住重点」的能力,因此优秀的求职者应该尽可能在简历中就展现这一点,而展现的方式就是,尽量写出不超过一页的简历,同时让它充满诱惑
3. 必要:招聘本身是一个相互匹配的过程,彼此展示必要的信息,能够帮助彼此最大化的节约时间,提升效率。确保简历中出现的内容都是雇主期望了解的很容易就能博得雇主的好感。

相信遵从以上三个部分的建议,你将有能力写出一份优秀的技术人员简历。

而对于前端工程师而言,则需要在此基础上添加一些技术领域内「特性」的内容,让我们进入下一个主题。

 

2. 一份优秀的「前端开发工程师」简历是怎么样的?


1. 技术能力

技术能力达到什么水平才称得上是一名「优秀的」前端开发工程师呢?这里我们以「阿里巴巴淘系前端团队」的对 P6 ~ P7 级别的岗位要求做一个事例(查看职位详情):

  1. 扎实的前端基础,了解业界先进的技术概念和开发方式,有实践经验;
  2. 具备跨终端的前端开发能力,在Web(PC + Mobile)/ Node.js / Hybrid App / Native App 三个方向上至少精通一个方向,具备多个的更佳;
  3. 至少能够熟练应用一款前端框架 ( Vue.js / React / Angular / WEEX) ,熟悉源码和框架原理的优先;
  4. 至少熟悉一门非前端的语言(Java / PHP / C / C++ / Python / Ruby),并有实践经验;
  5. 具备良好的团队协作精神,能利用自身技术能力提升团队整体研发效率,提高团队影响力;
  6. 对前端技术有持续的热情,个性乐观开朗,逻辑性强,善于和各种背景的人合作。
  7. 具有 AB 实验的理论知识和实践经验的优先。


1~4 条描述了阿里巴巴对前端技术能力的要求,如果你经常浏览各大厂的招聘信息就不难发现,除了第 2 条希望应聘者具备跨端开发的能力之外,其余 3 条都频繁出现在各大厂的能力要求中,参照我们之前提到的技术能力的评价标准翻译过来,则是要求您在以下三个方面的技术能力能够达标:

  1. 至少熟练掌握 HTML,CSS 和 JavaScript;
  2. 至少熟练掌握一门前端框架;
  3. 至少熟悉一门非前端编程语言;


以我的经验来看,如果你的 1,2 条就已经符合标准,第 3 条的要求就不会非常严苛。因此如果你能够再添加上你在工作中掌握的其他熟练掌握以上级别的技术能力,就可以在这个版块做到十分抢眼了。


2. 项目经历

还记得我们之前讲过描述项目经历的最佳实践吗?

  1. 运用 STAR 法则;
  2. 精简;


除此之外,还有非常重要的一点需要注意,即「针对招聘需求选取合适的项目侧重点进行描述」。我们还拿刚才的招聘需求举例,在此招聘需求中的岗位描述里,提到了以下几项:

  1. 根据产品需求开发 / 维护高质量的跨终端(PC + Mobile / Node.js / Hybrid App )项目;
  2. 结合当下开发场景,建立或优化提升工作效率的工具;
  3. 在理解产品业务的基础上,提升产品的用户体验,能够通过技术驱动业务的发展;
  4. 关注前端前沿技术研究,通过新技术服务团队和业务。


通过这份岗位描述,我们可以大致看出这份岗位的工作内容包含以下几个方面:

  1. 跨终端项目开发
  2. 内部提效工具开发
  3. 产品体验优化
  4. 技术创新与赋能


因此,如果你过往有类似的项目经历,并取得了一定的成就,那么在撰写项目经历这个版块时,就完全没有理由不在这里着重体现出来。

你的项目经历应该尽可能包含招聘方所需求的技术,并通过描述类似的工作经历展示出你对于未来的工作内容早已有相关的经验和准备,你越是表现出你能越快上手这份工作,你的简历竞争力就越强。



3. 简历印象

对于前端开发工程师,需要额外注意的是,你最好尽可能凸显出你的沟通表达能力团队协作能力自我学习能力。我认为这三大能力对于一名优秀的前端工程师而言,是非常重要的。

前端开发这个岗位站在设计与技术的十字路口,自然要和感性与理性两方面的人打交道,在工作中的很多时候,实际上充当着团队润滑剂的作用。因此你越是展现出这方面的特点,就越能博得雇主的好感。

在整个简历中,你有 2 次展现出你以上特点的机会,请你务必珍惜:

  1. 在项目经历描述中,通过交代清楚你在团队中的位置,以及大略描述你在团队中起到的作用;
  2. 在简历的「自我评价」中,写明你的软实力,并用三两句话举出一个事例来证明你所言非虚;


事实上,很多应聘者在简历中会忽视「自我评价」这个版块的设计和撰写,这是很令人遗憾的,我认为这个版块恰恰是简历中可以非常有亮点的一部分。因为它彰显了应聘者的个性与与众不同。

虽说如此,在此处仅仅是写「沟通表达能力强」是不够的——

沟通表达能力强:曾多次担任团队内技术分享主讲人」这样的「特点 + 事实证明」的描述显然是一种更好的表达方式。

3. 结尾

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力
2. 项目经历:只写明星项目,描述遵循 STAR 法则
3. 简历印象:简历遵循三大原则:清晰,简短,必要

而对于前端工程师而言,我们也结合阿里巴巴淘系前端团队的一个真实的 JD,在以上的三个方面,给出了如下的建议:

  1. 技术能力:
  • 至少熟练掌握 HTML,CSS 和 JavaScript;
  • 至少熟练掌握一门前端框架;
  • 项目经历:根据 JD 岗位职责,调整项目经历描述的侧重点;
  • 简历印象:在项目经历与自我评价中凸显三大素质:沟通表达团队合作自我学习


希望我所分享的经验能对你有所帮助,也希望你始终抱着诚实,用心的心态撰写你的简历,我的以上建议既可以作为你简历制作时的自查手册,也可以作为你未来发展的一项重要参考,真心希望你能认可,喜欢。

最后,祝你终能如愿进入心仪的企业工作。

用心写代码,不辜负程序员之名。
原文地址:https://www.cnblogs.com/thinkingthigh/p/15184880.html