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
121 lines
8.8 KiB
Markdown
121 lines
8.8 KiB
Markdown
# 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, 2015–2017" — 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.
|