From 787a1d937e855dc3dc242e6538549e45efe6b40d Mon Sep 17 00:00:00 2001 From: Dennis Thiessen Date: Fri, 21 Aug 2026 16:33:39 +0200 Subject: [PATCH] feat(sbb): Phase 0 for SBB Data Engineer, Asset Management, Bern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Job ID 103755, posted 2026-08-20, surfaced by the 2026-08-21 scout run. Evidence Fit 79/100 (Core, lower end), hard gate PASS. The title-defining capability — build and operate cloud data pipelines and governed data products — is Direct and current, unlike the AWS FDE NO-GO. Best practical fit in the log: Bern-based, German-language, no relocation, EU citizen plus B permit. Real strength cluster for the role's vorausschauende Wartung purpose: Bosch fab sensor/process data, ELK/Kafka anomaly detection, containerized ML inference, plus the condition-monitoring thesis. Two open risks, both level and comp rather than fit: Anforderungsniveau K is a capped GAV band whose figures are not public and must be asked, and the seat reads lateral or below current Staff plus Component Owner scope — the same shape declined at BKW. Level and ownership scored 9/15 for that reason. Seven named tools are non-canonical (Snowflake, dbt, Argo Workflows, Helm, Power BI, Spring Boot, Angular); survivable only because the JD prefixes the stack list with "z. B.". Recorded as an accepted ATS risk, with a Phase 2 gate to keep all seven out of the generated document. Cover letter: NO — SBB explicitly waives it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01WpMtWFtYkGkjSMShuTgXiB --- CLAUDE.md | 1 + JDs/JD_SBB_DataEngineer_AssetMgmt.txt | 83 +++++++++ .../JD_SBB_DataEngineer_AssetMgmt.txt | 83 +++++++++ .../session_sbb_data_engineer_asset_mgmt.md | 170 ++++++++++++++++++ 4 files changed, 337 insertions(+) create mode 100644 JDs/JD_SBB_DataEngineer_AssetMgmt.txt create mode 100644 output/SBB_DataEngineer_AssetMgmt/JD_SBB_DataEngineer_AssetMgmt.txt create mode 100644 output/SBB_DataEngineer_AssetMgmt/session_sbb_data_engineer_asset_mgmt.md diff --git a/CLAUDE.md b/CLAUDE.md index 7109d11..20f534b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -157,6 +157,7 @@ _Update this section when starting/finishing a JD._ | Session | Status | Next Command | |---------|--------|-------------| +| SBB — Data Engineer (m/w/d), Asset Management Infrastrukturanlagen, **Bern** (Job ID 103755) | **PHASE 0 DONE 2026-08-21 — awaiting user confirmation.** Evidence Fit **79/100 (Core, lower end)**, hard gate **PASS** — the title-defining capability (build/operate cloud data pipelines and governed data products) is Direct and current, unlike the AWS FDE NO-GO. Best practical fit in the log: **Bern-based, German-language, no relocation, EU citizen + B permit**. Real strength cluster for the *vorausschauende Wartung* purpose — Bosch fab sensor/process data, ELK/Kafka anomaly detection, containerized ML inference, plus the condition-monitoring thesis. **Two open risks, both level/comp not fit:** (1) **Anforderungsniveau K** is a capped GAV band and the figures are not public — must be asked, not researched; (2) the seat reads **lateral or below** current Staff + Component Owner scope (same shape as the declined BKW). Named gaps: Snowflake, dbt, Argo Workflows, Helm, Power BI, Spring Boot, Angular — all non-canonical, survivable only because the JD prefixes the stack list with "z. B.". **Cover letter: NO — SBB explicitly waives it.** Channel: posting names **Andri Wienandts, People Leader, +41 79 364 62 53** — the first published warm entry point in the entire log. | Confirm role type/format/framing, then `/make-resume output/SBB_DataEngineer_AssetMgmt/session_sbb_data_engineer_asset_mgmt.md` Phase 1 | | AWS (AWS EMEA SARL, Switzerland Branch) — Senior Forward Deployed Engineer, Zürich (job 10504263) | **CLOSED — NO-GO 2026-08-18** at the Phase 0 gate. Evidence Fit **69/100** (Adjacent). Minimum-qual gate passed (all 4 Basic Quals Direct) but the *title-defining* capability — customer embedding — is a Gap that `claims.json` globally forbids claiming, and R2 multi-agent/retrieval is a second Gap. User declined: **69 is below the fit bar worth spending a package on.** Consistent with revealed behaviour — every application actually submitted scored **77.5–89**; nothing below 75 has ever been sent. **No cohort slot consumed (Adjacent stays 1/2).** Phase 0 analysis retained in the session file for reuse if a better-fitting AWS req appears. | Done — no package built | | Google — Forward Deployed Engineer III, Google Cloud GTM (French, German), Zürich (req 78350205438567110) | **CLOSED — NOT PROCEEDING 2026-08-18.** Phase 0 was done (Evidence Fit 67/100, hard gate PASS) but user declined to proceed after **two Google rejections** (Merchant Data Science, Business Home): the bar is now that a Google req must fit *very* well to be worth a third attempt, and this one was Adjacent with an agent-orchestration Gap. **Frees the Adjacent cohort slot (back to 1/2).** Phase 1 never started. | Done — do not reopen without a materially stronger Google req | | SDU Center for Energy Informatics, Odense DK — PhD, Theme 2 Predictive Maintenance & Asset Management of Smart Energy Networks (job 4159) | **CLOSED — NOT PROCEEDING 2026-08-18.** Enquiry email to Prof. Bo Nørregaard Jørgensen (sent 2026-08-02) went unanswered for 16 days; user dismissed the idea. Genuine thesis fit (vibration condition monitoring, RBR+ANN hybrid) but the blockers were never the documents — 2 letters of recommendation 13 years out of academia, and DKK 37,075/mo ≈ CHF 56k against a 180k bar. Deadline was 2026-08-20. | Done — no further action | diff --git a/JDs/JD_SBB_DataEngineer_AssetMgmt.txt b/JDs/JD_SBB_DataEngineer_AssetMgmt.txt new file mode 100644 index 0000000..06ea09b --- /dev/null +++ b/JDs/JD_SBB_DataEngineer_AssetMgmt.txt @@ -0,0 +1,83 @@ +Data Engineer (m/w/d) - Asset Management Infrastrukturanlagen +Jetzt bewerben +Beweg die Schweiz mit uns. +Data Engineer (m/w/d) - Asset Management Infrastrukturanlagen +Bern / Work Smart, ab sofort oder nach Vereinbarung, 60-100% +Jetzt bewerben +Darauf kannst du dich freuen. +Benefits wie kostenloses GA, vergünstigtes Reisen im Ausland - auch für die Familie - findest du auf unserer Website unter Benefits.  +Das kannst du bewegen. +In dieser spannenden Rolle baust du Datenpipelines auf, betreibst und entwickelst sie weiter auf der Enterprise Analytics Plattform der SBB, die Batch- und Streaming-Ansätze vereint. +Unterschiedlichste Datenquellen integrierst du via APIs/Kafka und ermöglichst damit Analysen, Dashboards sowie vorausschauende Wartung. +Datenprodukte und semantische Modelle gestaltest du auf Snowflake und Power BI. +Du entwickelst RAMSI weiter – von der Webanwendung (Java Spring Boot/Angular) über Reports bis hin zu Dashboards für unsere Fachspezialist:innen. +In enger Zusammenarbeit mit dem Business nimmst du Anforderungen auf und sorgst für nachhaltige Lösungen im Betrieb. +Dein Wissen und deine Erfahrung teilst du im Team und trägst zur fachlichen Weiterentwicklung bei. +Das bringst du mit. +Starke Kommunikationsfähigkeiten und Teamorientierung mit der Bereitschaft, gemeinsam mit unseren Fachspezialist:innen konkrete Lösungen zu erarbeiten und die fachliche Entwicklung anderer Dateningenieur:innen zu fördern. +Agile, selbständige und lösungsorientierte Arbeitsweise mit ausgeprägter Verlässlichkeit und Bereitschaft, Verantwortung für die Qualität und Nachhaltigkeit technischer Lösungen zu übernehmen. +Mehrjährige praktische Erfahrung im Entwurf, Aufbau, der Entwicklung und dem Betrieb cloudbasierter Datenplattformen mit modernem Data Stack (ETL/ELT, Data Warehouses, Streaming, Orchestrierung – z. B. Snowflake, DBT, Helm, Argo Workflows, Kafka). +Fähigkeit, skalierbare und kosteneffiziente Datenarchitekturen zu entwerfen und Trade-offs zwischen Latenz, Konsistenz und Kosten kritisch zu beurteilen. +Erfahrung in Datenmodellierung (Star-/Snowflake-Modelle) und Reporting mit Power BI, fortgeschrittene SQL-Kenntnisse sowie Kenntnisse zur Abfrageleistungsoptimierung. +Software-Engineering-Fähigkeiten in Python, inklusive Tests, CI/CD, Packaging- und Deployment-Best-Practices. +Dein Lohn und deine Benefits. + +Wir haben ein faires und fortschrittliches Lohnsystem und setzen uns aktiv für Lohngleichheit ein. Deshalb sind weiterführende und detaillierte Informationen zum Lohnsystem bei der SBB transparent einsehbar. Diese Stelle befindet sich im Anforderungsniveau K, Regionalzulage Stufe 1. Mehr zu Lohn und Benefits. + +Damit gelingt der Einstieg. + +Dass du mit uns die Schweiz bewegen willst, ist für uns die grösste Motivation. Darum verzichten wir bei dieser Stelle auf ein Motivationsschreiben. Falls du uns deine Motivation dennoch mitteilen möchtest, hast du in unserem Bewerbungstool nach wie vor die Möglichkeit dazu. + +Grosses machen ist einfacher per du. Das beginnt bereits bei deiner Bewerbung. + +So geht's weiter. + +Bewerbung + +Virtuelles Kennenlernen mit HR und Führungskraft + +Persönliches Kennenlernen + +Finaler Entscheid + +Noch Fragen? + Zum Bewerbungsprozess +SBB Recruiting Support +Telefon + 41 51 220 20 29 +recruiting@sbb.ch + +#einfachDu + + + +FAQ zur Bewerbung + + + +Zur Stelle +Job ID 103755 + +Andri Wienandts, People Leader +Telefon +41 79 364 62 53  + + +Bewerbungen per E-Mail können leider nicht berücksichtigt werden. + +Für diese Stelle nehmen wir keine Dossiers von Personalvermittlern entgegen. + +Das bieten wir. +Benefits +Wo immer möglich setzen wir auf flexible Arbeitszeiten und moderne Arbeitszeitmodelle. Darüber hinaus sind wir als Arbeitgeberin auch flexibel, wenn es darum geht, dein Berufsleben mit deinem Privatleben in Einklang zu bringen. + +Mehr erfahren +Unterschiede willkommen +Mit über 150 verschiedenen Berufen bieten wir eine beeindruckende Vielfalt an Einstiegs- und Entwicklungsmöglichkeiten. Ebenso vielfältig sind unsere Mitarbeitenden. Darum engagieren wir uns dafür dass alle Mitarbeitenden ihre individuellen Stärken und Denkweisen einbringen können. + +Mehr erfahren +Karriere und Entwicklung +Wir fördern unsere Mitarbeitenden entlang ihren persönlichen Bedürfnissen und Ambitionen. Dafür stellen wir ein breites Angebot an fach- und bereichsübergreifenden Weiterbildungsangeboten zur Verfügung. An ausgewählten externen Weiterbildungen, beteiligen wir uns finanziell und zeitlich. + +Mehr erfahren +Wir bewegen heute schon Grosses. +Jetzt bewerben +Grosses bewegen. \ No newline at end of file diff --git a/output/SBB_DataEngineer_AssetMgmt/JD_SBB_DataEngineer_AssetMgmt.txt b/output/SBB_DataEngineer_AssetMgmt/JD_SBB_DataEngineer_AssetMgmt.txt new file mode 100644 index 0000000..06ea09b --- /dev/null +++ b/output/SBB_DataEngineer_AssetMgmt/JD_SBB_DataEngineer_AssetMgmt.txt @@ -0,0 +1,83 @@ +Data Engineer (m/w/d) - Asset Management Infrastrukturanlagen +Jetzt bewerben +Beweg die Schweiz mit uns. +Data Engineer (m/w/d) - Asset Management Infrastrukturanlagen +Bern / Work Smart, ab sofort oder nach Vereinbarung, 60-100% +Jetzt bewerben +Darauf kannst du dich freuen. +Benefits wie kostenloses GA, vergünstigtes Reisen im Ausland - auch für die Familie - findest du auf unserer Website unter Benefits.  +Das kannst du bewegen. +In dieser spannenden Rolle baust du Datenpipelines auf, betreibst und entwickelst sie weiter auf der Enterprise Analytics Plattform der SBB, die Batch- und Streaming-Ansätze vereint. +Unterschiedlichste Datenquellen integrierst du via APIs/Kafka und ermöglichst damit Analysen, Dashboards sowie vorausschauende Wartung. +Datenprodukte und semantische Modelle gestaltest du auf Snowflake und Power BI. +Du entwickelst RAMSI weiter – von der Webanwendung (Java Spring Boot/Angular) über Reports bis hin zu Dashboards für unsere Fachspezialist:innen. +In enger Zusammenarbeit mit dem Business nimmst du Anforderungen auf und sorgst für nachhaltige Lösungen im Betrieb. +Dein Wissen und deine Erfahrung teilst du im Team und trägst zur fachlichen Weiterentwicklung bei. +Das bringst du mit. +Starke Kommunikationsfähigkeiten und Teamorientierung mit der Bereitschaft, gemeinsam mit unseren Fachspezialist:innen konkrete Lösungen zu erarbeiten und die fachliche Entwicklung anderer Dateningenieur:innen zu fördern. +Agile, selbständige und lösungsorientierte Arbeitsweise mit ausgeprägter Verlässlichkeit und Bereitschaft, Verantwortung für die Qualität und Nachhaltigkeit technischer Lösungen zu übernehmen. +Mehrjährige praktische Erfahrung im Entwurf, Aufbau, der Entwicklung und dem Betrieb cloudbasierter Datenplattformen mit modernem Data Stack (ETL/ELT, Data Warehouses, Streaming, Orchestrierung – z. B. Snowflake, DBT, Helm, Argo Workflows, Kafka). +Fähigkeit, skalierbare und kosteneffiziente Datenarchitekturen zu entwerfen und Trade-offs zwischen Latenz, Konsistenz und Kosten kritisch zu beurteilen. +Erfahrung in Datenmodellierung (Star-/Snowflake-Modelle) und Reporting mit Power BI, fortgeschrittene SQL-Kenntnisse sowie Kenntnisse zur Abfrageleistungsoptimierung. +Software-Engineering-Fähigkeiten in Python, inklusive Tests, CI/CD, Packaging- und Deployment-Best-Practices. +Dein Lohn und deine Benefits. + +Wir haben ein faires und fortschrittliches Lohnsystem und setzen uns aktiv für Lohngleichheit ein. Deshalb sind weiterführende und detaillierte Informationen zum Lohnsystem bei der SBB transparent einsehbar. Diese Stelle befindet sich im Anforderungsniveau K, Regionalzulage Stufe 1. Mehr zu Lohn und Benefits. + +Damit gelingt der Einstieg. + +Dass du mit uns die Schweiz bewegen willst, ist für uns die grösste Motivation. Darum verzichten wir bei dieser Stelle auf ein Motivationsschreiben. Falls du uns deine Motivation dennoch mitteilen möchtest, hast du in unserem Bewerbungstool nach wie vor die Möglichkeit dazu. + +Grosses machen ist einfacher per du. Das beginnt bereits bei deiner Bewerbung. + +So geht's weiter. + +Bewerbung + +Virtuelles Kennenlernen mit HR und Führungskraft + +Persönliches Kennenlernen + +Finaler Entscheid + +Noch Fragen? + Zum Bewerbungsprozess +SBB Recruiting Support +Telefon + 41 51 220 20 29 +recruiting@sbb.ch + +#einfachDu + + + +FAQ zur Bewerbung + + + +Zur Stelle +Job ID 103755 + +Andri Wienandts, People Leader +Telefon +41 79 364 62 53  + + +Bewerbungen per E-Mail können leider nicht berücksichtigt werden. + +Für diese Stelle nehmen wir keine Dossiers von Personalvermittlern entgegen. + +Das bieten wir. +Benefits +Wo immer möglich setzen wir auf flexible Arbeitszeiten und moderne Arbeitszeitmodelle. Darüber hinaus sind wir als Arbeitgeberin auch flexibel, wenn es darum geht, dein Berufsleben mit deinem Privatleben in Einklang zu bringen. + +Mehr erfahren +Unterschiede willkommen +Mit über 150 verschiedenen Berufen bieten wir eine beeindruckende Vielfalt an Einstiegs- und Entwicklungsmöglichkeiten. Ebenso vielfältig sind unsere Mitarbeitenden. Darum engagieren wir uns dafür dass alle Mitarbeitenden ihre individuellen Stärken und Denkweisen einbringen können. + +Mehr erfahren +Karriere und Entwicklung +Wir fördern unsere Mitarbeitenden entlang ihren persönlichen Bedürfnissen und Ambitionen. Dafür stellen wir ein breites Angebot an fach- und bereichsübergreifenden Weiterbildungsangeboten zur Verfügung. An ausgewählten externen Weiterbildungen, beteiligen wir uns finanziell und zeitlich. + +Mehr erfahren +Wir bewegen heute schon Grosses. +Jetzt bewerben +Grosses bewegen. \ No newline at end of file diff --git a/output/SBB_DataEngineer_AssetMgmt/session_sbb_data_engineer_asset_mgmt.md b/output/SBB_DataEngineer_AssetMgmt/session_sbb_data_engineer_asset_mgmt.md new file mode 100644 index 0000000..4254372 --- /dev/null +++ b/output/SBB_DataEngineer_AssetMgmt/session_sbb_data_engineer_asset_mgmt.md @@ -0,0 +1,170 @@ +# Session: SBB (Schweizerische Bundesbahnen) — Data Engineer (m/w/d), Asset Management Infrastrukturanlagen + +## JD Integrity +- File/source: `JD_SBB_DataEngineer_AssetMgmt.txt` (this folder) — copied from `JDs/JD_SBB_DataEngineer_AssetMgmt.txt` +- Source URL: https://jobs.sbb.ch/v2/offene-stellen/data-engineer-m-w-d-asset-management-infrastrukturanlagen/45fa2411-31dc-4520-827e-1c93a527534c +- Retrieval method and date: Playwright headless scrape via `job_scout/.venv`, 2026-08-21 (board is a JS-rendered SPA; WebFetch is JS-blind on it) +- Verbatim posting: YES — full visible posting body, German original, no paraphrase +- Posting status: LIVE as of 2026-08-21. Discovered on the 2026-08-21 scout run, posted 2026-08-20. Job ID 103755. +- Named contact on posting: Andri Wienandts, People Leader, +41 79 364 62 53 +- Notable: SBB explicitly waives the cover letter for this req ("verzichten wir bei dieser Stelle auf ein Motivationsschreiben") + +## Application Decision +- Audience profile: **Swiss/DACH** — German-language posting, Swiss federal employer, German-language process, `#einfachDu` informal register. This is the documented exception to the International Tech default. +- Evidence Fit: **79/100** +- Fit class: **Core** (75+, no hard-gate failure) +- Hard gate: **PASS** — no minimum qualification is a Gap; the title-defining capability (build/operate cloud data pipelines and data products) is Direct and current; no clearance, relocation, language or authorization issue. +- Channel Strength: **Moderate (achievable)** — the posting names the People Leader with a direct mobile number. Every application in the log to date has been Weak/cold; this is the first with a published warm entry point. Rated Weak until the call actually happens. +- Channel plan: call Andri Wienandts **before** applying. Two questions to settle: (1) the Anforderungsniveau K salary band ceiling, (2) whether the seat carries architecture/design scope or is purely build-and-run. +- Cohort slot: Core would be **2/7** (Google SWE III consumed 1/7). Adjacent 1/2, Stretch 0/1 unchanged. +- Decision: **PROCEED to Phase 1 — but only after the comp question is answered.** The technical and practical fit is real and the hard gate passes cleanly. The blocker is not fit: it is that this seat is a lateral-or-below step in a capped federal pay band. If Anforderungsniveau K tops out near the current 140k, Phase 1 is wasted work no matter how good the framing is. + +### Evidence Fit breakdown (per `critique_framework.md`) +| Dimension | Weight | Score | Reasoning | +|---|---:|---:|---| +| Required qualifications | 35 | **29** | 6 required lines. R1, R2, R3 (core), R6 Direct; R4 Direct–Adjacent; R5 split — SQL/modelling Direct, Power BI a named Gap. | +| Core responsibilities | 25 | **20** | P1, P2 (integration), P3 (data products), P5, P6 Direct; P2 predictive maintenance Adjacent-strong; **P4 (Spring Boot/Angular) a Gap**. | +| Level and ownership | 15 | **9** | The dimension asks whether title, decisions and leadership *match*. They do not: the seat sits **below** current Staff + Component Owner scope. Capability is not the issue — fit of level is. Revealed behaviour already rejected this exact shape once (BKW, same Bern tier, declined as a lateral), so scoring it as a near-match would contradict the Competitive Read below. | +| Recency and depth | 10 | **10** | The strongest evidence is his current job, at a peer Swiss enterprise, today. Nothing here is historical. | +| Domain/tool transfer | 10 | **6** | Snowflake, dbt, Argo, Helm, Power BI, Spring Boot, Angular all non-canonical. Each is individually substitutable and the JD says "z. B." — but seven named tools is a real deduction. | +| Practical constraints | 5 | **5** | Bern resident, German native, EU citizen + B permit, hybrid, no clearance. Best in the log. | +| **Total** | **100** | **79** | **Core** (75+), at the lower end. For calibration: Google SWE III 89, Kraken 87.2, MS ISE 85.8, MS Principal FDE 84.2, BIS 80.5, Aker BP 79, NATO JWC 77.5. Reads as *good fit with one unresolved blocker*, not *best fit in the log*. | + +## ATS Keywords + +Extracted from the JD. **Bold = canonical and safe to use.** Struck-through = named in the JD but **not canonical — must not appear in any output document.** + +- **Core function:** **Data Engineer**, **Datenpipelines**, **ETL/ELT**, **Data Warehouse**, **Batch**, **Streaming**, **Orchestrierung**, **Datenprodukte**, Enterprise Analytics Plattform, semantische Modelle +- **Platform/cloud:** **cloudbasierte Datenplattformen**, **Kubernetes**, **Docker**, **AWS**, **CI/CD**, **GitLab CI/CD**, ~~Helm~~, ~~Argo Workflows~~ +- **Data stack:** **Kafka**, **Airflow**, **PySpark**, **SQL**, **Datenmodellierung**, Star-/Snowflake-Schemata, **APIs**, ~~Snowflake~~, ~~dbt~~ +- **Languages/SWE:** **Python**, **Tests**, **Packaging**, **Deployment**, **Java** (with context), ~~Spring Boot~~, ~~Angular~~ +- **BI/reporting:** **Reporting**, **Dashboards**, **Abfrageleistungsoptimierung**, TIBCO Spotfire (canonical, as the bridge), ~~Power BI~~ +- **Domain:** **Anlagenmanagement**, **Infrastrukturanlagen**, **vorausschauende Wartung / Predictive Maintenance**, **Sensordaten**, **Anomalieerkennung**, Zustandsdaten, RAMS, RAMSI +- **Ways of working:** **agil**, **Betrieb**, **Datenqualität**, **Governance**, **On-Call**, **Verantwortung**, **Mentoring / fachliche Entwicklung**, **Stakeholder**, Fachspezialist:innen + +**ATS risk, stated plainly:** an automated screen keyed on the literals *Snowflake*, *dbt* or *Power BI* would reject this resume, because none of the three can honestly appear. That risk is accepted, not solvable — it is exactly the case the warm channel exists to bypass. + +## Gap Assessment + +| Gap | Severity | Why it is not a hard gate | How it is handled | +|---|---|---|---| +| **Snowflake** | Medium — named in a required line *and* a responsibility | Prefixed "z. B."; the requirement is cloud data platforms with a modern stack | Bridge from Teradata/Oracle → AWS warehouse work (SW-1) and data products (SW-7). Never write the word. | +| **Power BI** | Medium — named in a required line | BI tooling is genuinely substitutable; he **co-owned** a BI platform | Bridge from TIBCO Spotfire co-ownership + C# extensions + TAF 2022 (BS-5). | +| **dbt** | Low–Medium | "z. B." | Bridge from Airflow + PySpark transformation/testing discipline. | +| **Argo Workflows** | Low | "z. B."; direct orchestrator substitution | Bridge from Airflow. | +| **Helm** | Low | Not a standalone requirement; implied by Kubernetes | Kubernetes is canonical; **Helm is not — do not list it.** | +| **Spring Boot / Angular (RAMSI)** | Medium — a whole responsibility line | One of six responsibilities; not the title, not in the required list | Java is `allowed-with-context` (GN-3, BS-2). Do not claim Spring Boot or Angular. Raise it honestly in the call — he may not want this work. | +| **Rail/RAMS domain** | Low | No JD line requires it | Bridge: industrial asset/sensor data at Bosch; condition-monitoring thesis. Ask about RAMSI rather than assuming. | +| **Anforderungsniveau K comp** | **Unresolved — decision-blocking for the user, not a fit gap** | Not a qualification at all | Ask the People Leader. Do not research further; the figures are not public. | + +**No Gap sits on a minimum qualification, and the title-defining capability is Direct.** Hard gate: **PASS.** + +## Requirements + +Requirement text is the JD's German original, abbreviated. "Required" = listed under *Das bringst du mit*; "Responsibility" = listed under *Das kannst du bewegen*. + +| # | Requirement | Required/preferred | Direct/Adjacent/Gap/Constraint | Canonical evidence | Gate? | +|---|---|---|---|---|---| +| R1 | Kommunikation, Teamorientierung, **fachliche Entwicklung anderer Dateningenieur:innen fördern** | Required | **Direct** | Staff Engineer (Engineer IV) since 2025-04; BS-3 Application Owner incl. training and documentation; GN-1 training ownership | No | +| R2 | Agile, selbständige Arbeitsweise; Verantwortung für Qualität und Nachhaltigkeit technischer Lösungen | Required | **Direct** | SW-2 Component Owner — operation, data quality, governance, incidents, on-call | No | +| R3 | Mehrjährige Erfahrung in Entwurf, Aufbau, Entwicklung und **Betrieb cloudbasierter Datenplattformen** mit modernem Data Stack (ETL/ELT, DWH, Streaming, Orchestrierung — **z. B.** Snowflake, dbt, Helm, Argo Workflows, Kafka) | Required | **Direct** (core) / **Gap** (named products) | SW-1 AWS migration of his domains' ETL from Teradata/Oracle; SW-2; SW-3 Python apps on Kubernetes + GitLab CI/CD; SW-7 governed data products; skills: Kafka, Airflow, AWS, PySpark, Kubernetes all production-current | **No** — the product list is prefixed **"z. B."** (for example), so it enumerates a stack archetype, not mandates. See Gap note below. | +| R4 | Skalierbare und **kosteneffiziente Datenarchitekturen** entwerfen; Trade-offs Latenz / Konsistenz / Kosten beurteilen | Required | **Direct–Adjacent** | SW-1, SW-2, SW-3. Design/trade-off reasoning is real and current; **cost-efficiency figures are `metrics: unverified`** — describe the practice, never quantify a saving | No | +| R5 | **Datenmodellierung (Star-/Snowflake-Schemata)**, Reporting mit **Power BI**, fortgeschrittenes SQL, Abfrageleistungsoptimierung | Required | SQL **Direct**; modelling **Direct**; dimensional schemas **Adjacent**; Power BI **Gap (Adjacent via Spotfire)** | SQL production-current; SW-7 models data products (allowed verb "model"); BS-5 co-owned TIBCO Spotfire environment and built C# extensions, co-presented at TIBCO Analytics Forum 2022 | **No** — BI tooling is genuinely substitutable and he co-owned a BI platform. But this is the single weakest required line. | +| R6 | **Software-Engineering in Python** — Tests, CI/CD, Packaging, Deployment Best Practices | Required | **Direct (strongest line in the JD)** | Python production-current; SW-3 GitLab CI/CD on Kubernetes; VZ-2 automated tests wired to CI/CD quality gates; GN-1 BDD + Jenkins | No | +| P1 | Datenpipelines auf der **Enterprise Analytics Plattform** aufbauen, **betreiben**, weiterentwickeln (Batch **und** Streaming) | Responsibility | **Direct** | SW-1, SW-2, SW-3; Kafka + Airflow + PySpark production-current. "Betreiben" maps exactly to Component Ownership incl. on-call. | No | +| P2 | Datenquellen via **APIs/Kafka** integrieren; ermöglicht Analysen, Dashboards und **vorausschauende Wartung** | Responsibility | Integration **Direct**; predictive maintenance **Adjacent (strong)** | Kafka production-current; SW-7 source onboarding. PdM cluster: BS-2 fab sensor/process data (defect records, wafer inspection images, PCM electrical parameters); BS-4 ELK/Kafka anomaly-detection PoC; BS-1 containerized ML inference in 24/7 production; EDU-MENG thesis on vibration-based condition monitoring | No | +| P3 | **Datenprodukte und semantische Modelle** auf **Snowflake und Power BI** gestalten | Responsibility | Data products **Direct**; both named products **Gap** | SW-7 — builds governed data products and onboards sources inside Swisscom's company-wide Data Mesh, Atlassian Compass for metadata/lineage | No | +| P4 | **RAMSI** weiterentwickeln — Webanwendung (**Java Spring Boot / Angular**), Reports, Dashboards | Responsibility | **Gap** — the clearest one | Java is `production-historical`, `allowed-with-context` (GN-3 Java/J2EE workflow features; BS-2 Java data services). **Spring Boot: absent from canonical. Angular: absent; JavaScript is `production-historical-limited`.** | **No** (one of six responsibilities, not the title) — but see Open Risks | +| P5 | Anforderungen mit dem Business aufnehmen; nachhaltige Lösungen im Betrieb | Responsibility | **Direct** | SW-4 delivers data products/dashboards/analyses with internal B2B stakeholders and product owners | No | +| P6 | Wissen im Team teilen, zur fachlichen Weiterentwicklung beitragen | Responsibility | **Direct** | Same as R1 | No | +| C1 | Standort **Bern** / Work Smart (hybrid), 60–100% | Constraint | **Direct — best in the entire application log** | Lives in Bern. No relocation, no commute problem, hybrid matches the stated 2–3 day maximum | No | +| C2 | German-language posting and process | Constraint | **Direct** | German native | No | +| C3 | Work authorization | Constraint | **Direct** | German citizen (EU), Swiss B permit, no sponsorship required | No | +| C4 | **Anforderungsniveau K, Regionalzulage Stufe 1** | Constraint | **UNRESOLVED — the real risk** | SBB GAV runs 15 collectively-bargained levels A–O with a fixed Basiswert/Höchstwert per level; K is the 11th. Current K figures are **not published** in the sources reachable on 2026-08-21 (the SEV brochure documents the mechanism, not the table; the GAV PDF download returns an error page). | **Not a fit gate — a user-decision gate.** See Open Risks. | + +### Gap note on R3 (important — do not overstate it) +Five products are named: Snowflake, dbt, Helm, Argo Workflows, Kafka. Only **Kafka** is canonical. Snowflake, dbt, Argo Workflows and Helm are **absent from `claims.json`** — under `shared_ops.md` ("omit anything absent, ambiguous or unverified") none of them may appear in any output document. + +This is survivable **only because the JD writes "z. B."**. The requirement as written is *cloud data platforms with a modern data stack*, exemplified by those tools. The substitution map is honest and defensible in an interview: + +| JD names | Canonical equivalent | Transfer honesty | +|---|---|---| +| Snowflake | Teradata / Oracle / AWS warehouse work (SW-1), data products (SW-7) | Strong — cloud MPP warehouse concepts, but **never claim Snowflake itself** | +| dbt | Airflow + PySpark transformation pipelines | Good — same modelling/testing/lineage discipline, different tool | +| Argo Workflows | Airflow | Strong — direct orchestrator substitution | +| Helm | Kubernetes (production-current-and-historical) | Adequate — **Helm itself is not canonical; do not list it** | +| Power BI | TIBCO Spotfire co-ownership (BS-5) | Good — BI platform ownership transfers; the product does not | + +## Competitive Read +- **Obvious-fit candidate:** a Swiss data engineer with 5+ years on Snowflake + dbt + Power BI, ideally already inside a Swiss infrastructure/utility/transport operator, German-speaking, and comfortable maintaining a Java/Angular internal web application. That last trait is the unusual one — most pure data engineers do not want it, which measurably widens the field for Dennis. +- **Dennis's advantage:** he does the *operational* half of this job today, at a peer Swiss enterprise, in the same city. Component Ownership with on-call, data quality and governance is exactly "Betrieb" and "Verantwortung für Qualität und Nachhaltigkeit". Add the genuinely rare combination for this specific req: **industrial sensor/asset data (Bosch fab: defect records, wafer inspection images, PCM parameters) + anomaly detection on streaming data (ELK/Kafka) + a master's thesis on vibration-based condition monitoring of machine tools.** For a role whose stated purpose includes *vorausschauende Wartung* on physical infrastructure assets, that combination is worth more than Snowflake syntax. +- **Their advantage:** named-product fluency on the exact stack (Snowflake, dbt, Power BI) and, for the strongest candidates, rail domain knowledge — the asset taxonomy, EN 50126 RAMS vocabulary, swissTAMP/RIS ecosystem. +- **Level/scope comparison:** **This is the inversion, and it is the crux of the application.** Every other role in the log was a level stretch upward; this one reads *below* current scope. Dennis is Staff (Engineer IV) with Component Ownership at Swisscom; this is a senior IC data-engineer seat that asks him to *mentor* other data engineers but not to own architecture. The JD's only architecture language is "Datenarchitekturen entwerfen" as a personal skill, not an ownership mandate. Same shape as BKW, which the user declined as a lateral in this same Bern WLB-exception tier. + +## Company Context +- **Employer:** Schweizerische Bundesbahnen SBB, division Infrastruktur — Anlagenmanagement (infrastructure asset management). Swiss federal railway; Bern is the corporate seat. +- **Where the role sits:** SBB runs a real, funded asset-management data ecosystem. **swissTAMP** (swiss Track Analysis & Maintenance Planning) is its central source for asset condition and behaviour — inspection data, measurement and operating data, trends and forecasts — and SBB describes it explicitly as enabling the move *"from reactive through proactive to predictive maintenance."* Alongside it sit **RIS** (Räumliche Informationssysteme, incl. Datenbank feste Anlagen) and the **Mess- und Diagnosetechnik (MUD)** department, which does automated condition monitoring of track, switches and power-supply systems across the standard-gauge network. SBB also operates a **Competence Center Predictive Maintenance**. +- **Current investment signal:** SBB has an active EU-journal tender (235005-2026) for up to **three new-generation infrastructure diagnostic vehicles** to sustain and expand condition-data monitoring. More diagnostic vehicles means more sensor volume, which is precisely what an Enterprise Analytics Platform pipeline role exists to absorb. The domain is funded and growing, not a maintenance backwater. +- **RAMSI:** not publicly documented. Almost certainly an internal application in the RAMS family (Reliability, Availability, Maintainability, Safety — EN 50126, the standard railway discipline) applied to Infrastruktur. **Treat as inference — do not state it as known fact in any document or interview; ask about it instead.** Good question for the People Leader call. +- **Culture signals:** `#einfachDu` (mandated informal "du" from first contact), Work Smart flexible/hybrid working, published pay system and active pay-equity commitment, cover letter deliberately waived, 60–100% part-time explicitly welcome. Process: application → virtual meeting with HR + line manager → in-person meeting → decision. +- **"Why them" angle:** public infrastructure whose data work has a physical consequence — keeping the Swiss network running — combined with a Bern seat and a genuinely on-thesis technical brief. This is the first role in the log where the mission and the commute both work without compromise. + +## Framing Strategy +- **Professional identity:** Staff-level data engineer who *builds and runs* governed data products on a cloud platform in a large Swiss enterprise — pipeline construction, operation, data quality and stakeholder delivery — with unusual depth in **industrial sensor and asset data**. +- **Lead narrative:** "I already do the operational half of this job at Swisscom, on the same kind of platform, in the same city — and I have handled machine and sensor data since Bosch." +- **Strongest proof points:** + 1. SW-2 — Component Owner for business-critical Fulfillment ETL: operation, data quality, governance, incidents, on-call. Maps to "Betrieb" + "Verantwortung für Qualität und Nachhaltigkeit". + 2. SW-1 — migrated his domains' ETL from Teradata/Oracle to AWS (scoped, hedged per KB correction: **his domains**, contributor to the wider programme). + 3. SW-7 — builds governed data products and onboards sources within Swisscom's company-wide Data Mesh; Atlassian Compass for metadata and lineage. Maps to "Datenprodukte und semantische Modelle". + 4. SW-3 + VZ-2 + GN-1 — Python on Kubernetes with GitLab CI/CD, automated tests wired to quality gates. Covers R6 completely. + 5. BS-2 / BS-4 / BS-1 — fab sensor and process data, ELK/Kafka anomaly detection, containerized ML inference in a 24/7 production environment. This is the predictive-maintenance bridge and the real differentiator. +- **Honest adjacent bridges (state as transfer, never as the named tool):** Spotfire → Power BI; Airflow → Argo Workflows; Teradata/Oracle/AWS warehouse → Snowflake; PySpark/Airflow transformation discipline → dbt. +- **Explicit gaps (never paper over):** Snowflake, dbt, Argo Workflows, Helm, Power BI, Spring Boot, Angular — none are canonical, none may appear in output. Rail domain knowledge is absent. +- **Emphasize:** operation and ownership over greenfield build; sensor/asset data lineage from Bosch to now; German-language Swiss enterprise delivery; mentoring (R1) since it is a *required* line and Staff level evidences it. +- **Downplay:** GenAI/LLM work entirely — SW-8 is irrelevant here and its forbidden list is long. Also downplay FDE/customer-facing framing carried over from recent applications; this is an internal-stakeholder role (SW-4 is the right frame). +- **Do NOT include:** Security Champion (SW-5 — JD has no security requirement; default is OMIT). LOC/test counts. Any cost or performance metric (`metrics: unverified` across the board). +- **User directives:** none given for this JD. +- **Scope discipline watch (recurring error):** SBB will read "Data Mesh", "data platform" and "migration" as org-scale objects. Never pair a full-ownership verb with one. Correct: "builds governed data products within Swisscom's company-wide Data Mesh", "migrated my domains' ETL stack". Never: "built a Data Mesh", "migrated the warehouse". + +## Critique Context +- **Reviewer persona:** a Swiss enterprise engineering lead (Andri Wienandts, People Leader) plus an SBB HR screener. Reads German. Screens for: does this person actually *operate* platforms or only build them; will they stay in a banded federal role; can they talk to Fachspezialist:innen. +- **Competitive landscape:** see Competitive Read. The Java/Angular half of the role narrows the field. +- **Domain vocabulary:** Anlagenmanagement, Infrastrukturanlagen, vorausschauende Wartung / Predictive Maintenance, Zustandsdaten, Diagnose, Enterprise Analytics Plattform, Datenprodukte, semantische Modelle, Batch und Streaming, Orchestrierung, Fachspezialist:innen, RAMS. +- **Likely first technical challenge:** "You have not used Snowflake or dbt — walk me through how your Teradata-to-AWS work maps." Prepare the substitution map above as a spoken answer, and answer the Power BI question with the Spotfire co-ownership honestly. + +## Cover Letter Decision +- **NO** (provisional — revisit only if the People Leader call suggests otherwise) +- **Reason:** SBB explicitly waives it — *"Darum verzichten wir bei dieser Stelle auf ein Motivationsschreiben."* Under `cl_reference.md` a letter is generated only when required or when it adds information the resume cannot show. Neither holds. Writing one anyway risks reading as not having read the posting. +- **Better use of the same effort:** the phone call to Andri Wienandts, which converts a Weak channel into a Moderate one — the single highest-value action available on this application, and the variable the cohort has never yet tested. +- **If a letter is later wanted,** verified hooks are available: swissTAMP's reactive→proactive→predictive framing; the MUD condition-monitoring remit; the new-generation diagnostic-vehicle tender; and the honest thesis link (vibration-based condition monitoring — framed as a methods prototype, never as a validated system). + +## Resume Plan (draft — Phase 1 will confirm) +- Audience profile: **Swiss/DACH**, 2 pages, German or English **to be confirmed by the user** +- Summary: 2–3 lines — operate-and-build identity, sensor/asset-data thread +- Skills: 4–6 lines, canonical only — Python, SQL, PySpark, Kafka, Airflow, AWS, Kubernetes, Docker, GitLab CI/CD, Atlassian Compass, Java (with context) +- Swisscom: SW-2, SW-1, SW-7, SW-3 (+ SW-4 for the business-collaboration line) +- Bosch: BS-2, BS-4, BS-1 (+ BS-3 Application Ownership, BS-5 Spotfire for the BI bridge) +- Earlier: VZ-2 or GN-1 for the test/CI-CD line; GN-3 only if the Java thread needs reinforcing for RAMSI +- Total bullets: 11–14, natural length +- Impact evidence still needed: none blocking — all metrics are `unverified`, so the resume stays qualitative by design + +## Reuse Safety & Phase 2 Gates +- **`historical_outputs.json` checked 2026-08-21.** No prior package is reusable here and none is a match in kind: every existing output folder is an **English International Tech** resume, and six are on the `unsafe_do_not_reuse` list. **This would be the first Swiss/DACH German-language package in the repo** — build fresh from canonical claims, per policy. +- **Phase 2 forbidden-token gate (must not be skipped):** after generating the `.tex`, grep it for `Snowflake`, `dbt`, `Power BI`, `Spring Boot`, `Angular`, `Argo`, `Helm`, `LangChain`, `Terraform`, `Azure`, `GCP`. All must be **absent**. They appear throughout *this* session file because it analyses them as gaps — that is correct here and wrong in the document. +- Standard gates still apply: `validate_resume_system.py --document`, compile with MiKTeX pdflatex at full path, inspect the rendered PDF. + +## Open Risks (surface to the user before Phase 1) +1. **Comp (C4) — the deciding factor, and it is unresolved.** Anforderungsniveau K is a collectively-bargained band with a fixed ceiling; the top of the band is not negotiable the way a private offer is. The current K figures could not be retrieved from public sources on 2026-08-21. Against the standing bar (Swisscom ~140k, moves only at 180k+ all-in) this is the most likely reason not to proceed, and it is a question for the People Leader, not for further desk research. +2. **Level (lateral or below).** Senior IC seat vs current Staff + Component Owner scope. The Bern/Thun WLB-exception tier deliberately accepts below-bar *comp*; it has never accepted below-*level* scope, and BKW was declined on exactly this. Worth asking whether the role carries design/architecture ownership in practice. +3. **P4 Java/Spring Boot/Angular.** A full responsibility line is web-application development on a stack that is historical (Java) or absent (Spring Boot, Angular). Not a gate, but it will come up, and it is work he may not want. +4. **Five named products in the required stack are non-canonical.** Defensible because of "z. B.", but the resume will visibly not say Snowflake, dbt or Power BI. An ATS keyword screen configured on those literals would drop him. Nothing can honestly be done about that. + +## Status +- Fit gate: **DONE — PASS, Core, Evidence Fit 83/100** +- Phase 0: **DONE** (2026-08-21) +- Phase 1: PENDING — awaiting user confirmation of (1) role type + bundle, (2) format and language, (3) framing strategy, and a decision on the comp question +- Resume: PENDING +- Cover letter: NO (SBB waives it) +- Critique: PENDING +- Application/outcome: not submitted +- Next: user confirmation → optional call to Andri Wienandts → `/make-resume` Phase 1