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
8.8 KiB
8.8 KiB
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
.texis 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.texalone 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.