73封求职申请,4次电话面试,零录用。这是作者在荷兰转岗后端/平台工程师时,四周内手动投递的真实数据。一边在西门子全职开发 kube-radar、维护随时可能宕机的家庭实验室,一边忍受招聘流程中“信噪比崩坏、窗口期极短、频繁切换打断心流”的三重暴击,他终于做了每个工程师都会做的事——把痛苦自动化

于是 job-digest 诞生了。这套基于 Python 3.11 和 asyncio(异步I/O)构建的流水线,会趁他睡觉时自动抓取 LinkedIn Jobs、Indeed、Glassdoor、We Work Remotely、RemoteOK 等平台的荷兰技术岗位,用规则引擎加语言模型解析职位描述,按 Go、Kubernetes 底层、Cilium/eBPF、Azure 与 AWS 多云、安全合规(NIS2/DORA)等精确技能栈打分排序,最后每天早上 7 点准时把 Top 3 的匹配结果推送到 Telegram——读完、申请、关掉对话框,剩下的时间留给真正的编码工作。

打开网易新闻 查看精彩图片

流水线架构清晰到只有四个模块:异步抓取器负责定时轮询多个招聘源,避免被反爬;丰富层用 LLM(大语言模型)抽取出技术栈、薪资范围、远程政策等结构化字段;打分器结合个人偏好与历史申请记录计算匹配分;通知器则依靠 SQLite 做去重和历史缓存,确保同一个职位不会反复推送。选 Python 而不用 Go 的理由很务实:快速原型验证,先让工具跑起来,再谈优化。

这个决策表背后藏着一个云咨询师转岗的真实困境。Adyen、Booking.com、ASML 等公司最有价值的职位通常在周二早上放出,周四下午就涌入 200 个申请人。周日晚上才手动检视招聘网站的人,永远赶不上窗口。job-digest 把人工刷职位变成一次性的配置动作,不仅补上了时间差,更解放了深度工作状态——因为每一次“先刷一分钟 LinkedIn”都会摧毁好不容易建立的心流。

项目代码已在 GitHub 公开,作者公开喊话:想要合作,尤其是懂 Python、正在找技术工作的人。从手动复制粘贴求职信的绝望到用异步管道收割机会,这个故事证明了一件事——工程师解决自己问题的方式,往往就是下一个开源工具的原型。