LabHub
学习 学习路径 课程

从招聘启事读出的后端路线图

数清十二则招聘,定出顺序

在 LabHub 中继续学习

目标

只看一条招聘信息,会觉得自己什么都缺。如果从上到下逐项查看,就无法决定先做什么,通常会先碰最显眼的内容(最近流行的技术)。

**统计十二条后,情况会不同。**哪些内容几乎处处都有,哪些只出现在一两处,会通过数字显现,学习顺序也由此确定。

材料

/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 只有五六项”才有帮助。