Files
claude-resume-kit/config.md
T
dennisthiessenandClaude Opus 5.5 7d8166ddd2 feat(app): Google Staff SWE, Shopping Graph submitted; design/architecture KB gap closed; scout triage 2026-10-20
Scout triage 2026-10-20
- 109 new rows screened; 23 JDs read in full and logged with the failing
  line quoted; 4 Google reqs screened 10-21. One new maybe (Google Senior
  SRE, YouTube ML); SBB Team Ampere skipped on the user's Niveau rule (J).

Google Staff Software Engineer, Shopping Graph (Feeds Infra), Zurich
- Chosen as the single Google application after comparing all live Zurich
  reqs. Evidence Fit 70, Stretch (Staff-level technical leadership is the
  defining responsibility and only Adjacent), hard gate PASS, channel weak.
- Resume generated, critiqued (Document Quality 84), edited for leadership
  framing, finalized and submitted 2026-10-21. No cover letter.
- The summary line "sets the technical direction for the data products of
  his domains" rests on the user's 2026-10-21 statement and is deliberately
  NOT in claims.json (user request); recorded in the session Edit History.
- Registry: new applied entry; the Commerce entry is marked superseded.

KB: software design and architecture
- User-confirmed 2026-10-21: design and architecture of the ingestion and
  inference scripts at Bosch (2020-22) and of data products at Swisscom; the
  two together exceed three years. Recorded on BS-1, BS-2 and SW-7, with
  `designed` added to the BS-1/BS-2 verbs, scoped to his own scripts and the
  inference integration (the first patch over-extended it to the data
  services and was trimmed the same session).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:18:50 +02:00

11 KiB
Raw Blame History

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.
Python backend frameworks Django, Flask and FastAPI used in private/hobby projects only, never professionally (user-confirmed 2026-09-18; PP-4). Allowed with explicit personal-project context. Do not infer project names, dates, scale or production deployment.
Enterprise SaaS/SSO administration Not performed, user-confirmed 2026-09-18. Personal server administration and the Bosch secrets plugin do not establish enterprise SaaS/identity administration. This is not a blanket statement that OAuth/SCIM/Okta have never been encountered in any context.
Data-product design / frontend User-confirmed 2026-10-03: current Swisscom work includes data modelling, design and implementation of data products (SW-7). Updated 2026-10-21: software design and architecture were part of his work at Bosch (ingestion/inference scripts, 2020-2022) and at Swisscom (data products); combined they exceed three years. The Swisscom start date stays undated, and design is scoped to his own components, never shared-platform architecture or an architect title. No frontend experience; do not claim frontend/UI development or Full Stack expertise from backend JavaScript, Selenium tests, thesis wording or a personal dashboard.

Job-change Preferences

User clarification, 2026-10-06:

  • Current baseline: 3 homeoffice days per week.
  • Fewer than 3 homeoffice days: acceptable only when the role offers a clear overall improvement over the current position. Assess the total package, including compensation, role scope, development, commute, working time and benefits; no numerical improvement threshold has been specified.
  • Homeoffice is a conditional trade-off, not an absolute 3-day minimum. Clarify the working model and total package early; do not automatically reject a role solely for fewer homeoffice days.
  • The user expects a sufficient improvement most likely at FAANG or comparable employers. This is his expectation, not a restriction to those employers or a verified compensation claim.
  • Internal Swisscom move (Geo Platform): a separate change of tasks, with no change to position or seniority and no substantial salary change expected (user clarification, 2026-10-06). It does not replace, pause or change the external search, including if the internal move succeeds. Evaluate it as an internal task change; do not apply the external-upgrade expectation to this move.

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.