TechFin Corp -- Austin, TX
TechFin Corp -- Austin, TX
Senior ML Engineer / ML Platform Lead 2020-2024
- Designed real-time fraud detection pipeline: Kafka → feature computation → model inference → decision engine. 99.7% precision at 50ms p99
- Reduced model deployment time from 2 weeks to 4 hours with CI/CD pipeline (GitHub Actions + SageMaker)
这种"架构箭头链 + 前后对比指标"的写法,正是评估管线在 B 块(CV Match)中做 JD 要求逐项映射的原料——报告里的每条 CV Match 都标注了 `cv.md: TechFin Corp` 这样的来源定位。
[resume-example.md](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/examples/resume-example.md?utm_source=gitcode_repo_files) 与 CV 版内容几乎一致,但文件头注释明确了两者的区别:在美国科技行业,"resume"(1–2 页、定向)是标准称谓,"CV" 通常指更长的学术变体;career-ops 两者都支持,选哪个取决于目标市场。该文件刻意保持单页长度,专门演示简历形态。
## sample-report.md:A–F 六段式评估报告的标准格式
[sample-report.md](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/examples/sample-report.md?utm_source=gitcode_repo_files) 展示了评估管线对一条具体岗位(Acme AI 高级 AI 工程师)的完整产出。报告头部四行是元数据:`Date`、`Archetype`、`Score`(全局 1–5 分,样例为 4.2/5)、`URL`,外加 `PDF` 字段指向本次定制 CV 的 PDF 输出路径(如 `output/cv-candidate-acme-ai-2026-04-01.pdf`)。随后是六个块,这也是各语言模式(如 [modes/apply.md](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/modes/apply.md?utm_source=gitcode_repo_files)、[batch/batch-prompt.md](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/batch/batch-prompt.md?utm_source=gitcode_repo_files))统一约定的报告骨架:
- **A) Role Summary** —— 字段表:Archetype、Domain、Function、Seniority、Remote、Team size、TL;DR。样例将岗位判定为 "AI Platform / LLMOps Engineer",Seniority 标注为 "Senior (IC4-IC5)"。
- **B) CV Match** —— 三列表 `JD Requirement | CV Match | Source`,把 JD 的每条要求映射到 `cv.md` 的具体条目并给出来源章节;其后的 Gaps 子表按 `Gap | Severity | Mitigation` 列出短板及弥补话术(例如把 "LLM-specific experience" 标为 Medium,用 LLM Eval Toolkit 作为直接证明)。
- **C) Level and Strategy** —— 给出 Detected level 与候选人自然级别,以及 "Sell senior" 策略:以平台所有权开场("led 3-person team, built MLOps for 4 teams")。
- **D) Comp and Demand** —— 薪酬区间与需求趋势数据点表,标注来源(Levels.fyi、Glassdoor 等)。
- **E) Personalization Plan** —— 四列表 `# | Section | Current | Proposed Change | Why`,逐条规划 CV 改写点,例如把 Summary 从 "Full-stack AI engineer" 改为 "AI platform engineer focused on LLM infrastructure and observability" 以匹配 JD 用词。
- **F) Interview Plan** —— STAR 表格 `# | JD Requirement | STAR Story | S | T | A | R`,每条 JD 要求对应一个 STAR 故事,并给出推荐案例题(LLM Eval Toolkit)。
报告末尾还有 `## Keywords Extracted` 块,列出抽取的岗位关键词(LLM infrastructure、model serving、observability 等),用于后续 ATS 文本匹配与定制化。写报告时照抄这份骨架,可保证与管线其他部分(如 [set-status.mjs](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/set-status.mjs?utm_source=gitcode_repo_files) 追踪、[outcome.mjs](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/outcome.mjs?utm_source=gitcode_repo_files) 结果记录)的数据约定一致。
## article-digest-example.md:评估时的紧凑证据模板
[article-digest-example.md](https://gitcode.com/GitHub_Trending/ca/career-ops/blob/398edb11421475c463c1e2f254031400eec0139b/examples/article-digest-example.md?utm_source=gitcode_repo_files) 说明该文件是"评估时刻被 career-ops 读取的紧凑证明点",即从作品集项目中提炼的弹药库。每个项目固定四个部分:
```markdown
## FraudShield -- Real-Time Fraud Detection
**Hero metrics:** 99.7% precision, 50ms p99 latency, $2M/year fraud prevented
**Architecture:** Kafka Streams ingestion → real-time feature computation (200+ features, sliding windows) → ensemble model (XGBoost + neural network) → decision engine ...
**Key decisions:**
- Chose streaming over batch to catch fraud in real-time (batch had 4-hour delay)
**Proof points:**
- Reduced false positives 60% vs previous rule-based system
- Conference talk: "Real-Time ML at Scale" (MLConf 2023)
Hero metrics 一行给最硬的数字,Architecture 一行给系统链路,Key decisions 展示技术判断力,Proof points 提供外部背书(star 数、采用方、演讲)。这个模板的价值在于:当评估管线为某个 JD 挑选 STAR 故事时(对应报告 F 块),digest 里预先结构化好的指标和决策可以直接引用,而不必现场翻代码仓库。
ats-normalization-test.md:PDF 生成的 Unicode 归一化回归夹具
ats-normalization-test.md 是 generate-pdf.mjs 文本归一化通道的回归夹具,覆盖 ATS 与旧解析器最容易出错的 7 类 Unicode 字符:
| 名称 | 码点 | 转换结果 |
|---|---|---|
| Em-dash | U+2014 | Built and sold a SaaS — now... → 换成普通连字符 - |
| En-dash | U+2013 | 2020–2024 → 2020-2024 |
| 弯双引号 | U+201C / U+201D | 转为直引号 " |
| 弯单引号 | U+2018 / U+2019 | 转为直引号 ' |
| 省略号 | U+2026 | 转为 ... |
| 零宽空格 | U+200B | 直接移除 |
| 不换行空格 | U+00A0 | 转为普通空格 |
文档同时强调边界:归一化器不修写作风格,风格问题由 modes/_shared.md 的规则约束,那些空话("spearheaded a strategic initiative"、"crafted robust, scalable solutions" 等)本就不该进入生成的 CV 文本。
文档给出的验证方法可以原样执行:
# 从项目根目录,修改 generate-pdf.mjs 之后:
node --check generate-pdf.mjs
# 端到端测试:用一份"脏" HTML 生成 CV PDF 并检查输出
node generate-pdf.mjs /tmp/dirty-cv.html /tmp/clean-cv.pdf --format=a4
# 期望日志行:
# 🧹 ATS normalization: N replacements (em-dash=X, smart-double-quote=Y, ...)
如果你修改了归一化逻辑,跑通这条日志即说明所有问题码点都被正确替换。
dual-track-engineer-instructor:双原型配置完整范例
dual-track-engineer-instructor/ 解决的是单原型配置无法覆盖的混合型职业:候选人同时在两条赛道上有真实战绩(示例为高级 AI 工程师 + 高级技术讲师,同样适用于 backend+SRE、ML+research、IC+manager 等组合)。它的四个要点是:
- 在
profile.yml的archetypes:中配置两个fit: primary条目,而不是一个; - 写
cv.md时让两边的量化成果都前置,互不稀释; - 设置两套薪酬区间——工程与教学薪资常差 20–40%,评估器需要知道哪套区间适用于当前 offer;
- 评估时刻针对桌上的具体 JD 决定以哪条赛道开场。
该范例的启用门槛也很明确:必须两条赛道都有 3 年内的可量化近期成果、两边都能真实接受 offer、且两边职级大致相当;若一边只是业余爱好级、或职级错配、或薪资底线只能选一边,则应退回单轨模式。它还给出了面试异议应对模板("你既教书为什么投工程岗?")和两类失败模式的缓解表(教学岗被判 overqualified / 工程岗被判 underqualified)。
其 profile.yml 是配置层面的关键证据。在 config/profile.example.yml 的标准 schema(target_roles.primary 定义 North Star 角色、archetypes 帮助评估系统打分、compensation.target_range 定义目标总薪酬)基础上,双轨范例做了两处扩展:
target_roles:
archetypes:
- name: "Senior AI Engineer"
level: "Senior/Staff"
fit: "primary" # 两个 primary,而非一个
track: "engineering"
sell_when: "JD emphasizes shipping production AI, agent infra, LangChain/LangGraph, eval systems..."
- name: "Senior Technical Instructor (AI/ML)"
fit: "primary"
track: "teaching"
sell_when: "JD emphasizes curriculum, cohort delivery, bootcamp/university lectureship..."
compensation:
target_range: "EUR 95K-130K" # 默认区间 = 工程区间(通常更高)
alternate_ranges: # 非标准字段,双轨模式需要它
- track: "teaching"
target_range: "EUR 70K-95K"
minimum: "EUR 60K"
- track: "hybrid"
target_range: "EUR 90K-120K"
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00