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,472 @@
|
||||
# Session: NVIDIA — Senior DevOps Engineer (Switzerland, Zurich)
|
||||
|
||||
## JD Integrity
|
||||
- **File/source:** `output/NVIDIA_SrDevOps_Zurich/JD_nvidia_sr_devops_jr2024256.txt` — req **JR2024256**
|
||||
- **Retrieval method and date:** headless Playwright render via `job_scout/.venv` (the board is a Workday SPA; WebFetch is JS-blind), **2026-09-04**. HTTP 200.
|
||||
- **Verbatim posting:** YES — saved unedited, not retyped from memory.
|
||||
- **Posting status:** LIVE. JD states *"Posted 3 Days Ago"* → posted ~2026-09-01. Very fresh.
|
||||
- **URL note:** the canonical URL requires the tenant path
|
||||
`…/en-US/NVIDIAExternalCareerSite/job/Switzerland-Zurich/Senior-DevOps-Engineer_JR2024256`.
|
||||
The scout's short form 404s (fixed 2026-09-04; see KB Corrections Log).
|
||||
|
||||
## Application Decision
|
||||
- **Audience profile:** International Tech (US-tech conventions, English). NVIDIA is US-tech in Europe.
|
||||
- **Evidence Fit: 64/100**
|
||||
- **Fit class: Stretch** — the *score* lands Adjacent (60–74), but `application_strategy.md` requires
|
||||
Adjacent to have **no required Gap**, and Q5b is one. Defining-responsibility logic pushes it to Stretch.
|
||||
- **Hard gate: FAIL — on two counts.**
|
||||
1. A required qualification is a Gap: *"Strong expertise in on-premises networking and compute
|
||||
infrastructure"* (Q5b). Canonical networking evidence is **zero**.
|
||||
2. A practical constraint is **unresolved**: the JD is silent on hybrid vs onsite, and Thun→Zurich is
|
||||
~1h50 each way. `critique_framework.md` §1 treats an unresolved location constraint as a NO-GO trigger.
|
||||
- **Channel Strength: Weak** — cold portal application. Would be the **7th consecutive cold submit**.
|
||||
- **Channel plan:** cold by default. No named contact in the posting. NVIDIA Zurich is a small HPC/AI
|
||||
infrastructure-software site; a targeted recruiter note is the realistic warm action.
|
||||
- **Cohort slot:** evidence-first-2026-01 is **6/10 — Core 3/7 (4 free), Adjacent 2/2 CONSUMED,
|
||||
Stretch 1/1 CONSUMED.** There is **no free slot of the right class.**
|
||||
- **Decision: PROCEED — under explicit user override, 2026-09-04.**
|
||||
This is the same shape as RUAG AI Engineer C5I (Evidence Fit 74, hard gate FAIL, user override).
|
||||
Recorded as an override, not as a passing gate.
|
||||
|
||||
### ⚠ One thing to resolve before Phase 2
|
||||
**Ask NVIDIA recruiting whether the Zurich seat is hybrid or 5-day onsite.** This is the Citadel
|
||||
lesson, recorded verbatim in `CLAUDE.md`: an unresolved working model is a NO-GO trigger and **must be
|
||||
asked, not researched**. From Thun the round trip is ~3.5h; the standing bar is hybrid, max 2–3 days.
|
||||
Comp is *not* the blocker here — see Company Context — so the working model is the whole question.
|
||||
|
||||
### Correction to the 2026-09-04 scout triage
|
||||
That triage called **two** required lines Gaps. On canonical review only **one** is: Q5b networking.
|
||||
**Q2 (10+ years of DevOps processes) is Adjacent and defensible, not a Gap** — a continuous CI/CD,
|
||||
automation and production-operation thread runs Generali 2015 → today across five employers (~10 years
|
||||
of role-time containing genuine DevOps content). The honest weakness is that those roles were *titled*
|
||||
data/test/research engineer, not DevOps. That is an interview answer, not a disqualifier.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Required — "What We Need to See"
|
||||
| # | Requirement | Req/Pref | Class | Canonical evidence | Gate? |
|
||||
|---|---|---|---|---|---|
|
||||
| Q1 | Bachelor's or Master's in CS, Data Science, Engineering or related | Required | **Direct** | `EDU-MENG` M.Eng. Computer Aided Engineering (Software Design & Engineering); `EDU-BENG` B.Eng. Information and Telecommunication Technologies. Both Univ. der Bundeswehr München | — |
|
||||
| Q2 | 10+ years building and maintaining DevOps processes, strong focus on automation and reliability | Required | **Adjacent** (defensible) | Continuous thread: `GN-1` Jenkins jobs + test-automation ownership (2015–17) → `VZ-2` quality gates wired into CI/CD (2017–18) → `FC-1` set up Jenkins CI/CD (2018–19) → `BS-6` Linux estate + Ansible, playbooks run from Jenkins/GitLab (2020–22) → `SW-3`/`SW-5` Kubernetes + GitLab CI/CD, `SW-2` on-call and incidents (2023–now). ~10 yrs of role-time with real DevOps content; **0 yrs of DevOps-titled work except Vizrt** | Watch |
|
||||
| Q3 | Solid experience with major Linux distributions (CentOS, Ubuntu, RedHat); proficient scripting in Bash, Python or Groovy | Required | **Adjacent** (near-Direct) | Linux administration `production-historical-and-personal`: `BS-6` Bosch server estate, `PP-3` self-hosted Debian ~10 yrs and **current**. Python `production-current` = Direct. **Named distros are 0 canonical** — Debian→Ubuntu transfers almost exactly, RHEL/CentOS is the real delta. Bash not canonically listed; **Groovy 0 — do not claim** | — |
|
||||
| Q4 | Deep understanding of Linux virtualization (QEMU/KVM, Docker) and orchestrators like Kubernetes | Required | **Adjacent** | Docker `production-current-and-historical` = Direct. Kubernetes `production-current-and-historical` = Direct (`SW-3`, `SW-7`, `BS-1`). **QEMU/KVM 0 canonical** — the hypervisor half is a Gap; the container half is strong | — |
|
||||
| Q5a | Hands-on experience with configuration management tools (e.g., Ansible) | Required | **Direct** | `BS-6` — intensive Ansible for config management *and* infrastructure automation, plus **he wrote Ansible extensions** (credential plugin pulling from a keystore with local caching). Above-average depth. Caveat: `production-historical`, ended Dec 2022 | — |
|
||||
| **Q5b** | **"Strong expertise in on-premises networking and compute infrastructure"** | **Required** | **GAP** | **Networking: 0 canonical.** On-prem *compute* is partly real (`BS-6` Bosch server estate), but `PP-3` **explicitly forbids** using the home server as datacenter/physical-infrastructure evidence. No switches, no fabric, no network engineering anywhere in the record | **FAIL** |
|
||||
| Q6 | Familiarity with CI/CD tools such as Jenkins, GitHub/GitLab, Kubernetes, GitHub Actions; excellent written and verbal English | Required | **Direct** | Jenkins `FC-1`/`GN-1`/`BS-6`; GitLab `SW-3`/`SW-5`/`BS-6`; Kubernetes `SW-3`/`SW-7`. The list is illustrative ("such as"), so GitHub Actions at 0 does not gate. English fluent | — |
|
||||
|
||||
**Required tally: 3 Direct · 3 Adjacent · 1 Gap.**
|
||||
|
||||
### Core responsibilities
|
||||
| # | Responsibility | Class | Canonical evidence |
|
||||
|---|---|---|---|
|
||||
| R1 | Design, build, maintain robust **HPC and cloud** infrastructure | **Adjacent (split)** | Cloud is Direct — AWS + CloudFormation `production-current`, `SW-1`/`SW-3`/`SW-7`. **HPC is 0 canonical** |
|
||||
| R2 | Automate deployment/config/management of network and compute — **bare metal servers, network switches, VMs** | **Adjacent → Gap on the objects** | The *automation* is Direct (`BS-6` Ansible). The *objects* are not: bare metal thin, **switches 0**, VMs 0 |
|
||||
| R3 | Develop and streamline **CI/CD pipelines for R&D engineering teams** | **DIRECT — strongest match in the JD** | `FC-1` Jenkins CI/CD at a **research institute**; `BS-6` playbooks from Jenkins/GitLab for fab analytics/ML teams; `VZ-2`; `GN-1`; `SW-3`/`SW-5`. Serving R&D/engineering teams specifically is his actual career shape |
|
||||
| R4 | Optimize for availability, performance, observability, security, scalability, cost; **integrate automated testing and QA into deployment workflows** | **Direct on the testing half; Adjacent on optimization** | `VZ-2` is literally "connected quality gates to CI/CD"; `GN-1` BDD + test-automation ownership. Observability `BS-4` (ELK/Kafka, **PoC-scoped — never call it a platform**). Security `SW-5` + `PP-3` hardening. **No metric is quotable — all `metrics: unverified`** |
|
||||
| R5 | Troubleshoot across infrastructure, networking, hardware, software | **Adjacent** | Infra/software Direct (`SW-2` Component Owner: incidents, on-call, data quality). **Networking and hardware: Gap** |
|
||||
|
||||
### Preferred — "Ways To Stand Out"
|
||||
| # | Item | Class | Note |
|
||||
|---|---|---|---|
|
||||
| P1 | Agile DevOps teams, complex technical environments; proven ability to achieve/exceed security, reliability, scalability, availability goals | **Adjacent** | Enterprise agile is real; `SW-2` on-call, `SW-5` security. But "proven ability to *achieve or exceed goals*" implies numbers and **every canonical claim is `metrics: unverified`** — the standing weakness in every package |
|
||||
| P2 | In-depth understanding of modern **HPC** and infrastructure architectures | **Gap** | HPC 0 canonical. The M.Eng. thesis has a throughput/latency evaluation but it is a **methods prototype** and the throughput figure is **explicitly barred** by `thesis_limits` |
|
||||
| P3 | Passion for emerging technologies and best practices | **Direct** | `PP-3` (10 yrs self-hosted, self-hardened), `PP-1`, current LLM tooling. Genuine and demonstrable |
|
||||
|
||||
### Constraints
|
||||
| Item | Status |
|
||||
|---|---|
|
||||
| Work authorization | **Direct** — German citizen (EU), Swiss B permit, no sponsorship needed |
|
||||
| Language | **Direct** — English fluent; JD requires English only |
|
||||
| Location / working model | **UNRESOLVED — must be asked.** Zurich seat; Thun→Zurich ~1h50 each way. JD silent on hybrid vs onsite |
|
||||
| Compensation | **Clears the bar** — see Company Context. Not the blocker |
|
||||
|
||||
## ATS Keywords
|
||||
- **Direct, safe to use:** DevOps, CI/CD, Jenkins, GitLab CI/CD, Kubernetes, Docker, Ansible,
|
||||
configuration management, Linux, infrastructure automation, Infrastructure as Code, Python, AWS,
|
||||
CloudFormation, containerization, automated testing, quality gates, observability, on-call,
|
||||
incident response, availability, security, agile, R&D engineering teams, English.
|
||||
- **Use only with honest scoping:** on-premises compute (Bosch server estate only), Debian/Ubuntu
|
||||
(Debian is the canonical one), hardening (personal-project evidence — always say so), monitoring
|
||||
(`BS-4` is a PoC).
|
||||
- **NEVER use — 0 canonical / forbidden:** HPC, GPU, CUDA, Slurm, InfiniBand, network switches,
|
||||
bare metal, datacenter, QEMU, KVM, hypervisor, RedHat, CentOS, Groovy, Terraform, GitOps,
|
||||
GitHub Actions, SRE (as a title), any uptime/SLA/server-count/scale figure.
|
||||
|
||||
## Gap Assessment
|
||||
1. **On-premises networking — the one required Gap.** Zero evidence, not substitutable from
|
||||
data-platform work. Do not paper over it; name it once, honestly, in the cover letter.
|
||||
2. **HPC — preferred, and the site's whole reason for existing.** Zurich is NVIDIA's HPC/AI
|
||||
infrastructure-software hub. This gap is more visible here than the "preferred" label suggests.
|
||||
3. **Bare metal, switches, VMs, QEMU/KVM** — the physical/virtualization layer is absent. `PP-3`
|
||||
forbids using the home server as physical-infrastructure evidence, and that ban must hold.
|
||||
4. **Recency split.** The two most JD-central employer skills — **Ansible and Linux administration** —
|
||||
ended at Bosch in **Dec 2022**. Currency is carried by `PP-3`, a personal server. Say so plainly.
|
||||
5. **No metrics anywhere.** P1 asks for goals achieved; nothing is quotable.
|
||||
6. **RHEL/CentOS.** Debian→Ubuntu is nearly free; the Red Hat family is a genuine unknown.
|
||||
|
||||
## Company Context
|
||||
- **What Zurich actually does.** NVIDIA's Zurich site is an **HPC and AI infrastructure-software R&D
|
||||
hub** — distributed training, real-time inference, and communication/networking optimization across
|
||||
large-scale systems (the site also posts Senior HPC & AI *Network* Software Architect and HPC & AI
|
||||
Software Architect roles). This role is the **infrastructure and CI/CD backbone underneath those R&D
|
||||
teams** — which is exactly what R3 says, and exactly the shape of his Fraunhofer and Bosch work.
|
||||
- **Swiss anchor.** NVIDIA + HPE + **CSCS** built **Alps**, the Grace Hopper–based supercomputer at
|
||||
Lugano that anchors the **Swiss AI Initiative** with ETH Zürich and EPFL, hydropower-cooled. A
|
||||
credible, verifiable local hook — and it explains why "on-premises" and "bare metal" are literal here.
|
||||
- **Compensation — the finding that changes the commute math.** levels.fyi Greater Zurich: **IC3
|
||||
median ≈ CHF 204k, IC4 ≈ CHF 379k**, and it names NVIDIA the highest-paying SWE employer in Zurich.
|
||||
Even the bottom rung clears the **180k all-in bar** decisively. ⚠ Caveat: levels.fyi is self-reported
|
||||
and these totals are **equity-heavy after an extraordinary NVDA run** — treat the *base* as the
|
||||
reliable part and confirm the split. But this is the first role in the log where comp is a reason to
|
||||
accept a long commute rather than a reason to decline.
|
||||
- **Culture signals from the JD:** "fast-paced", "distributed teams", "creative problem-solving",
|
||||
"collaborate closely with software development teams". Reads as a small, senior, hands-on site team.
|
||||
|
||||
## Competitive Read
|
||||
- **Obvious-fit candidate:** a Linux/HPC systems engineer from CSCS, ETH/EPFL, a Swiss hosting or
|
||||
colocation provider, or a hardware vendor — someone who has physically racked servers, configured
|
||||
switches, and run Slurm on a real cluster.
|
||||
- **Dennis's advantage:** a **decade-long, five-employer CI/CD and automation thread** that is deeper
|
||||
and broader than a pure sysadmin's; **Ansible depth beyond use** (he wrote extensions); current
|
||||
Kubernetes in production; and `BS-1` — integrating containerized ML inference into a **24/7
|
||||
semiconductor fab**, which is genuinely rare evidence of putting automation into an environment that
|
||||
cannot stop. Plus `SW-2` Component Owner accountability: on-call, incidents, data quality.
|
||||
- **Their advantage:** networking, bare metal, hypervisors, HPC schedulers, datacenter practice — the
|
||||
precise half he lacks, and it is named in both a required line and a responsibility.
|
||||
- **Level/scope:** NVIDIA "Senior" against his current **Staff** at Swisscom. By title that is
|
||||
lateral-to-below, but the NVIDIA bar is high and the comp is far above. Not a level problem; the
|
||||
`user_role_targeting_energy_trading` "no lateral same-tier moves" rule was about **comp/level
|
||||
upside**, and the comp upside here is unambiguous.
|
||||
|
||||
## Framing Strategy
|
||||
- **Professional identity:** *Staff-level engineer who builds and operates the CI/CD, container and
|
||||
configuration-automation layer that engineering and research teams depend on* — Kubernetes and
|
||||
GitLab CI/CD today, Ansible and Linux estate automation at Bosch, Jenkins pipelines at a Fraunhofer
|
||||
research institute. **Not** "infrastructure engineer" in the datacenter sense.
|
||||
- **Lead narrative:** *"I build the automation and delivery layer that R&D teams run on."* R3 is the
|
||||
bullseye and should lead.
|
||||
- **Strongest proof points (in order):** `BS-6` Linux estate + Ansible incl. extensions · `BS-1`
|
||||
containerized ML inference into a 24/7 fab · `SW-3` Kubernetes + GitLab CI/CD · `FC-1` Jenkins CI/CD
|
||||
for a research institute · `VZ-2` automated tests wired into quality gates · `SW-2` Component Owner
|
||||
on-call/incidents · `PP-3` current self-hosted Linux and hardening.
|
||||
- **Honest adjacent bridges:** Debian → Ubuntu (near-identical, defensible). Container virtualization →
|
||||
named alongside, never in place of, QEMU/KVM. On-prem *compute* via the Bosch estate — **never** via
|
||||
the home server.
|
||||
- **Explicit gaps to state, not hide:** on-premises **networking**; HPC; bare metal and switches.
|
||||
- **Scope Discipline watch (recurring error):** Bosch — "administered and automated **the Linux server
|
||||
estate underpinning fab analytics and ML workloads**", never "ran the fab's infrastructure" or "the
|
||||
datacenter". Swisscom — data products *within* the company-wide Data Mesh, never "built a Data Mesh".
|
||||
`BS-4` is a **PoC**, never "the observability platform".
|
||||
- **User directives:** none given beyond "let's try it".
|
||||
|
||||
## Critique Context
|
||||
- **Reviewer persona:** a hands-on senior infrastructure engineer at a small, elite site — someone who
|
||||
has run bare metal and will spot an inflated Linux or networking claim in one line. Not an HR screen.
|
||||
- **Domain vocabulary:** Ansible roles/playbooks/inventories, idempotence, CI runners, container
|
||||
registries, image builds, node pools, config drift, immutable infrastructure, artifact promotion.
|
||||
- **Screening risks to prep answers for, in likely order:**
|
||||
1. "Walk me through your on-prem networking experience." → **He has none. Say so.**
|
||||
2. "Where does the 10+ years come from?" → the 2015→now CI/CD thread, named role by role.
|
||||
3. "Which distros?" → Debian (personal, 10 yrs, current) + Bosch estate. RHEL/CentOS honestly unknown.
|
||||
4. "Ansible was three years ago — what's current?" → `PP-3` plus current Kubernetes/GitLab.
|
||||
5. "Any HPC?" → no. Pivot to 24/7 production constraints (`BS-1`), which is the transferable part.
|
||||
|
||||
## Resume Plan (provisional — Phase 1 confirms)
|
||||
- **Format:** 2-page **International Tech** resume, English.
|
||||
- **Contact line:** **Bern, Switzerland** (Zurich role — the Thun-local rule applies only to Thun-area employers).
|
||||
- **Summary:** 2–3 lines, DevOps/automation-forward. ⚠ **Do not inherit the template's "12+ years"** —
|
||||
it is unsupported (visible record from Generali 2015-05 ≈ 11y4m). Use "over ten years".
|
||||
- **Skills:** Linux, Ansible, Kubernetes, Docker, CI/CD (Jenkins, GitLab), Python, AWS/CloudFormation,
|
||||
observability/monitoring. **Omit** Terraform, GitOps, Azure, GCP, Groovy, HPC.
|
||||
- **Swisscom:** `SW-3`, `SW-2`, `SW-5`, and one of `SW-1`/`SW-7`.
|
||||
- **Bosch:** `BS-6` (lead — it is the closest thing in the record to this JD), `BS-1`, `BS-4`.
|
||||
- **Earlier:** Fraunhofer `FC-1` (Jenkins CI/CD for a research institute — thematically perfect),
|
||||
Vizrt `VZ-2` (quality gates into CI/CD), Generali `GN-1` optional.
|
||||
- **Projects:** consider a one-line `PP-3` entry — it is the **only current** Linux/hardening evidence,
|
||||
and it must be labelled a personal self-hosted project.
|
||||
- **Total bullets:** ~12–14.
|
||||
- **Capgemini:** OMIT (standing rule). The Nov 2014 – May 2015 gap is intentional.
|
||||
- **Impact evidence still needed:** everything — all canonical metrics are unverified.
|
||||
|
||||
## Cover Letter Decision
|
||||
- **YES** (provisional — confirm after the resume).
|
||||
- **Reason:** the networking gap needs one honest sentence that a resume cannot carry, and the
|
||||
"infrastructure for R&D teams" framing needs prose to land. Same pattern that worked for RUAG C5I.
|
||||
- **Information it adds beyond the resume:** why a data/platform engineer is applying for a DevOps
|
||||
infrastructure role; the Fraunhofer/Bosch "serving research and engineering teams" thread; the
|
||||
24/7-production constraint experience; one plain sentence naming the on-prem networking gap.
|
||||
- **Hook used (first-party, verified 2026-09-04):** NVIDIA's own live Zurich posting **JR2022878**
|
||||
(Senior HPC and AI Network Software Architect, posted the same week), scraped directly: the Zurich
|
||||
team is *"building the next generation of scalable AI infrastructure"* with emphasis on
|
||||
*"distributed training, real-time inference, and communication efficiency across large systems"*,
|
||||
alongside *"our distinguished team of researchers and engineers"*. This is the hook the letter uses.
|
||||
- **Hook DROPPED after verification -- Alps / Swiss AI Initiative.** The first-party NVIDIA newsroom
|
||||
release confirms Alps is HPE-built on Grace + HGX and operated by **CSCS, a unit of ETH Zurich, in
|
||||
Lugano** -- but it makes **no mention of EPFL or a "Swiss AI Initiative"**. That framing came from
|
||||
secondary coverage (HPCwire, Wikipedia) and is corrected here. Alps was left out of the letter
|
||||
anyway: it is about CSCS rather than NVIDIA's Zurich office, and `cl_reference.md` says to omit an
|
||||
unnecessary hook rather than spend a paragraph proving company familiarity.
|
||||
|
||||
## Phase 1 — Bullet Plan (proposed 2026-09-04)
|
||||
|
||||
**Confirmed 2026-09-04:** bundle `bundle_data_platform.md` (Data Platform / Infra) · 2-page
|
||||
International Tech, English, Bern contact line · framing as stated in Framing Strategy · build now,
|
||||
working-model question asked in parallel, **nothing submitted until it is answered**.
|
||||
|
||||
### ⚠ Two KB findings that change the plan
|
||||
1. **`BS-6` and `PP-3` exist only in `claims.json`.** They were added 2026-08-27 and never propagated
|
||||
to `experience_bosch.md`, any bundle, or `skills_taxonomy.md`. So **`bundle_data_platform.md`'s
|
||||
Priority Matrix does not list BS-6 at all** — following the matrix mechanically would omit the
|
||||
single best-matching piece of evidence in the whole record for this JD. Bullets for both are
|
||||
written from canonical scope, which is the higher authority anyway.
|
||||
2. **Bundle scope violation found and fixed.** `bundle_data_platform.md` §S3 framed `BS-4` as
|
||||
*"Designed and delivered observability stack … full monitoring suite"* — a delivered-capability
|
||||
claim over what `claims.json` calls a **proof of concept**, whose `forbidden` list includes "built
|
||||
the observability platform". Same defect the 2026-08-21 log entry found in
|
||||
`bundle_data_engineer.md` §S5, which said to check the other four bundles. This was the one that
|
||||
had it. Fixed, with a scope warning added. The other three bundles are clean.
|
||||
|
||||
### Swisscom — Staff Data, Analytics & AI Engineer (Oct 2023 – present) · budget 4–5
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★ | `SW-3` | **LEAD** — Python data applications on Kubernetes with GitLab CI/CD, agile DevOps team | Q4, Q6, R3 | **Direct** |
|
||||
| ★ | `SW-2` | Component Owner, business-critical Fulfillment ETL — availability, data quality, incidents, on-call | R4, R5, P1 | **Direct** |
|
||||
| ★ | `SW-5` | Security Champion 2025/26 + 100 h DevSecOps training | R4 "security", P1 | Direct (gate met: R4 and P1 both name security explicitly) |
|
||||
| ★ | `SW-1` | Migrated **his domains'** ETL to AWS (S3, Glue, Athena/Iceberg, Redshift, Airflow, **CloudFormation**) | R1 cloud half, IaC | Direct (scope-locked) |
|
||||
| o | `SW-7` | Governed data products in the company-wide Data Mesh | — | Available; weakest fit to a DevOps JD |
|
||||
| x | `SW-6` | PySpark | — | No JD hook |
|
||||
| x | `SW-4` | B2B data products and dashboards | — | No JD hook |
|
||||
| x | `SW-8` | LLM assistants | — | No JD hook — the JD has zero AI/ML content |
|
||||
|
||||
### Bosch — Senior Data Engineer, Data Analysis (Feb 2020 – Dec 2022) · budget 3–4
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★★ | `BS-6` | **Administered and automated the Linux server estate** underpinning fab analytics/ML — ML platform hosts, Docker hosts, backend services; **intensive Ansible incl. a credential plugin he wrote**; Git-versioned playbooks executed from Jenkins/GitLab | **Q2, Q3, Q5a, R2** | **Direct — the closest bullet in the record to this JD.** Not in the bundle matrix; written from `claims.json` |
|
||||
| ★ | `BS-1` | Containerized ML inference (Docker, Kubernetes, Ansible) into **24/7 semiconductor production** | Q4, R1, P1 | **Direct** — and the "cannot stop" constraint is the transferable HPC-adjacent story |
|
||||
| ★ | `BS-4` | Anomaly-detection **PoC** on ELK + Kafka (Docker), Grafana/Prometheus/Loki monitoring | R4 observability | Direct, **PoC framing mandatory** |
|
||||
| ★ | `BS-3` | Application Owner — SLOs, vendor management, training, 24/7 reliability | R4, R5, level signal | Direct |
|
||||
| o | `BS-2` | Data services (Python/Java/C#) over Oracle and Hadoop/Impala | — | Available; data-flavoured |
|
||||
| x | `BS-5` | TIBCO Spotfire + TAF 2022 | — | No JD hook |
|
||||
|
||||
### Fraunhofer CML — Research Software Engineer (Sep 2018 – Oct 2019) · budget 0–1
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★ | `FC-1` | **Independently established Jenkins CI/CD with quality gates** at a research institute | **R3 verbatim** — "CI/CD pipelines … for our R&D engineering teams" | **Direct.** Thematically the single best answer to R3 |
|
||||
| o | `FC-3` | Containerized microservices for the MISSION platform | Q4 | Available |
|
||||
| x | `FC-2` | ML/NLP components for ARTUS | — | No JD hook |
|
||||
|
||||
### Vizrt — Test Automation / DevOps Engineer (Jul 2017 – May 2018) · budget 0–1
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★ | `VZ-2` | Automated A/V integration tests, **quality gates integrated into the CI/CD pipeline** | **R4 second half, near-verbatim** — "integrate automated testing and quality assurance into deployment workflows" | **Direct** |
|
||||
| o | `VZ-1` | Python/C++ distributed transcoding backend | — | Available; `feedback_cpp_emphasis` says do not oversell C++ |
|
||||
|
||||
**Title note:** canonical `display_title` is **"Test Automation / DevOps Engineer"** (`official_title`
|
||||
is Test Automation Engineer). For RUAG the user asked to show DevOps alone. **Here I recommend keeping
|
||||
the full display title** — this JD requires exactly the test-automation-into-CI/CD skill, so the
|
||||
"Test Automation" half is an asset, not a liability. Flagging rather than deciding silently.
|
||||
|
||||
### Generali GDIS — IT Consultant (May 2015 – Jun 2017) · budget 0–1
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★ | `GN-1` | Introduced and held technical ownership of BDD test automation; **Jenkins CI/CD administration**, training, knowledge transfer | Q2 — this is where the ten-year DevOps thread **starts**, and it is the answer to "where do 10+ years come from?" | Direct |
|
||||
| x | `GN-2` / `GN-3` | RPA PoCs; Java/J2EE workflow features | — | No JD hook |
|
||||
|
||||
### Projects · budget 0–1
|
||||
| | ID | Achievement | JD hook | Match |
|
||||
|---|---|---|---|---|
|
||||
| ★ | `PP-3` | Self-hosted Debian server, ~10 years — administers **and hardens** (nginx, mail, Nextcloud, VPN, Docker services, Bitwarden) | **Q3 currency** and R4 security | Direct **but personal — must be labelled a personal self-hosted project.** `forbidden`: enterprise/production/multi-user, any uptime or scale figure, and **never as datacenter or physical-infrastructure evidence** |
|
||||
| x | `PP-1` / `PP-2` | Trading platform, AI-for-Trading nanodegree | — | No JD hook |
|
||||
|
||||
### Totals
|
||||
- **Recommended set: 12 bullets** — Swisscom 4 · Bosch 4 · Fraunhofer 1 · Vizrt 1 · Generali 1 · Projects 1
|
||||
- **Budget:** `resume_reference.md` §4 allows Swisscom 4–5, Bosch 3–4, the three earlier roles 0–1 each,
|
||||
typical total **11–14**. **PASS.**
|
||||
- **Remaining slots:** up to 2. Best fillers if the page needs them, in order: `FC-3` (containerized
|
||||
microservices, adds Q4 depth), `BS-2` (language breadth), `SW-7`.
|
||||
- **Forced exclusions:** **Capgemini — omitted entirely** (standing rule; the Nov 2014 – May 2015 gap is
|
||||
intentional). `SW-8`, `PP-1`, `PP-2` excluded — the JD contains no AI/ML content at all, and
|
||||
including them would dilute a pure infrastructure pitch.
|
||||
- **Bundeswehr:** omit. `BW-1` earned its place at RUAG and Kdo Cy because those JDs named military
|
||||
service as an advantage. **This JD does not**, and `BW-1` forbids implying technical military work.
|
||||
- **Cadence watch (`resume_reference.md` §7a):** at most ~half the bullets may carry an "X, Y and Z"
|
||||
triple; no two consecutive bullets may open with the same verb. `SW-3` and `BS-1` both naturally want
|
||||
to open with a containerization verb — vary them.
|
||||
- **Impact evidence still needed:** none is available. Every canonical claim is `metrics: unverified`,
|
||||
and P1 asks for goals achieved. This is the known standing weakness and it cannot be fixed here.
|
||||
|
||||
## Output Files
|
||||
- JD: `output/NVIDIA_SrDevOps_Zurich/JD_nvidia_sr_devops_jr2024256.txt`
|
||||
- Session: `output/NVIDIA_SrDevOps_Zurich/session_nvidia_sr_devops.md`
|
||||
- Resume source: `output/NVIDIA_SrDevOps_Zurich/e2e_nvidia_sr_devops_resume.tex`
|
||||
- Resume PDF: `output/NVIDIA_SrDevOps_Zurich/e2e_nvidia_sr_devops_resume.pdf` (2 pages)
|
||||
- Cover letter source: `output/NVIDIA_SrDevOps_Zurich/e2e_nvidia_sr_devops_cover_letter.tex`
|
||||
- Cover letter PDF: `output/NVIDIA_SrDevOps_Zurich/e2e_nvidia_sr_devops_cover_letter.pdf` (1 page, 279 body words)
|
||||
- Critique: `output/NVIDIA_SrDevOps_Zurich/critique_nvidia_sr_devops.md`
|
||||
|
||||
## Critique Summary (2026-09-04)
|
||||
- **Evidence Fit:** 64/100, Stretch - unchanged; documents do not move fit
|
||||
- **Hard gate:** FAIL x2 - required networking Gap, and the working model **still unresolved**
|
||||
- **Document Quality:** **82/100** (truth 22/25, hierarchy 17/20, bullets 15/20, relevance 11/15,
|
||||
skills 8/10, mechanics 9/10). Both validators PASS, 0 boxes, 0 forbidden terms
|
||||
- **Channel:** Weak
|
||||
- **Tier 1 fixes (2) - BOTH APPLIED 2026-09-05, see Edit History:** (1) **`Ubuntu` is 0 canonical** - the skills line reads "Linux administration
|
||||
(Debian/Ubuntu)" but `PP-3` is Debian only; the Debian→Ubuntu transfer argument belongs in an
|
||||
interview answer, not a skills line. Change to `(Debian)`. (2) **Hardening must be marked
|
||||
personal-side** - `claims.json` says the evidence "leans on the personal side; say so", and the
|
||||
Operations line lists "security hardening" beside employer-only evidence with no marker
|
||||
- **Tier 2:** headline advertises undated Linux/Ansible currency (named in the CL, optionally reorder
|
||||
to lead with Kubernetes); JD term coverage 19/38 = 50% with four honest additions available
|
||||
(configuration management, reliability, observability, orchestration); summary says teams "work on"
|
||||
the delivery layer where it should read "rely on"
|
||||
- **Blocking action is not a document fix:** resolve hybrid vs onsite with NVIDIA recruiting first
|
||||
|
||||
## Edit History
|
||||
|
||||
### Edit 1 (2026-09-05): critique Tier 1 + selected Tier 2
|
||||
**Source:** `critique_nvidia_sr_devops.md` Tier 1 #1/#2 and Tier 2 #2/#3, user-confirmed.
|
||||
**Scope:** Summary and Skills only. **No bullet was touched**, so the budget stayed at 13 and the
|
||||
cadence check could not regress.
|
||||
|
||||
| # | Change | Class | Why |
|
||||
|---|---|---|---|
|
||||
| 1 | `Linux administration (Debian/Ubuntu)` -> `(Debian)` | MODIFY | **Tier 1.** Ubuntu is 0 canonical; `PP-3` is a Debian server. The Debian->Ubuntu transfer argument is an interview answer, not a skills-line claim |
|
||||
| 2 | `security hardening` -> `security hardening (personal server)`, moved after a semicolon | MODIFY | **Tier 1.** `claims.json` instructs that hardening evidence "leans on the personal side; say so" |
|
||||
| 3 | `Ansible including custom plugins` -> `Ansible configuration management including custom plugins` | MODIFY | Q5a's exact phrase; `BS-6` says "configuration management and infrastructure automation" verbatim |
|
||||
| 4 | `Kubernetes, Docker` -> `Kubernetes container orchestration, Docker` | MODIFY | JD says "orchestrators like Kubernetes"; keeps `BS-1`'s bullet verb intact |
|
||||
| 5 | `SLO definition` -> `SLO definition and service reliability`; `Monitoring` -> `Monitoring and observability` | MODIFY | "reliability" is the JD's second named focus (`SW-2`, `BS-3`); "observability" itself is not forbidden, only "observability platform" |
|
||||
| 6 | Summary `teams work on` -> `teams rely on` | MODIFY | Teams ship *through* the delivery layer, not *on* it. Wording defect in the most-read sentence |
|
||||
|
||||
**Deliberately NOT applied — Tier 2 #1, headline reorder.** It is a positioning call for the user, and
|
||||
`\headline` sits in the header block, which `config.md` lists as a FIXED section. The recency concern
|
||||
it addresses is already stated explicitly in the cover letter.
|
||||
|
||||
**Deliberately NOT added:** HPC, bare metal, VMs, QEMU/KVM, virtualization, Groovy, GitHub. These are
|
||||
the genuine gaps; adding them for ATS would be fabrication.
|
||||
|
||||
| Metric | Before | After | Delta |
|
||||
|---|---|---|---|
|
||||
| Page count | 2 | 2 | 0 |
|
||||
| Over/underfull boxes | 0 | 0 | 0 |
|
||||
| Validator warnings | 0 | 0 | 0 |
|
||||
| Bullets | 13 | 13 | 0 |
|
||||
| JD term coverage (rendered text only) | 17/38 (45%) | **21/38 (55%)** | **+4** |
|
||||
| Tier 1 findings open | 2 | **0** | **-2** |
|
||||
| Page-1 white space | ~15% | ~12% | slightly better (skills grew one line) |
|
||||
|
||||
**Measurement correction:** the coverage figures first reported (50% -> 61%) were counted over the raw
|
||||
`.tex` including LaTeX comments, and the provenance comments in this file contain terms like
|
||||
"configuration management", "observability" and "Ubuntu". Recomputed over rendered text only, the true
|
||||
figures are **45% -> 55%**. The +4 delta is unchanged; the baseline was inflated.
|
||||
|
||||
Nothing worsened. Rendered PDF re-inspected: no "Ubuntu" anywhere in the output, all six changes
|
||||
present, page break and position integrity unchanged.
|
||||
|
||||
### Edit 2 (2026-09-05): Bash added after user confirmation
|
||||
**Source:** user confirmation, closing the open KB question raised at the end of Phase 2.
|
||||
- **`claims.json`: new skill `Bash / shell scripting`**, `production-historical-and-personal-current`,
|
||||
`output: allowed`. Evidence basis mirrors Linux administration - professional at Bosch 2020-2022
|
||||
(`BS-6`, Linux estate and the Ansible control path) and personal/current on the `PP-3` Debian server.
|
||||
The note explicitly records that it does **not** license Groovy (still unverified and forbidden) and
|
||||
does **not** license systems-programming or kernel-level claims.
|
||||
- **Resume:** Languages line now reads `Python, Bash, SQL`.
|
||||
- **This is the third canonical gap of exactly this shape**, after Ansible and Linux administration
|
||||
(both 2026-08-27) - a real, currently relevant skill that was simply unrecorded, and therefore
|
||||
unwritable under the evidence-first rule.
|
||||
- Verification: `claims.json` valid, system validator PASS, document validator PASS, 2 pages, 0 boxes,
|
||||
13 bullets unchanged. JD term coverage **55% -> 58%** (rendered text only). `groovy` confirmed absent
|
||||
from both documents.
|
||||
|
||||
## SUBMITTED 2026-09-05
|
||||
|
||||
User submitted the application. Recorded in `application_cohort.json` (record now 7 entries) and in the
|
||||
scout decision log as `applied`.
|
||||
|
||||
**Carried into screening, unresolved by choice:** hybrid vs 5-day onsite was **never answered before
|
||||
sending**, so it is now a live screening topic rather than a pre-cleared one - the same pattern as
|
||||
RUAG's compensation and PSP eligibility. Thun-Zuerich is ~1h50 each way, so a 5-day-onsite answer is
|
||||
the main disqualifier to watch for. Comp is not a risk: levels.fyi Greater Zuerich IC3 median
|
||||
~CHF 204k, IC4 ~CHF 379k.
|
||||
|
||||
**Channel: Weak - the 7th consecutive cold submit.** Under the new channel rule
|
||||
(`application_strategy.md`, 2026-09-05) this posting published no named contact, so cold was the only
|
||||
option available here.
|
||||
|
||||
## Finalization (2026-09-05) - build record
|
||||
|
||||
Ran `shared_ops.md` -> Finalization steps **1-4 only**. Steps 5 and 6 were deliberately **NOT** run:
|
||||
|
||||
- **Step 5 (record submission date) - NOT DONE.** There is no submission date. The application is
|
||||
blocked on the working-model question.
|
||||
- **Step 6 (`cohort_tracker.py add`) - NOT DONE, and this is the important one.** Adding it would
|
||||
consume a cohort slot for an application that may still become a documented NO-GO, and **there is no
|
||||
free slot of the right class anyway** (6/10; Adjacent 2/2 and Stretch 1/1 both consumed; verified
|
||||
read-only via `cohort_tracker.py summary`). Precedent: the Citadel entry in `CLAUDE.md` records
|
||||
"Cohort entry and decision-log entry deliberately NOT written - no confirmed send date."
|
||||
**Add to the cohort only after it is actually sent.**
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| Session file | present |
|
||||
| Resume `.tex` + `.pdf` | present, 2 pages, 0 boxes |
|
||||
| Cover letter `.tex` + `.pdf` | present, 1 page, 0 boxes (Cover Letter Decision: YES) |
|
||||
| Critique | present (STALE BY DESIGN - its own findings were applied) |
|
||||
| Canonical system validator | PASS, 0 warnings |
|
||||
| Document validator - resume | PASS, 0 warnings |
|
||||
| Document validator - cover letter | PASS, 0 warnings |
|
||||
| Submission PDFs | `Dennis_Thiessen_Resume.pdf`, `Dennis_Thiessen_Cover_Letter.pdf` - **MD5-verified identical to source** |
|
||||
| Letter date | Recompiled; now reads **5 September 2026** |
|
||||
| Scout decision log | recorded as **`paused`**, not `applied` - keeps it out of re-triage without implying a submission |
|
||||
|
||||
**⚠ Staleness warning, per `config.md` Output Rules.** The submission-named PDFs are copies, not build
|
||||
targets, and the letter carries ` oday`. **If this is sent on any day after 2026-09-05, recompile the
|
||||
cover letter and refresh both submission copies first** - otherwise the letter goes out with a stale
|
||||
date under exactly the filename that gets attached.
|
||||
|
||||
## Status
|
||||
- **Fit gate:** DONE — Evidence Fit 64/100, Stretch, hard gate FAIL ×2, proceeding on user override
|
||||
- **Phase 0:** DONE
|
||||
- **Phase 1:** DONE - confirmed 2026-09-04; 13 bullets after adding SW-7 for page-1 balance, budget PASS
|
||||
- **Resume:** DONE - 2 pages, 13 bullets, validator PASS 0 warnings, 0 over/underfull boxes, text order verified, both pages visually inspected
|
||||
- **Cover letter:** DONE -- 1 page, 279 body words, validator PASS 0 warnings, 0 boxes, hooks first-party verified, package cohesion checked
|
||||
- **Critique:** **STALE BY DESIGN** (was CURRENT 2026-09-04; Edit 1 on 2026-09-05 applied its own findings) - measured Document Quality was **82/100** pre-edit with 2 Tier 1 findings; **both are now closed** and term coverage rose 50%->61%, so the document is better than 82 but that number is **not re-measured - never quote a post-edit estimate as a score**. Evidence Fit 64 and hard gate FAIL x2 are unchanged: documents do not move fit
|
||||
- **Next:** `/critique output/NVIDIA_SrDevOps_Zurich/session_nvidia_sr_devops.md` — and **resolve the hybrid/onsite question before anything is submitted**
|
||||
|
||||
## Generation notes (2026-09-04)
|
||||
- **Bosch bullet swap vs the Phase 1 table:** `BS-3` (Application Owner) dropped in favour of splitting
|
||||
`BS-6` into two bullets — the Linux estate, and the custom Ansible credential plugin. The plugin is
|
||||
the most distinctive automation evidence in the record for this JD, and `BS-3`'s ownership signal is
|
||||
already carried by `SW-2` Component Owner. Bosch stays at 4, within the 3–4 budget.
|
||||
- **`SW-7` added as a 5th Swisscom bullet** (budget allows 4–5) to close page-1 white space with real
|
||||
evidence rather than padding.
|
||||
- **Forced page break kept.** Letting LaTeX flow naturally filled page 1 but split the Bosch position
|
||||
across pages with no continuation header — an information-hierarchy cost worse than white space.
|
||||
Tested both, reverted. Roughly 15% white space remains at the foot of page 1 and ~25% on page 2;
|
||||
`resume_reference.md` §4 explicitly permits this ("a strong shorter resume is better than a full page
|
||||
padded with weak evidence") and `critical_rules.md` §7 sets no page-fill quota.
|
||||
- **Cadence.** First build tripped the §7a warning at **10/12 bullets (83%)** — the SBB failure mode.
|
||||
Five bullets were reshaped (sentences only, no claim, scope or verb changed) and the validator now
|
||||
passes clean.
|
||||
- **Two template-inherited defects caught at final review**, the same class as the "12+ years" line:
|
||||
(a) `PP-3` carried a `2015 -- Present` header date, but `claims.json` records only a **self-reported
|
||||
"~10 years"** — a precise start year asserts more than the KB supports. Header date replaced with
|
||||
`Ongoing`; the bullet keeps the approximation. (b) The Education block carried **`grade 1.0`** from
|
||||
the template. `claims.json` `grade_output_rule` permits the thesis grade *"only where academic
|
||||
performance is genuinely valued"* — a 10+-years hands-on infrastructure role is not that. Removed;
|
||||
the thesis title stays.
|
||||
- **Carry into `/make-cl`: the recency split needs one sentence.** The headline leads with
|
||||
"Linux, Ansible & Kubernetes" and the summary says "Ansible-driven Linux server automation", both
|
||||
undated, while the employer evidence for both sits under **Feb 2020 – Dec 2022** and the only
|
||||
*current* Linux evidence is a personal project at the foot of page 2. The bullets are correctly
|
||||
dated so nothing is false, but the infra-engineer reviewer persona will form an expectation from the
|
||||
headline and find it three years stale. The CL plan already names the networking gap; **it must name
|
||||
this too.**
|
||||
- **Headline flag, not a fix.** The headline reads **"Staff Engineer"**, not his canonical
|
||||
**"Staff Data, Analytics & AI Engineer"**. Defensible — the Swisscom header carries the formal title
|
||||
two inches below, and a headline is positioning rather than a title claim — but it is the same shape
|
||||
as the Vizrt title decision, so it is flagged rather than silently propagated.
|
||||
- **Open KB question — Bash.** `claims.json` has no entry for shell scripting, so it is **not listed**
|
||||
in Skills even though the JD names it ("Bash, Python or Groovy") and ten years of Debian
|
||||
administration plus Ansible work plainly involve it. Same shape as the Ansible and Linux gaps found
|
||||
2026-08-27: probably true, simply unrecorded. **Worth confirming with the user and adding.** Groovy
|
||||
stays out regardless — there is no evidence for it.
|
||||
Reference in new issue
Block a user