feat: NVIDIA Sr DevOps application, drop cohort caps, fix Workday/decision-log bugs
Scout run 2026-09-04 (36 companies, 778 eligible) plus the NVIDIA package it surfaced, and the tooling and policy fixes found along the way. Application - NVIDIA Senior DevOps Engineer, Zurich (JR2024256): submitted 2026-09-05. Evidence Fit 64/100 Stretch, hard gate FAIL x2, channel Weak. Sent on an explicit user override with the working model unresolved, so hybrid-vs-onsite is a live screening topic. 2pp resume + 1pp cover letter, both validators PASS, 0 boxes, 0 Tier 1 findings open. Policy - Drop the 7 Core / 2 Adjacent / 1 Stretch cohort caps. They had no derivation and were overridden whenever they bound, and the cohort was confounded: it tested fit class while holding channel constant at Weak across all six applications. Keep the recording, drop the rationing. - Channel replaces the slot budget as the rationed variable: no application goes out cold when a named contact is published and reachable. - Propagated through shared_ops, session_file_template, cohort_tracker (counts, never counts-against-a-target) and application_cohort.json. Tool fixes - fetch_workday emitted 404 URLs for every Workday company (NVIDIA, Novartis, Equinor): externalPath is site-relative and needs the locale + site prefix. 6/6 short-form 404, 3/3 long-form 200. 773 dead links repaired across 42 archived reports. - find_decision_url silently de-linked decisions on two boards, which is why ruled-out roles kept resurfacing as undecided. RUAG rotates its UUID on repost; BIS migrated its vacancy URL scheme, orphaning 5 decisions including a live application. Fixed as a two-tier match, not a slug key -- slugs collide (two live RUAG reqs shared one). Knowledge base - claims.json: add Bash / shell scripting, the third canonical gap of this shape after Ansible and Linux administration. - bundle_data_platform: BS-4 was framed as a delivered observability stack over what claims.json calls a proof of concept -- the defect the 2026-08-21 sweep was told to look for. - CLAUDE.md and AGENTS.md: correct the RUAG Data Lakehouse shortlist claim, which the JD does not support and which both files still asserted. - resume_template: comment-guard the missing babel/ngerman language block. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QFb8tTCig5r1KzkQiNXcYt
This commit is contained in:
1 parent
89af779bf3
commit
a0ec2fedb5
18 files changed
+1250
-37
No files matched your search
@@ -0,0 +1,227 @@
|
||||
# Critique — NVIDIA, Senior DevOps Engineer (Zurich, JR2024256)
|
||||
|
||||
Date: 2026-09-04 · Documents: `e2e_nvidia_sr_devops_resume.tex` (2pp, 13 bullets),
|
||||
`e2e_nvidia_sr_devops_cover_letter.tex` (1pp, 279 body words) · No prior critique.
|
||||
|
||||
> Per `critique_framework.md`, fit, document quality and channel are scored separately and never
|
||||
> collapsed into one number. **This package is not submit-ready on document quality alone** — the fit
|
||||
> gate failed twice at Phase 0 and one of those failures is still unresolved.
|
||||
|
||||
---
|
||||
|
||||
## 1. Fit verdict and hard gates
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Evidence Fit** | **64/100 — Stretch** (unchanged from Phase 0; documents do not move evidence) |
|
||||
| **Hard gate** | **FAIL ×2** |
|
||||
| **Channel** | **Weak** — cold portal application, the 7th consecutive one |
|
||||
| **Cohort** | evidence-first-2026-01 at 6/10. Core 3/7 free; **Adjacent 2/2 and Stretch 1/1 both consumed** — no slot of the right class exists. Proceeding is an explicit user override, recorded as such |
|
||||
|
||||
**Gate failure 1 — a required qualification is a Gap.** *"Strong expertise in on-premises networking
|
||||
and compute infrastructure."* Networking is 0 canonical. Not writable around, and correctly not
|
||||
written around.
|
||||
|
||||
**Gate failure 2 — an unresolved practical constraint. STILL OPEN.** The JD is silent on hybrid vs
|
||||
onsite; Thun→Zurich is ~1h50 each way. `critique_framework.md` §1 treats this as a NO-GO trigger, and
|
||||
the Citadel precedent in `CLAUDE.md` says it **must be asked, not researched**. **Nothing should be
|
||||
submitted until NVIDIA recruiting answers this.** It is the single highest-value open action on the
|
||||
application, above every document fix below.
|
||||
|
||||
---
|
||||
|
||||
## 2. Document Quality — 82/100
|
||||
|
||||
| Dimension | Weight | Score | Note |
|
||||
|---|---:|---:|---|
|
||||
| Truth and provenance | 25 | **22** | Scope discipline is exemplary across all six risky objects. One unsupported token (Tier 1 #1) and one canonical instruction not followed (Tier 1 #2) |
|
||||
| Information hierarchy | 20 | **17** | Employer/title/dates prominent and correct, promotions shown, positions intact across the page break. Costs a point for the headline/recency mismatch (Tier 2 #1) |
|
||||
| Bullet evidence and impact | 20 | **15** | Specific, scoped, no invented metrics — but **zero quantified outcomes anywhere**, against a JD that asks for "proven ability to achieve or exceed" goals. Not fixable: every canonical claim is `metrics: unverified`. It still costs |
|
||||
| Relevance and terminology | 15 | **11** | JD term coverage **19/38 = 50%**. Four honest wins available (Tier 2 #2) |
|
||||
| Skills evidence | 10 | **8** | Every line traceable except the Ubuntu token |
|
||||
| Mechanics and readability | 10 | **9** | Compiles clean, 0 over/underfull boxes, cadence validator passes, good length spread (18–36 words). One wording slip |
|
||||
|
||||
Truth/provenance is well above the 20/25 automatic-failure threshold.
|
||||
|
||||
---
|
||||
|
||||
## 3. Claim audit
|
||||
|
||||
| Claim | Canonical | Direct/Adjacent | Safe? | Fix |
|
||||
|---|---|---|---|---|
|
||||
| "over ten years" (summary) | Visible record Generali 2015-05 → today = 11y4m | Direct | **Yes** | — Correctly avoided the template's unsupported "12+ years" |
|
||||
| "Ansible-driven Linux server automation" (summary) | `BS-6` | Direct | Yes, but **undated** | See Tier 2 #1 |
|
||||
| "Integrated containerized ML inference into a continuously operating semiconductor fab" | `BS-1` | Direct | Yes | — |
|
||||
| "owns business-critical pipeline components on call" | `SW-2` | Direct | Yes | — |
|
||||
| **"Linux administration (Debian/Ubuntu)"** | `PP-3` = **Debian only**. Ubuntu: **0 canonical** | — | **NO** | **Tier 1 #1** |
|
||||
| "security hardening" (Operations line) | `PP-3`; canonical note says hardening evidence *"leans on the personal side; say so"* | Adjacent | **Borderline** | **Tier 1 #2** |
|
||||
| "Ansible including custom plugins" | `BS-6` credential plugin | Direct | Yes | — |
|
||||
| "ELK … Grafana, Prometheus, Loki — proof-of-concept work" | `BS-4` | Direct | Yes | PoC scope preserved; `forbidden` "observability platform" avoided |
|
||||
| "Migrated the Fulfillment and Product Analysis domains' … contributing to the wider migration programme" | `SW-1` | Direct | Yes | Scope-locked exactly as `forbidden` requires |
|
||||
| "governed data products … inside Swisscom's company-wide Data Mesh" | `SW-7` | Direct | Yes | Builds *inside* the mesh; no ownership implied |
|
||||
| "Security Champion for 2025/2026" | `SW-5` | Direct | Yes | Correct years, team role, not an award |
|
||||
| "Linux server estate behind fab analytics and ML workloads" | `BS-6` | Direct | Yes | Not "the fab's infrastructure" or "the datacenter" |
|
||||
| "self-hosted Debian server … around ten years" | `PP-3` | Direct | Yes | Labelled personal; header date now `Ongoing`, matching the self-reported quantity |
|
||||
| Bosch/Swisscom promotion lines | `title_history` | Direct | Yes | — |
|
||||
| Vizrt "Test Automation / DevOps Engineer" | `display_title` | Direct | Yes | Full display title retained deliberately |
|
||||
| CL: every claim | `FC-1`,`BS-6`,`BS-1`,`SW-3`,`SW-2`,`PP-3`,`SW-1` | — | Yes | No claim in the letter is absent from the resume |
|
||||
|
||||
Validators: **resume PASS (0 warnings) · cover letter PASS (0 warnings).**
|
||||
|
||||
---
|
||||
|
||||
## 4. Tier 1 fixes — truth and fit
|
||||
|
||||
**#1 — `Ubuntu` is not canonical evidence. Remove it.**
|
||||
`\skillline{Infrastructure and automation}` reads *"Linux administration (Debian/Ubuntu)"*. `claims.json`
|
||||
has **Debian ×2, Ubuntu ×0**; `PP-3` is a Debian server. The reasoning that Debian→Ubuntu transfers
|
||||
almost exactly is sound — but that belongs in an **interview answer**, not a skills line, which asserts
|
||||
experience. The JD names "CentOS, Ubuntu, RedHat", which is exactly why the token slipped in.
|
||||
**Fix:** `Linux administration (Debian)`. Self-inflicted during generation; caught here.
|
||||
|
||||
**#2 — Say that hardening is personal-side.**
|
||||
`claims.json` note on Linux administration: *"Hardening and security configuration evidence leans on
|
||||
the personal side; **say so** rather than implying an employer mandate."* The Operations skills line
|
||||
lists *"security hardening"* beside on-call, SLO definition and component ownership — all employer
|
||||
evidence — with no marker. `PP-3` is labelled a personal project on page 2, so it is traceable, but
|
||||
the canonical file gives an explicit instruction that is not being followed.
|
||||
**Fix:** `security hardening (personal server)` or move it onto the Monitoring/personal line.
|
||||
|
||||
*No other Tier 1 findings. No forbidden term appears anywhere: HPC, GPU, bare metal, switches,
|
||||
QEMU/KVM, RHEL/CentOS, Groovy, Terraform, GitOps, GitHub Actions, Azure, LangChain, Capgemini,
|
||||
"12+ years", "observability platform" — all absent, verified by sweep.*
|
||||
|
||||
---
|
||||
|
||||
## 5. Tier 2 improvements — presentation
|
||||
|
||||
**#1 — The headline advertises currency the evidence does not have.**
|
||||
Headline: *"Staff Engineer | Linux, Ansible & Kubernetes | CI/CD and Infrastructure Automation"*.
|
||||
Summary: *"Ansible-driven Linux server automation"*. Both undated. The employer evidence for Linux and
|
||||
Ansible is **Feb 2020 – Dec 2022**, and the only current Linux practice is a personal project at the
|
||||
foot of page 2. Nothing is false and the bullets are correctly dated — but the technical reviewer will
|
||||
form an expectation from the headline and find it three years stale. **The cover letter now names this
|
||||
explicitly, which is the right place for it.** Optional resume-side softening: reorder the headline to
|
||||
lead with Kubernetes and CI/CD (both current) and let Ansible follow.
|
||||
|
||||
**#2 — Four honest ATS terms are missing and all four are writable.**
|
||||
Coverage is 19/38. The absent terms split cleanly:
|
||||
- **Correctly absent — never add:** HPC, bare metal, VMs, QEMU/KVM, virtualization, Groovy, GitHub.
|
||||
These are the real gaps and adding them would be fabrication.
|
||||
- **Writable from existing evidence:** **"configuration management"** (Q5a's exact phrase — `BS-6`
|
||||
*is* configuration management; the resume says only "Ansible"), **"reliability"** (the JD's second
|
||||
named focus; `SW-2` on-call and `BS-3` SLOs support it), **"observability"** (`BS-4`; the skills line
|
||||
says only "Monitoring" — the word itself is not forbidden, only "observability platform"), and
|
||||
**"orchestration"** (`BS-1`'s `allowed_verbs` include "orchestrated"; Kubernetes is an orchestrator
|
||||
and the JD says "orchestrators like Kubernetes").
|
||||
|
||||
**#3 — Summary wording slip.** *"the automation and delivery layer that engineering and research teams
|
||||
work on"* — the teams do not work *on* the delivery layer, they ship *through* it. In the most-read
|
||||
sentence of the document. **Fix:** "rely on" or "ship through".
|
||||
|
||||
**#4 — Bullet 6 is at the density threshold.** 36 words, the longest in the document
|
||||
(`resume_reference.md` §7 flags ~35+). It is also the single most JD-central bullet and its three-part
|
||||
scope clause is doing real work. **Leave it** unless something else must be added to that position.
|
||||
|
||||
---
|
||||
|
||||
## 6. Reader sequence
|
||||
|
||||
- **Parser/ATS —** extracts cleanly; text order verified (employer → dates → title → location → bullets).
|
||||
Ranking is the risk, not extraction: at 50% term coverage, with the misses concentrated in the
|
||||
HPC / networking / virtualization cluster, a strict keyword screen down-ranks him. Tier 2 #2 lifts
|
||||
this a few points honestly; it cannot fix the cluster that is genuinely absent.
|
||||
- **Recruiter glance — Borderline.** The headline reads on-title for a DevOps role. The risk is two
|
||||
inches below: the formal Swisscom title is *Staff Data, Analytics & AI Engineer*, which a
|
||||
non-technical screener may read as "data person applying to infrastructure". This is the intended
|
||||
positioning trade and it is defensible — the formal title must stay — but it is the 10-second risk.
|
||||
- **Hiring manager — Maybe.** R3 (CI/CD for R&D teams) and R4 (automated testing into deployment
|
||||
workflows) are answered with unusually direct evidence — Fraunhofer and Vizrt map almost verbatim.
|
||||
R2 and R5 (networking, hardware, bare metal) are not answered at all, and the letter says so.
|
||||
- **Technical reviewer — credible, and the letter helps.** Naming the networking gap pre-empts the
|
||||
discovery. First challenge: *"Walk me through your on-prem networking."* Second: *"Ansible was three
|
||||
years ago — what is current?"* Third: *"Which distributions?"* Prepared answers exist for all three
|
||||
in the session file's Critique Context.
|
||||
|
||||
---
|
||||
|
||||
## 7. Competitive read
|
||||
|
||||
The obvious-fit candidate is a Linux/HPC systems engineer from CSCS, ETH/EPFL, a Swiss hosting or
|
||||
colocation provider, or a hardware vendor — someone who has racked servers, configured switches and run
|
||||
Slurm. **Their advantage is precisely the half he lacks, and it is named in a required line.**
|
||||
|
||||
**His real advantage** is not "also does Linux". It is a decade-long, five-employer CI/CD and automation
|
||||
thread that a pure sysadmin usually lacks, Ansible depth beyond use (he wrote extensions), current
|
||||
production Kubernetes, and `BS-1` — putting containerized inference into a fab that cannot stop. That
|
||||
last one is the closest thing in his record to the operational discipline an AI-infrastructure site
|
||||
needs, and it is genuinely uncommon.
|
||||
|
||||
**Do not over-value the bridge.** Debian→Ubuntu is close to free; RHEL/CentOS is a real unknown;
|
||||
networking is not a bridge at all.
|
||||
|
||||
---
|
||||
|
||||
## 8. Cover letter assessment
|
||||
|
||||
**The letter earns its place.** Under `cl_reference.md`'s decision gate it qualifies on two counts:
|
||||
a credible domain transition needs explaining (data/platform engineer → DevOps infrastructure), and
|
||||
work authorization materially helps. **Deleting it would weaken the application** — it is the only
|
||||
place the networking gap and the recency split can be stated in the candidate's own voice rather than
|
||||
discovered by a reviewer.
|
||||
|
||||
- **Anti-patterns:** none. No generic opener, no credential dump, no copied resume bullet, no
|
||||
press-release paraphrase. The gap paragraph is factual rather than apologetic — it states the limit
|
||||
and what he does have, in two sentences.
|
||||
- **Hooks — first-party verified.** The one hook used is NVIDIA's own live Zurich posting **JR2022878**
|
||||
(*"building the next generation of scalable AI infrastructure … distributed training, real-time
|
||||
inference, and communication efficiency across large systems"*), scraped directly 2026-09-04.
|
||||
**A hook was dropped at verification:** the Phase 0 plan carried "Alps / Swiss AI Initiative with ETH
|
||||
Zurich and EPFL", but the first-party NVIDIA newsroom release mentions **neither EPFL nor a Swiss AI
|
||||
Initiative** — that framing came from secondary coverage. Corrected in the session file, and Alps was
|
||||
omitted from the letter regardless as being about CSCS rather than NVIDIA Zurich.
|
||||
- **Package cohesion:** every letter claim traces to a resume bullet. No new skill, metric, tool or
|
||||
ownership claim. No contradictions.
|
||||
- **Length:** 279 body words, inside the 250–300 industry target. One page, well filled.
|
||||
|
||||
---
|
||||
|
||||
## 9. Mechanical verification
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| Canonical validator — resume | **PASS, 0 warnings** |
|
||||
| Canonical validator — cover letter | **PASS, 0 warnings** |
|
||||
| Compile | Clean, two passes, both documents |
|
||||
| Over/underfull boxes | **0** |
|
||||
| Page count | Resume 2, letter 1 — matches `config.md` |
|
||||
| Text extraction order | Verified: heading → employer → dates → title → location → bullets |
|
||||
| Visual inspection | Both resume pages and the letter inspected at normal size. No orphans, no clipping, no header wrapping. Positions intact across the page break |
|
||||
| Cadence (§7a) | PASS after remediation — the first build hit **10/12 bullets (83%)**, the SBB failure mode; five sentences reshaped without touching a claim, scope or verb |
|
||||
| Bullet length spread | 18–36 words. Good variation within and across positions |
|
||||
| Email | `dennis@thiessen.io` in both, matches `config.md` |
|
||||
| Forbidden-term sweep | Clean — 22 terms checked, 0 hits |
|
||||
| Stale artifacts | None. No superseded PDF beside either deliverable |
|
||||
|
||||
**Tool caveat — `char_count.py` output for this document is unreliable and should be ignored.** Its
|
||||
parser takes everything between `\item` markers, so it absorbs following section markup *and LaTeX
|
||||
comments* into the preceding bullet: it reported bullet 13 as "90 words / 3 clauses" when the real
|
||||
bullet is 23 words. Every "potentially dense" flag it raised is an artifact. The provenance comments in
|
||||
this `.tex` (recording why Ubuntu, the PP-3 date and the thesis grade were handled as they were) make
|
||||
the effect worse, but they are worth keeping — the tool should be fixed instead. Bullet metrics in this
|
||||
critique were measured independently.
|
||||
|
||||
---
|
||||
|
||||
## 10. Verdict
|
||||
|
||||
**Document Quality 82/100 · Evidence Fit 64/100 (Stretch) · Channel Weak · Hard gate FAIL ×2.**
|
||||
|
||||
The documents are honest, well-scoped and specific, and the two Tier 1 fixes are small. **They are not
|
||||
what is holding this application.** What holds it is the unresolved working-model question, which is a
|
||||
NO-GO trigger under the project's own framework and cannot be answered by research.
|
||||
|
||||
**Order of operations:** ask NVIDIA recruiting about hybrid vs onsite → if the answer is compatible,
|
||||
apply Tier 1 #1 and #2 and optionally Tier 2 #2 and #3 via `/edit-resume` → then submit. If the seat is
|
||||
5-day onsite, the correct outcome is a documented NO-GO on the Bern/Thun constraint, and the package
|
||||
is shelved intact for a future NVIDIA req.
|
||||
Reference in new issue
Block a user