数清十二则招聘,定出顺序
目标
只看一条招聘信息,会觉得自己什么都缺。如果从上到下逐项查看,就无法决定先做什么,通常会先碰最显眼的内容(最近流行的技术)。
**统计十二条后,情况会不同。**哪些内容几乎处处都有,哪些只出现在一两处,会通过数字显现,学习顺序也由此确定。
材料
/opt/lab/hiring/postings.jsonl 백엔드 공고 12건 (required / preferred 로 나뉘어 있음)
mkdir -p /root/hiring && cp /opt/lab/hiring/* /root/hiring/ && cd /root/hiring
head -1 postings.jsonl | python3 -m json.tool
需要留下的文件
01-count.txt 기술별 건수
02-tiers.txt 필수와 우대를 갈라 센 것
03-gap.md 내가 가진 것과의 차이
04-plan.md 12주 계획
05-evidence.md 무엇으로 증명할 것인가
06-fit.md 어디에 지원할 것인가
07-notes.md 왜 그런지
先统计
统计 12 条招聘信息中每项技术出现的次数(合并 required 与 preferred),把前八项写入 01-count.txt。
python3 - <<'PY'
import json
from collections import Counter
c = Counter()
for line in open('postings.jsonl'):
d = json.loads(line)
c.update(d['required'] + d['preferred'])
for t, n in c.most_common(8):
print(t, n)
PY
看到第一名时也许会感到意外。有一项技术,列为required 的公司很少,但几乎所有公司都列为 preferred。
区分 required 与 preferred
这次把 required 与 preferred 分开统计,分别将排名靠前的项目写入 02-tiers.txt。用以 필수、우대 开头的行划分两个区域,并另写一行说明这种差异对学习顺序意味着什么。
合并统计时排名第一的项目,在 required 一侧可能会大幅下降。
required 表示缺少就会在简历筛选中淘汰,preferred 表示拥有更好。若先学 preferred,就会在 required 仍为空缺时耗费时间。
记录差距,而不是罗列清单
将排名靠前的技术分为已经会、略懂、还不会三栏,写入 03-gap.md。对于“已经会”的内容,还要写明能用什么证明。
分为三栏是关键。若只列成一行,所有内容看起来都像“需要做”,便无法确定顺序。
**放进“已经会”却没有可证明内容的,其实属于“略懂”。**面试中真正拉开差距的恰恰是这里。
制定有期限和产物的计划
在 04-plan.md 中制定 12 周计划。每一项都要写明期限,以及完成后留下的产物。从 required 项开始。
“学习 Kubernetes”不算计划,因为没人知道何时算完成。
请写明会留下什么:一个 repository、一个已部署地址、一篇文章。它既是下一阶段的材料,也是面试材料。
不要把 preferred 项放在最前面。它虽显眼,却不代表顺序。
用什么来证明
在 05-evidence.md 中写明,如何将计划的每一项证明为别人可以打开查看的形式。至少加入一个数字。
证书和“我学习过”是较弱的证据,因为任何人都能这样说。
若有可打开查看的内容(repository、部署地址、文章)以及数字(从几秒降到几秒、提升几倍),就能当场展开对话。
应该申请哪里
从 12 条中选择现在申请的职位和完成计划后再考虑的职位,在 06-fit.md 中按编号写出并分别说明原因。判断时也要考虑要求的工作年限。
若职位要求 5 年经验而你目前只有 2 年,它适合以后而非现在。反之,若技术栈与自己已经掌握的内容高度重合,即使经验略少也有讨论空间。
**全部申请不是策略。**统计的目的就是确定准备顺序,也应把结果用于申请决策。
写给下一次阅读的人
从本实验看到的内容中选择至少三项,整理到 07-notes.md。不要只写做了什么,而要写清楚为什么。
设想半年后再次考虑换工作的自己会阅读它。“统计了招聘信息”没有帮助;“只看一条会觉得什么都缺,但统计十二条后发现 required 只有五六项”才有帮助。