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,95 @@
|
||||
====================================================================================================
|
||||
URL: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Switzerland-Zurich/Senior-DevOps-Engineer_JR2024256
|
||||
HTTP: 200
|
||||
TITLE: Senior DevOps Engineer
|
||||
--------------------------------------------------------------------------------
|
||||
Skip to main content
|
||||
CAREERS AT NVIDIA
|
||||
Sign In
|
||||
Home
|
||||
Search for Jobs
|
||||
Senior DevOps Engineer page is loaded
|
||||
Senior DevOps Engineer
|
||||
Apply
|
||||
locations
|
||||
Switzerland, Zurich
|
||||
time type
|
||||
Full time
|
||||
posted on
|
||||
Posted 3 Days Ago
|
||||
job requisition id
|
||||
JR2024256
|
||||
|
||||
NVIDIA is a world leader in Artificial Intelligence, High-Performance Computing, and Visualization. Our invention, the GPU, has transformed modern computing and is at the heart of our products and services. We set the standard in groundbreaking technology, making NVIDIA one of the technology industry’s most desirable employers. We are seeking a talented and passionate DevOps Engineer to join our team.
|
||||
|
||||
If you excel at creative problem-solving, thrive in a fast-paced environment, and are eager to collaborate with distributed teams, we want to hear from you!
|
||||
|
||||
What You’ll Be Doing:
|
||||
|
||||
Design, build, and maintain robust HPC and cloud infrastructure utilizing state-of-the-art technologies and cutting-edge hardware.
|
||||
|
||||
Automate the deployment, configuration, and management of network and compute resources, including bare metal servers, network switches, and VMs.
|
||||
|
||||
Develop and streamline CI/CD pipelines to enable continuous integration and delivery for our R&D engineering teams.
|
||||
|
||||
Optimize infrastructure for availability, performance, observability, security, scalability, and cost-efficiency. Collaborate closely with software development teams to integrate automated testing and quality assurance into deployment workflows.
|
||||
|
||||
Troubleshoot and resolve issues spanning infrastructure, networking, hardware, and software environments. Stay current with industry trends and incorporate best practices in DevOps and infrastructure management.
|
||||
|
||||
What We Need to See:
|
||||
|
||||
Bachelor’s or Master’s degree in Computer Science, Data Science, Engineering, or a related field.
|
||||
|
||||
10+ years of experience building and maintaining DevOps processes, with a strong focus on automation and reliability.
|
||||
|
||||
Solid experience with major Linux distributions (CentOS, Ubuntu, RedHat). Proficient scripting skills in Bash, Python, or Groovy.
|
||||
|
||||
Deep understanding of Linux virtualization technologies (QEMU/KVM, Docker) and orchestrators like Kubernetes.
|
||||
|
||||
Hands-on experience with configuration management tools (e.g., Ansible). Strong expertise in on-premises networking and compute infrastructure.
|
||||
|
||||
Familiarity with CI/CD tools such as Jenkins, GitHub/GitLab, Kubernetes, and GitHub Actions. Excellent written and verbal communication skills in English.
|
||||
|
||||
Ways To Stand Out From The Crowd:
|
||||
|
||||
Experience working in agile DevOps teams and complex technical environments Proven ability to achieve or exceed security, reliability, scalability, and availability goals.
|
||||
|
||||
In-depth understanding of modern HPC and infrastructure architectures.
|
||||
|
||||
Passion for staying at the forefront of emerging technologies and best practices
|
||||
|
||||
Join and work on technologies that are transforming entire industries. We offer an innovative and inclusive environment where your contributions matter, and your ideas shape the future.
|
||||
|
||||
Similar Jobs (5)
|
||||
Senior HPC AI Cluster Engineer
|
||||
locations
|
||||
2 Locations
|
||||
time type
|
||||
Full time
|
||||
posted on
|
||||
Posted 24 Days Ago
|
||||
Senior Software Developer
|
||||
locations
|
||||
2 Locations
|
||||
time type
|
||||
Full time
|
||||
posted on
|
||||
Posted 30+ Days Ago
|
||||
Senior Site Reliability Engineer, DGX Cloud
|
||||
locations
|
||||
2 Locations
|
||||
time type
|
||||
Full time
|
||||
posted on
|
||||
Posted 15 Days Ago
|
||||
View All 5 Jobs
|
||||
|
||||
NVIDIA pioneered accelerated computing. Today, our AI infrastructure powers global intelligence, transforming every industry.
|
||||
|
||||
|
||||
|
||||
Learn more about NVIDIA.
|
||||
|
||||
Follow Us
|
||||
Applicant Privacy Policy
|
||||
© 2026 Workday, Inc. All rights reserved.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,52 @@
|
||||
% NVIDIA — Senior DevOps Engineer (Zurich, req JR2024256)
|
||||
% Cover Letter Decision: YES (session_nvidia_sr_devops.md).
|
||||
% Every claim traceable to the resume and to resume_builder/canonical/claims.json.
|
||||
% Hook: NVIDIA's own live Zurich posting JR2022878, scraped first-party 2026-09-04.
|
||||
|
||||
\documentclass[11pt,a4paper]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\usepackage[a4paper,left=0.85in,right=0.85in,top=0.7in,bottom=0.7in]{geometry}
|
||||
\usepackage{parskip}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{hidelinks}
|
||||
\pagestyle{empty}
|
||||
\setlength{\parindent}{0pt}
|
||||
|
||||
\begin{document}
|
||||
|
||||
{\Large\bfseries Dennis Thiessen, M.Eng.}\par
|
||||
Bern, Switzerland $\vert$
|
||||
\href{mailto:dennis@thiessen.io}{dennis@thiessen.io} $\vert$ +41 795 955 585 $\vert$
|
||||
\href{https://linkedin.com/in/dennis-thiessen}{LinkedIn}
|
||||
|
||||
\vspace{1.5em}
|
||||
Hiring Team\\
|
||||
NVIDIA\\
|
||||
Zurich, Switzerland
|
||||
|
||||
\vspace{1em}
|
||||
\today
|
||||
|
||||
\vspace{1em}
|
||||
\textbf{Application for Senior DevOps Engineer (JR2024256)}
|
||||
|
||||
\vspace{0.8em}
|
||||
Dear Hiring Team,
|
||||
|
||||
Your Zurich team builds software for distributed AI training and inference at cluster scale. Researchers and engineers doing that kind of work need their infrastructure and their build pipelines to be dependable and to stay out of the way, and that is the side of the job I have spent most of my career on. At Fraunhofer CML I set up the research team's first Jenkins CI/CD pipeline. At Bosch I administered and automated the Linux servers carrying a semiconductor fab's analytics and ML workloads.
|
||||
|
||||
The Bosch work is the closest thing in my record to this role. That estate ran on Ansible playbooks kept in Git and applied from Jenkins and GitLab pipelines; when repeated credential lookups became a drag, I wrote an Ansible plugin that pulled secrets from our keystore and cached them locally. It is also where I integrated containerized ML inference into a production line that could not be stopped for a deployment --- the constraint that taught me most about doing infrastructure work carefully. At Swisscom I now build and operate Python services on Kubernetes with GitLab CI/CD, and I carry on-call duty for the components I own.
|
||||
|
||||
Two things are worth saying plainly. My Linux and Ansible work as an employee ran through 2022; since then my day job has been Kubernetes and AWS, and my hands-on Linux practice has been the Debian server I have run and hardened myself for about ten years. And I have not worked in on-premises networking --- I have automated and operated the compute side, and switches and fabric would be new to me. I am an EU citizen with a Swiss B permit, already living and working in Switzerland.
|
||||
|
||||
I would welcome the chance to talk about how this experience could support your Zurich engineering team.
|
||||
|
||||
Kind regards,
|
||||
|
||||
\vspace{1.5em}
|
||||
Dennis Thiessen
|
||||
|
||||
\end{document}
|
||||
@@ -0,0 +1,104 @@
|
||||
% NVIDIA — Senior DevOps Engineer (Zurich, req JR2024256)
|
||||
% International Tech profile. Generated 2026-09-04 from resume_builder/canonical/claims.json
|
||||
% plus normalized experience files. Session: session_nvidia_sr_devops.md
|
||||
|
||||
\documentclass{resume}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
% English-language document: TeX's default hyphenation patterns are correct here.
|
||||
% A German package would need \usepackage[ngerman]{babel} — see the template's language note.
|
||||
\usepackage[a4paper,left=0.65in,right=0.65in,top=0.55in,bottom=0.55in]{geometry}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{hidelinks}
|
||||
\usepackage[version=4]{mhchem}
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\fancyfoot[R]{\small \thepage/\pageref{LastPage}}
|
||||
|
||||
\name{Dennis Thiessen, M.Eng.}
|
||||
\headline{Staff Engineer $\vert$ Linux, Ansible \& Kubernetes $\vert$ CI/CD and Infrastructure Automation}
|
||||
\contactline{Bern, Switzerland $\vert$ \href{mailto:dennis@thiessen.io}{dennis@thiessen.io} $\vert$ +41 795 955 585 $\vert$ \href{https://linkedin.com/in/dennis-thiessen}{LinkedIn} $\vert$ EU citizen, Swiss B permit}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{rSection}{Summary}
|
||||
Engineer with over ten years building the automation and delivery layer that engineering and research teams rely on: Jenkins and GitLab CI/CD, containerized delivery on Kubernetes, and Ansible-driven Linux server automation. Integrated containerized ML inference into a continuously operating semiconductor fab, and today owns business-critical pipeline components on call at Swisscom.
|
||||
\end{rSection}
|
||||
|
||||
\begin{rSection}{Technical Skills}
|
||||
% Debian only: claims.json has Debian x2, Ubuntu x0 (PP-3 is a Debian server). The
|
||||
% Debian-to-Ubuntu transfer argument is an interview answer, not a skills-line claim.
|
||||
\skillline{Infrastructure and automation}{Linux administration (Debian), Ansible configuration management including custom plugins, Kubernetes container orchestration, Docker, infrastructure as code (CloudFormation)}
|
||||
\skillline{CI/CD and delivery}{GitLab CI/CD, Jenkins, containerized build and deployment, automated testing and quality gates}
|
||||
% Hardening is marked personal-side per the explicit claims.json instruction on Linux
|
||||
% administration: the evidence "leans on the personal side; say so".
|
||||
\skillline{Operations}{On-call and incident response, SLO definition and service reliability, application and component ownership, DevSecOps; security hardening (personal server)}
|
||||
\skillline{Monitoring and observability}{ELK Stack (Elasticsearch, Logstash, Kibana), Grafana, Prometheus, Loki --- proof-of-concept work}
|
||||
\skillline{Cloud and data}{AWS (S3, Glue, Athena/Iceberg, Redshift, Airflow), Apache Kafka, PySpark, Oracle, Teradata, Hadoop/Impala}
|
||||
% Bash added 2026-09-05 after the user confirmed it; now canonical in claims.json
|
||||
% (production-historical-and-personal-current, same evidence basis as Linux administration).
|
||||
% Groovy stays out - still unverified and forbidden.
|
||||
\skillline{Languages and certifications}{Python, Bash, SQL; Java and C\# (professional, historical); C++ (limited historical use). AWS Solutions Architect -- Associate; Data Engineering with AWS; iSAQB CPSA-F; ITIL Foundation}
|
||||
\end{rSection}
|
||||
|
||||
\begin{rSection}{Professional Experience}
|
||||
|
||||
\begin{rSubsection}{Swisscom (Schweiz) AG}{Oct 2023 -- Present}{Staff Data, Analytics \& AI Engineer (promoted from Senior, Apr 2025)}{Bern, Switzerland}
|
||||
\item Build and operate Python data applications on Kubernetes with GitLab CI/CD, covering containerized delivery from test through production operation in an agile team.
|
||||
\item Own business-critical Fulfillment ETL components as Component Owner with on-call duty for their production operation and data quality.
|
||||
\item Migrated the Fulfillment and Product Analysis domains' legacy Teradata and Oracle ETL onto Swisscom's AWS platform using Glue, Athena/Iceberg, Redshift, Airflow and CloudFormation, contributing to the wider migration programme.
|
||||
\item Serve as the team's Security Champion for 2025/2026 with responsibility for security compliance and deviation tracking across its pipelines, after 100 hours of DevSecOps training.
|
||||
\item Model and build governed data products with active metadata management inside Swisscom's company-wide Data Mesh on AWS, using Glue, Athena and CloudFormation.
|
||||
\end{rSubsection}
|
||||
|
||||
\end{rSection}
|
||||
|
||||
% Forced break kept: letting LaTeX flow naturally split the Bosch position across pages with no
|
||||
% continuation header, which costs more in information hierarchy than page-1 white space does.
|
||||
\newpage
|
||||
|
||||
\begin{rSection}{Professional Experience (continued)}
|
||||
|
||||
\begin{rSubsection}{Robert Bosch Semiconductor Manufacturing Dresden GmbH}{Feb 2020 -- Dec 2022}{Senior Data Engineer, Data Analysis (promoted from Data Engineer, Jan 2021)}{Dresden, Germany}
|
||||
\item Administered and automated the Linux server estate behind fab analytics and ML workloads --- ML platform hosts, Docker hosts and backend services --- with Ansible playbooks version-controlled in Git and applied from Jenkins and GitLab pipelines.
|
||||
\item Extended Ansible with a custom credential plugin that retrieved secrets from a password keystore and cached them locally, cutting repeated lookups.
|
||||
\item Integrated containerized ML inference into a continuously operating semiconductor fab using Docker, Kubernetes and Ansible, automating image-based defect classification and reducing manual inspection work for line engineers.
|
||||
\item Built an anomaly-detection proof of concept on ELK and Kafka in Docker, with Grafana, Prometheus and Loki monitoring, to validate centralized logging and alerting for 24/7 production systems.
|
||||
\end{rSubsection}
|
||||
|
||||
\begin{rSubsection}{Fraunhofer CML}{Sep 2018 -- Oct 2019}{Research Software Engineer}{Hamburg, Germany}
|
||||
\item Set up the research team's first Jenkins CI/CD pipeline with quality gates while developing C\#/.NET software and containerized microservices for maritime research platforms.
|
||||
\end{rSubsection}
|
||||
|
||||
\begin{rSubsection}{Vizrt}{Jul 2017 -- May 2018}{Test Automation / DevOps Engineer}{Bergen, Norway}
|
||||
\item Automated audio and video integration testing in Python for broadcast software, then wired the suite into CI/CD quality gates to shorten the feedback loop on new features.
|
||||
\end{rSubsection}
|
||||
|
||||
\begin{rSubsection}{Generali Deutschland Informatik Services GmbH}{May 2015 -- Jun 2017}{IT Consultant}{Hamburg, Germany}
|
||||
\item Introduced BDD test automation through a proof of concept and held technical responsibility for the suite and its Jenkins jobs, training colleagues across the internal Java community.
|
||||
\end{rSubsection}
|
||||
|
||||
\end{rSection}
|
||||
|
||||
\begin{rSection}{Personal Projects}
|
||||
% No date range: claims.json PP-3 records only a self-reported "~10 years", so a precise
|
||||
% start year would assert more than the KB supports. The bullet carries the approximation.
|
||||
\begin{rSubsection}{Self-hosted Linux server}{Ongoing}{Personal project}{}
|
||||
\item Run and harden a self-hosted Debian server in continuous operation for around ten years, serving nginx, mail, Nextcloud, a VPN and Docker services.
|
||||
\end{rSubsection}
|
||||
\end{rSection}
|
||||
|
||||
\begin{rSection}{Education}
|
||||
\compactentry{M.Eng. Computer Aided Engineering (Software Design \& Engineering), Universität der Bundeswehr München}{Apr 2012 -- Oct 2013}
|
||||
% Thesis grade omitted: claims.json grade_output_rule allows the 1.0 only "where academic
|
||||
% performance is genuinely valued". A 10+-years hands-on infrastructure role is not that.
|
||||
Thesis at Tongji University, Shanghai: \textit{Development of a Web-Based Remote Fault Diagnosis System}.
|
||||
|
||||
\compactentry{B.Eng. Information and Telecommunication Technologies, Universität der Bundeswehr München}{Oct 2009 -- Oct 2012}
|
||||
\end{rSection}
|
||||
|
||||
\end{document}
|
||||
@@ -0,0 +1,59 @@
|
||||
\ProvidesClass{resume}[2026/07/27 Evidence-first professional resume]
|
||||
\LoadClass[11pt,a4paper]{article}
|
||||
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage{lastpage}
|
||||
\RequirePackage{parskip}
|
||||
\RequirePackage{needspace}
|
||||
|
||||
\pagestyle{empty}
|
||||
\setlength{\parindent}{0pt}
|
||||
|
||||
\def\@resumename{}
|
||||
\def\@resumeheadline{}
|
||||
\def\@resumecontact{}
|
||||
|
||||
\newcommand{\name}[1]{\def\@resumename{#1}}
|
||||
\newcommand{\headline}[1]{\def\@resumeheadline{#1}}
|
||||
\newcommand{\contactline}[1]{\def\@resumecontact{#1}}
|
||||
|
||||
\newcommand{\printresumeheader}{%
|
||||
{\LARGE\bfseries \@resumename}\par
|
||||
\vspace{0.15em}
|
||||
\ifthenelse{\equal{\@resumeheadline}{}}{}{\@resumeheadline\par}
|
||||
\vspace{0.1em}
|
||||
{\small \@resumecontact}\par
|
||||
\vspace{0.45em}
|
||||
}
|
||||
|
||||
\AtBeginDocument{\printresumeheader}
|
||||
|
||||
\newenvironment{rSection}[1]{%
|
||||
\vspace{0.35em}
|
||||
{\bfseries #1}\par
|
||||
\vspace{0.1em}\hrule\vspace{0.35em}
|
||||
}{%
|
||||
\vspace{0.2em}
|
||||
}
|
||||
|
||||
% Arguments: employer, dates, formal title, location.
|
||||
\newenvironment{rSubsection}[4]{%
|
||||
\Needspace{6\baselineskip}%
|
||||
{\bfseries #1}\hfill{\small #2}\par
|
||||
{\itshape #3}\hfill{\itshape #4}\par
|
||||
\vspace{0.1em}
|
||||
\begin{itemize}[leftmargin=1.25em,label=\textbullet,itemsep=0.18em,topsep=0.15em,parsep=0pt,partopsep=0pt]
|
||||
}{%
|
||||
\end{itemize}
|
||||
\vspace{0.25em}
|
||||
}
|
||||
|
||||
\newcommand{\skillline}[2]{%
|
||||
\textbf{#1:} #2\par
|
||||
\vspace{0.08em}
|
||||
}
|
||||
|
||||
\newcommand{\compactentry}[2]{%
|
||||
\textbf{#1}\hfill #2\par
|
||||
}
|
||||
@@ -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