Files
claude-resume-kit/config.md
T
dennisthiessenandClaude Opus 5 a0f844c143 feat(ruag): submit AI Engineer C5I, and record the Kdo Cy package
RUAG C5I - AI Engineer C5I (Thun, app ID 18027): SUBMITTED 2026-08-27.
Evidence Fit 74/100, fit class Stretch, title-capability hard gate FAIL
(R1 build/operate the AI-LLM platform and R2 in-house LLM/retrieval are
Adjacent, not Direct) - all knowingly accepted under the user's explicit
Phase 0 override. Consumes the cohort's sole Stretch slot: cohort is now
6/10, Stretch 1/1.

Critique ran twice. Round 1 scored the documents 85/100 and raised three
Tier 1 items; Round 2, after the fixes, scores 93/100 with truth and
provenance 24/25 and zero Tier 1 findings. Evidence Fit did not move and
was not allowed to: PP-3 is a personal project and cannot convert an
Adjacent title-capability into a Direct one.

Documents (.tex is the deliverable; PDFs are gitignored):
- resume 2pp/13 bullets, letter 1pp/295 words, both validators PASS
- headline is now the canonical title "Staff Data, Analytics & AI
  Engineer", which puts the req's own word above the fold
- PP-3 added as a Projekte section - the only current Linux/hardening
  evidence, since BS-6 ended Dec 2022
- the letter names the AI-platform gap in one sentence, then connects
  SW-5 to C5I's stated DevSecOps model
- "governte" -> "governance-konforme"; JD term coverage 18/22 -> 22/22
  claimable, with all six gap terms still correctly absent

Two defects found and fixed that the first critique missed:
- the resume never loaded babel, so a German document was hyphenated
  with English patterns (Hal-bleiterfertigung, Tran-skription). Fixed
  with babel[ngerman] plus a Transkription exception; this also cleared
  an overfull box. Check this on every future German package -
  resume_template.tex likely has the same omission.
- IBM AI Engineering had no primary-source record. Certificate read
  directly (IBM via Coursera, 4 Jun 2020, verify 3ZBZFVAL6A34), recorded
  as entry #8; it also proves PyTorch, now evidence: certification.

Also included: the submitted Kdo Cy DevOps Engineer III package, the
Capgemini omit rule promoted into config.md, BW-1 canonicalized in
experience_bundeswehr.md, and a scout.py comment correcting the
telenorgroup slug from "near-empty" to a claimed board serving stale
phantom listings that DEMO_TITLES would not catch.

Compensation, PSP/project eligibility and role level were never resolved
before sending and are now live screening topics.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
2026-08-27 23:20:17 +02:00

121 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Configuration
> Edit this file with your personal details. Every skill reads this file.
---
## Personal Info
- **Name:** Dennis Thiessen
- **Degree suffix:** M.Eng.
- **Email:** dennis@thiessen.io
- **Phone:** +41 795 955 585
- **Location (contact line):** **Bern, Switzerland** by default. Use **Thun, Switzerland / Thun, Schweiz** for roles in **Thun or its immediate surroundings** - the user lives in Thun, and local residency at the employer's own location is a real screening signal for traditional Swiss employers (user-decided 2026-08-27). This applies to the **contact line only**; a position's own location stays factual, e.g. the Swisscom entry keeps Bern.
- **LinkedIn:** linkedin.com/in/dennis-thiessen
- **Google Scholar:** [leave blank — not applicable]
- **ORCID:** [leave blank — not applicable]
- **Website:** [URL or leave blank]
---
## Document Preferences
- **Default profile:** International Tech (US-tech/FAANG conventions for roles in Europe)
- **International Tech resume:** 2 pages, 10.5--11pt, conventional employer/title/date headers
- **Swiss/DACH resume:** 2 pages by default; 3 only when the employer explicitly expects a fuller local dossier
- **Experience bullets:** 11--14 total as a relevance guide, not a page-fill quota; use natural 1--3 line lengths
- **Skills:** 4--6 compact lines; evidence-backed skills only; certifications listed once
- **Summary:** Optional; maximum 2--3 rendered lines
- **Photo:** Omit for International Tech. Optional only for a traditional Swiss/DACH employer and only by user choice
- **Personal data:** Never include date of birth, marital status, gender, or children
- **Work authorization:** German citizen (EU), Swiss B residence permit; no visa or employer sponsorship required. Store for portal questions and use on the resume only when it resolves recruiter uncertainty
- **Cover letter:** Conditional, following `resume_builder/reference/cl_reference.md`; never generate merely to complete a fixed package
---
## Provenance Flags
Track the publication status of your work. Skills check this table before every output.
| Item | Status | Correct Framing |
|------|--------|----------------|
| All work experience | professional/employed | Owned/built/led — full-ownership verbs where you were primary developer |
| RiskAhead app | personal project (discontinued) | "Personal project, 20152017" — not peer-reviewed, not published |
| Master's thesis (Tongji University) | academic — completed | "Master's Thesis, Tongji University, Shanghai" |
| VICE article mention | media coverage of RiskAhead | "Featured in VICE (Germany)" — not a publication |
---
## KB Corrections Log
Verified errors to never re-introduce. Add entries as you catch mistakes.
| Correction | Details |
|-----------|---------|
| Capgemini omitted from all documents | **Standing user preference.** Capgemini Deutschland GmbH (Nov. 2014 - Mai 2015) must **never** appear on a resume, CV or cover letter - only six months, and the user does not want the short-stay impression. The visible chronology starts at **Generali, Mai 2015**. **The resulting Nov. 2014 - Mai 2015 gap is intentional and must never be "fixed" or explained away.** Any tenure claim in a summary line ("over ten years") is measured against the visible record from Mai 2015. Regressed once into the RUAG C5I draft on 2026-08-27 because this rule lived only in memory. |
| Degree name | B.Eng. official name: "Information and Telecommunication Technologies". M.Eng. official name: "Computer Aided Engineering" with focus in Software Design and Software Engineering. Use "Software Design & Engineering" as the focus description on resumes — more recognizable than the official programme name. |
| Education dates | B.Eng. **Oct 2009 Oct 2012** (start 10/2009, finished 01.10.2012). M.Eng. **Apr 2012 Oct 2013** (01.04.2012 01.10.2013). Programmes overlap by design — do NOT "fix" the overlap. Both at Universität der Bundeswehr München. |
| Swisscom title | Senior: Oct 2023 Apr 2025. Staff (Engineer IV): Apr 2025 Present. Use "Staff Data, Analytics & AI Engineer" for current role; note promotion if space allows. |
| Swisscom data domains | Fulfillment and Product Analysis — use both when describing scope of pipeline work. |
| French + Italian in Zeugnis | Swisscom Zeugnis lists French and Italian — this is HR boilerplate, NOT accurate. Do NOT include on any resume or CV. Actual languages: German (native), English (fluent), Norwegian + Russian (basic, non-professional). |
| Swisscom Security Champion | NOT an award. It is a mandatory team role (security point of contact). Dennis holds the badge for 2025/2026 only — NOT "3 consecutive years." Do not frame as an award or honor. Only include when JD requires security experience. |
| Swisscom AWS migration — not solo | **User-corrected 2026-07-27.** `experience_swisscom.md` SW-1 previously read "Primary owner / **sole technical lead**" and its 3L bullet said "**Led** migration of legacy Teradata/Oracle ETL stack." Both are wrong. Dennis was the primary engineer for **his own domains'** pipelines and a contributor to the wider company migration programme. Always scope the object ("my domains' ETL stack") or hedge the verb ("contributed to"). Source files corrected. |
| LangChain | **NEVER USED — do not list.** Crept into Apple and Infineon resume outputs as a fabrication when "custom GPTs" was reframed to fit JD vocabulary. Verified GenAI toolchain: **Kiro** (AI IDE / spec-driven dev), **VS Code + Copilot**, **LiteLLM** (LLM API gateway — created/used APIs), **custom GPTs** with fed domain knowledge. Never substitute LangChain/LangGraph/LlamaIndex for these. |
---
## Role Types
Define the role types you're targeting. Each gets a bundle during setup.
| Role Name | Target Employers | Tier | Bundle File |
|-----------|-----------------|------|-------------|
| Staff / Senior Data Engineer | Tech companies, scale-ups, platform teams | 1 | bundle_data_engineer.md |
| Analytics Engineer | Data-driven companies, BI/analytics teams | 2 | bundle_analytics_engineer.md |
| ML Platform / MLOps Engineer | Teams hiring for deployment, infrastructure and production operations rather than model research | 2 | bundle_ml_ai_engineer.md |
| Data Platform / Infra | AWS-heavy data-platform teams where Terraform or a dedicated SRE background is not a hard gate | 2 | bundle_data_platform.md |
| Semiconductor Data / AI Engineer | Semiconductor manufacturers, equipment makers (Infineon, ASML, GlobalFoundries, NXP, STMicro, Bosch) | 2 | bundle_semiconductor.md |
**Tier guide:** 1 = strongest evidence, full portfolio | 2 = strong with targeted emphasis | 3 = viable with careful framing
---
## Role-Type Decision Tree
Customize this to map JD keywords to your role types.
| If JD mentions... | Primary profile | Secondary (hybrid) |
|-------------------|----------------|-------------------|
| ETL, pipelines, Airflow, dbt, data warehouse | Staff/Senior Data Engineer | Analytics Engineer |
| ML inference, model deployment, MLOps | ML Platform / MLOps Engineer | Staff Data Engineer |
| Dashboards, BI, stakeholder reporting | Analytics Engineer | Staff Data Engineer |
| AWS, Glue, Athena, Redshift, infrastructure | Data Platform / Infra | Staff Data Engineer |
| Semiconductor, fab, wafer, defect, yield | Semiconductor Data / AI Engineer | ML Platform / MLOps Engineer |
| LLM agents, fine-tuning, RAG evaluation, AI research | Stretch unless the required direct experience is optional | ML Platform / MLOps Engineer |
| SRE, Terraform, platform SDK, developer platform | Stretch when any is a required direct qualification | Data Platform / Infra |
---
## FIXED Sections
List template sections that should NEVER be modified during generation.
These are copied verbatim from your template every time.
- Education
- Certifications (when listed as standalone section)
- Header block (name, contact, links)
- _[Add any other fixed sections]_
---
## Output Rules
- **Email in all outputs:** dennis@thiessen.io
- **Default resume:** 2-page International Tech profile
- **Local alternative:** 2-page Swiss/DACH profile
- **Cover letter:** Generate only when required or when it adds information not visible in the resume
- **Academic CV:** Not a default target. Generate only for an explicitly academic/research application
- **The `.tex` is the deliverable and the source of truth** - never hand-edit a PDF, and always regenerate from the source
- **Compile the PDF into the application's own `output/` folder** so the user can review and approve it. A `.tex` alone is not reviewable for him. Never leave the only PDF in a temp directory, and never leave a stale pre-edit PDF next to the deliverable (user-reported 2026-08-27).
- **If a submission-named copy exists** (e.g. `Dennis_Thiessen_Lebenslauf.pdf`), **refresh it on every recompile.** It is a copy, not a build target, so it silently goes stale under exactly the filename that gets attached to an application.