问题
每当需要找工作时,应聘者都会坐下来更新简历,同时以更有经验的眼光看待自己过去的经历。 并一次又一次地重写所有内容。 而且每次他认为自己会发现梦想中的空缺,然后他就会变得非常有经验,以至于他将被召唤到一个新的地方而无需采取任何行动。 然后故事一遍又一遍地重复。

对于那些对歌词不感兴趣并且想要立即开始工作的人,请继续阅读github 。 对于那些关心项目的机制和历史的人来说,这篇文章实际上是专门针对它的。
随着LinkedIn,HeadHunter等专业劳务交流资源的出现,情况似乎应该有所改善-我们将所有经验集中在一个地方,而过去不再是虚构的。 但是它不存在-他们将其填充到一个系统中,您不能仅通过单击鼠标将其卸载到另一个系统中。 没有可用于链接帐户的单个数据库。 可以理解-这样的公司有兴趣排挤其他公司,而不是相互融合,结果简单的候选人只会变得更糟。
应特别注意那些在面试阶段仍要求应聘者在其内部系统中填写相同信息,要求新的和新的细节的公司。 更糟糕的是-如果您正在申请简历。
但是,无论您在哪里申请空缺,都始终会在.doc或.pdf中添加一个字段来附加简历 。 尽管整个链条中都有大量的“信息垃圾”,但您必须适应并遵循多数人的规则-否则没人会聘用候选人,因为 他们只是不了解他。
从理论上讲,可以通过拥有“单个中心”来解决问题-如果:
- 所有职位空缺的安置和响应平台将在资源/单一协议级别统一;
- “如何写简历”将不再是艺术和研究问题,而是所有人都可以接受的单一标准;
- 将只有一个最流行的职位空缺的本体,通过它您可以了解对该职位空缺候选人的技能/经验/素质进行评估的性质;
- 候选人不会在简历中撒谎和夸大其词;
- 候选人没有自我推销的竞争。
在现实世界中,这几乎是不可能的,因为劳力交换是以分散的方式发展的,大约4-5点,即使只有一个中心也可能无法解决。
但是,仍然可以采取一些措施简化候选人的生活,即简化自己的生活。 我会尽力做到这一点。
主意
一种或另一种方式,摘要:
- 描述候选人的素质;
- 经验证明了这一点。
不同的劳务交流为证据基础提供了稍有不同的机会,在某处有单独的出版物领域,在某处可能有项目的详细说明等。 即 信息链中的所有目标节点对实际体验的预测都略有不同,并为其自己的工具(按技能搜索,自动推荐等)创建了一定的插件。 然后,您可以对自己的经历进行最完整的描述,从而可以根据特定要求相对容易地创建这些预测。 包括用于编写简历。
因此,我的想法是开发一种表格,以记录我的工作经历,并自动将这些数据投影到特定的空缺职位上,并以所需的形式显示出来,如图所示。

只有部分数据属于投影,如果在最简单的情况下是在表格下进行简单打印,则在最复杂的情况下,它是与空缺相关的数据过滤器(具有关键技能的项目分配,更多的实际经验打印空间等)。
理想情况下,这样的“新闻”应:
- 仅补充,旧记录保持不变;
- 当出现新的相关信息(当前位置的工作完成,新出版物,已完成的项目)时,将其填入-这将是进行最成功描述的方式;
- 包含有利于候选人的信息(但是除此之外,为自己指出重要的观点是有意义的,即使它们是负面的,也只会打印出需要的内容)。
即 这是真实经验在技能和证据空间上的“投影”。 通常,这是任何劳动力交换系统的核心,但是候选人没有这些机会。
我的故事
我像其他人一样开始,打开MS Word,寻找漂亮的模板,开始写作。 我寻找示例,尝试成功复制。 在某个时候,我切换到LaTex,或多或少地构建了经验。 我经历了不同的视觉形式,尝试了形式。 它持续了大约10年,终于到了将数量转化为质量的时候了。
在上一次求职过程中,我或多或少地磨练了材料的形式和表示方式,但是丰富的经验已经使我认真考虑了信息的最大压缩。 引入了许多装饰,不仅看起来不错,而且避免了冗长的文字。 更重要的是,对简历本身(成就-项目-技能-雇主)的ORM模型的理解已经到来。
后来,甚至出现了主要的创新-实现了如何尽可能紧凑,方便,精美地展示您的技能,但这只是小菜一碟,稍后我们将讨论。
显然,现在,我再次进入下一阶段的求职,我希望完全摆脱手动编辑简历,而转而使用自动化来挖掘过去的记忆。 因此,我不得不重新整理自己的工作,将其转换为杂志格式,并制作一个最小的工作生成器,我想分享自己的开发经验。
恢复写作作为故事提要
我再三遇到这样的观点,简历的任务是向候选人展示有利的面貌。 但实际上,他的任务是让HR在阅读后与求职者取得联系。 由此产生了另外的后果-如果他读到最后,那么他接触的可能性就更高。 因此,我考虑了在准备如何提交材料的过程中编写一份简历的任务, 以便将HR简历读到最后 。
我会提前做出保留,不会就如何撰写简历,哪种格式更好的选择等提供建议。关于这方面的很多材料都比我在这方面经验丰富。 在这里,我只会给出我最后谈到的形式和顺序。
我试图模拟HR将如何阅读简历,在该简历中,他一旦发现候选人不适合的证据,便将其关闭并且不再阅读。 如果您以流程图的形式简化了此过程,则会得到以下信息:

因此,在提出的表格中,我按顺序对各节进行了排序,如果上一节中没有空缺,则下一节无关紧要。
个人资料 。 如果您居住在远离办公室的地方,尚未准备好搬迁,没有在该地区工作的权限或不说目标团队的语言,则不会进一步阅读摘要。
目标 。 如果候选人正在寻找一个与空缺不符的职位,或者他的兴趣与他在该公司中所能找到的职位不同,那么将不进一步阅读简历。
学历 许多人认为教育是最重要的 ,这是最重要的是经验 。 我非常不同意,因为高等技术教育会教您先思考。 科学学位是能够胜任地参与研究项目并保护结果。 我宁愿将本节放在开头,不是因为受教育的重要性,而是要以积极的方式打破感知更多材料的障碍。
技能专长 对技能的要求对于特定的职位空缺是明确的。 如果您正在寻找经验丰富的C ++开发驱动程序,并且正在寻找JS,Ruby on Rails和Java的顶级技能,那么您将无法进一步阅读。
专案 开发人员的工作主要与工作地点无关,而与项目有关。 雇主充当雇员与项目之间的有条件中介,并且在一个公司中,候选人可能有许多项目。 我在这里包括爱好项目 我在他们身上有很多经验。 换句话说,此处给出了已声明技能的证据,如果没有证据,则不再赘述。
劳动史 。 如果我们模拟的HR来到这里,那么至少他认为该候选人参加了相关的职位空缺。 在上一部分中已经描述了所有技术优点和成就,但是在这里,HR可以评估求职者熟悉的工作和问题领域变化的频率。 例如,如果他过于频繁地更改工作地点,那么他将无法继续阅读。
专业活动 。 除了工作经验外,真正对专业充满热情的候选人不仅限于日常工作和业余爱好项目,还包括科学,博客,流行出版物以及在专门会议上的演讲。 因此,在这里,我首先提供科学出版物(优先权在Scopus中被索引),然后是流行出版物(例如,像本文一样),最后是在会议上的演讲。 本段是补充,不是强制性的“临界点”。
兴趣和素质 。 一个经典的观点,我对此表示怀疑,因为我认为它没有建设性的负担。
如何突出技能
什么是“技能”,填写时需要什么细节-这是一个悬而未决的问题。 例如,在某个地方可以编写C ++,在某个地方可以编写boost(但仍然不能编写C ++),但是在某个地方可以编写C ++,STL,boost。 并记住同一件事。
应该理解的是,招聘人员和人力资源人员很少具有技术专长,而经验更丰富。 这意味着STL和boost包含C ++对他们来说可能并不明显。 因此,这里您需要主要关注职位空缺,并查看那里使用了哪些关键字。
对于我自己,填写杂志时,我决定填写更多内容(即使有语义重复),然后我希望根据空缺情况添加相关技能的“过滤器”。
杂志经验
日志是候选人的个人资料,可以以下图的形式显示。 我将仅指示实体的基本属性,并且将使用ActiveRecord表示法来增加表示关系的可读性。

接下来,我们考虑通过示例更详细描述的实体,并使用JSON作为实现语言。
对于个人数据,与联系人一样,一切都是微不足道的。 仅将语言技能放在这里,因为 与俄罗斯的就业不同,这不是竞争优势,而是沟通手段。 如果招聘人员给您打电话,请让他立即了解以哪种语言开始对话。
机构位于机构中,文凭的状态(博士学位,专家,硕士等),文凭的名称,学习时间和平均成绩。 我还发现对广泛的概况和文凭的标题进行专业化很有用。
应该从项目中自动招募技能 ,但是我认为重要的是反映我对技能的态度。 例如,如果我喜欢用C ++编写代码,那么我想强调一点,我喜欢用它编写代码,而且我对可以这样做的职位空缺倍加感兴趣。 反之亦然-即使我必须这样做,我也不想用C#编写。
在项目中 ,除了团队的持续时间,规模和描述之外,我总是更喜欢提供一个链接到代表它的Internet资源。 如果可能的话,我还会给装饰用徽标,因为对我个人而言,履历导航大大简化了,文本变得不太统一。 项目是您体验中最重要的组成部分,例如
{ "name" : "Photoshop", "icon" : "photoshop_project.png", "period" : "01.09.2015-30.08.2016", "description" : "Raster graphics editor", "team-size" : "9", "web" : "https://www.adobe.com/products/photoshop.html", "tasks" : [ "..." ] }
每个项目均由已解决的任务组成,其中候选人取得了一定成就 。 这正是经验的关键证据-理想地以数字形式表示的成就 。 任务可能是项目中的一项。 而且,技能与任务相关,这构成了生成技能统计信息的基础:
{ "description" : "Development of text-recognition filter from raw image", "period" : "01.09.2015-28.02.2016", "skills" : ["CI", "C++", "ML"], "achievements" : [ "achievied recognition accuracy up to 85%" ] }
成就使我们可以强调,由于您对这个问题的解决,世界上的某个人已经变得更好,并且进行定量评估非常好。 从视觉上看,这样的项目将执行以下操作:

除了琐碎的字段外, 工作历史还包含项目链接。 我反对在这里列出“职责”-这已经在项目中了。 我也更喜欢使用公司徽标,尤其是当它们是著名徽标时。 如果HR对上一段感到失望,并且打算关闭简历,但是看到熟悉的徽标,则可以节省情况。
出版物 , 会议和功能都是与任何事物都无关的琐碎实体,因此我不会给予过多关注。 出版物(科学和非小说)都存储为bibtex文件。
实作
带有随附描述的整个实现可以在github上找到。
我试图编写一个虚构的简历示例,以尽可能准确地反映所描述的思想,并充分利用编译器的当前功能。
您需要docker才能工作,但是如果这是一个问题,那么最主要的是放置imagemagick,latex和python。
FROM ubuntu:latest RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends build-essential librsvg2-bin lmodern inkscape zip python3 python3-dev python3-pip libcairo2-dev apt-utils pkg-config python3-setuptools texlive-fonts-recommended texlive-latex-extra dvipng texlive-latex-recommended texlive-xetex && pip3 install --upgrade pip
使用Latex-a以PDF格式收集简历。 对于徽标,您可以将矢量(svg)或位图(png)图像与alpha配合使用。 字体-Arial Narrow,由于其宽度而在简历中很受欢迎。
技能专长
我特别关注该项目中技能的可视化,因为应聘者的主要筛选器就是这些技能。 根据我的见识,可以区分以下方法:
- 具有等级的分组列表(专家,初学者);
- 表(网格-等级/技能);
- 将技能融合到项目中;
- 括号中添加了以前几年的经验值。
如果您认真仔细地阅读每种方法,那么每种方法都是好的,但是,如果您花费不超过10秒的时间,它们注定会失败。
此外,您对自己的水平(初学者/专家)的评估没有太多的建设性。 五年前,我认为我的C ++水平比现在想象的要高得多,尽管在那段时期我在这个方向上增长了很多倍。 我可以给予我的技能的唯一客观评估是我使用了多长时间。 这构成了执行本节的基础。
但是如何评估这段时间呢? 我记得第一个C ++程序是在7年级编写的,而我上一次写的是今天。 毕竟,从您的年龄开始花费13年并把结果写成经验是错误的-毕竟,在一段时间里,我什么都没写,而且技能也没有提高。
但是,然后我可以列出使用C ++的项目,并记下它们的持续时间,实际上,该持续时间已经在日记中完成了。 而且,如果我同时在两个使用C ++的项目中工作,那么这项技能并不会以两倍的速度增长。 而且已经很容易根据杂志和显示统计信息进行计算。
通过查看此类统计信息,HR可以快速找出您是否适合空缺职位。 而且,我本人有时对查看我的统计数据很感兴趣-我是否像我想的那样经验丰富,反之亦然。
看起来像什么
一切看起来像这样:


对于本文,我特别引用了A5格式的版本,默认情况下,编译器设置为A4。
意见反馈
如果更多的人在招聘双方(HR和候选人)时遵循共同的标准,那么每个人的生活将变得更加容易。 因此,如果您也坚持理想主义的观点,并且喜欢这个项目,但是知道如何使其更好,那么我愿意进行互动,并希望收到任何反馈。
我还根据软件工程师/软件开发人员的职位制定了一个项目,所以我不知道我的工作适合于其他职位。 但是我不排除这是可能的。
接下来要去哪里
进一步的开发计划非常微不足道,尽管它包括一个不重要的实现:
- 实现智能压缩。 提供有关旧项目的最少信息,提供有关和相关的最大信息。 现在,此方法仅用于切断旧出版物,但它们已经占用很少的空间。 必须遵守音量限制,并且不要违反流派规则。
- 实施相关信息过滤器。 在最简单的情况下,将使用配置文件(嵌入式,C ++,fintech,前端等)创建技能本体,并且配置文件是编译器的参数。 理想情况下,我们提供一个空缺的链接(让它成为linkedin页面上的页面),在最简单的情况下,编译器将在其上搜索关键字或使用数据库/ ML对其进行分析,并过滤相关技能和项目。
同时,所有找到工作的好运!