diff --git a/CLAUDE.md b/CLAUDE.md index a7c4349..22d4bff 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -158,10 +158,10 @@ _Update this section when starting/finishing a JD._ | Session | Status | Next Command | |---------|--------|-------------| | NVIDIA - **Senior DevOps Engineer**, **Zürich** (req JR2024256) | **SUBMITTED 2026-09-05.** Recorded in the application record (now 7 entries) and in the scout decision log. ⚠ **Hybrid vs 5-day onsite was never resolved before sending**, so the working model is now a **live screening topic**, not a pre-cleared one - the same pattern as RUAG's comp/PSP. Thun→Zürich is ~1h50 each way; a 5-day-onsite answer is the main disqualifier to watch for. Comp is *not* a risk (levels.fyi Greater Zürich IC3 median ≈ CHF 204k, IC4 ≈ CHF 379k). Channel **Weak - the 7th consecutive cold submit**, though this posting published no named contact, so cold was the only option available. Submission PDFs `Dennis_Thiessen_Resume.pdf` and `Dennis_Thiessen_Cover_Letter.pdf` exist and are MD5-verified against source; letter recompiled so its date reads 5 Sep 2026. ⚠ **The letter carries ` oday` and the submission copies are copies, not build targets - if it is sent on a later day, recompile the letter and refresh both copies first** (`config.md` Output Rules). Submitted despite the hard-gate failures on an explicit user override, the same shape as RUAG AI Engineer C5I. Resume 2pp/13 bullets + 1pp cover letter (279 body words), both validators PASS 0 warnings, 0 boxes, visually inspected. Measured **Document Quality 82/100** at critique; **both Tier 1 findings were fixed 2026-09-05** - `Ubuntu` removed from the skills line (0 canonical; `PP-3` is Debian only, and the Debian→Ubuntu transfer argument belongs in an interview answer, not a skills line) and `security hardening` now marked *(personal server)* per the explicit `claims.json` instruction. Four honest ATS terms were added from existing evidence (configuration management, service reliability, container orchestration, observability), lifting JD term coverage **50%→61%**; no bullet was touched, so the budget stayed at 13 and cadence could not regress. **The critique is now STALE BY DESIGN - the document is better than 82 but that number was not re-measured, so never quote a post-edit estimate as a score.** The headline reorder was deliberately NOT applied: it is a positioning call for the user and `\headline` sits in the FIXED header block. Cover-letter hook is first-party verified (NVIDIA's own live Zürich posting JR2022878); **a hook was DROPPED at verification** - the Phase 0 plan's "Alps / Swiss AI Initiative with ETH Zürich and EPFL" is **not** supported by the first-party NVIDIA newsroom release, which mentions neither EPFL nor any Swiss AI Initiative; that came from secondary coverage. The letter names **both** honest gaps out loud - on-prem networking, and that employer-side Linux/Ansible ended Dec 2022 with only a personal server carrying currency. **⚠ BLOCKING: the working model is still unresolved and no document fix changes that.** Session `output/NVIDIA_SrDevOps_Zurich/session_nvidia_sr_devops.md`; JD scraped live via Playwright and saved verbatim (posted ~2026-09-01, very fresh). Evidence Fit **64/100**, fit class **Stretch**, **hard gate FAIL on two counts**: (1) required line *"Strong expertise in on-premises networking and compute infrastructure"* is a **Gap** - networking is 0 canonical and is not substitutable from data-platform work; (2) **hybrid vs onsite is UNRESOLVED** and the JD is silent - Thun→Zürich is ~1h50 each way. Required tally **3 Direct / 3 Adjacent / 1 Gap**. Recorded as an override rather than a passing gate, the same shape as RUAG AI Engineer C5I. (At the time this also had no free cohort slot; **that constraint no longer exists** - caps dropped 2026-09-05.) **Correction to the same day's scout triage: it called two required lines Gaps; only Q5b networking is one. Q2 (10+ yrs DevOps) is Adjacent and defensible** - a continuous CI/CD/automation thread runs Generali 2015 → today across five employers; the honest weakness is that those roles were titled data/test/research engineer, not DevOps. **The finding that changes the calculus: comp.** levels.fyi Greater Zürich puts NVIDIA IC3 median ≈ CHF 204k and IC4 ≈ CHF 379k, the highest-paying SWE employer in the city - the first role in the log where comp is a reason to *accept* a long commute rather than decline. Caveat: self-reported and equity-heavy after an extraordinary NVDA run; treat base as the reliable part. Strongest match is **R3, CI/CD pipelines for R&D engineering teams** - literally his career shape (`FC-1` Jenkins at a Fraunhofer institute, `BS-6` Ansible/Jenkins for fab analytics teams, `SW-3` Kubernetes + GitLab today). Zürich is NVIDIA's HPC/AI infrastructure-software R&D hub - first-party verified from NVIDIA's own live Zürich posting JR2022878 (*"building the next generation of scalable AI infrastructure ... distributed training, real-time inference, and communication efficiency across large systems"*), which is the hook the letter uses. **The Alps / Swiss AI Initiative framing was checked and dropped** - see above. **Honest gaps that travel with it:** on-prem networking (0), HPC (0), bare metal/switches/QEMU-KVM (0), RHEL/CentOS (0 - Debian→Ubuntu transfers, Red Hat does not), and **Ansible + Linux-at-work both ended Dec 2022** with currency carried only by `PP-3`, a personal server whose canonical entry forbids using it as physical-infrastructure evidence. No metric is quotable anywhere. | **Await response. Raise the working model at first contact** - it went in unresolved and a 5-day-onsite seat would be a late no. Note: `claims.json` has no shell-scripting entry, so **Bash is omitted** from Skills although the JD names it and ten years of Debian admin plus Ansible work plainly involve it - same shape as the Ansible/Linux gaps found 2026-08-27. Confirm with the user and record it. Groovy stays out regardless. | -| RUAG C5I - **AI Engineer C5I**, **Thun** (application ID 18027) | **SUBMITTED 2026-08-27** via jobs.ruag.ch (portal only; email and post refused). Evidence Fit **74/100**, fit class **Stretch**, hard gate **FAIL** (R1 and R2, the two title-defining responsibilities, are Adjacent not Direct), Document Quality **93/100** after a full critique-and-fix round (85 pre-edit), truth and provenance 24/25, **0 Tier 1 findings at Round 2**, channel **Weak/cold**. Submitted: German CV **2 pages, 13 bullets** + German motivation letter **1 page, 295 words**; both validators PASS, 0 boxes, text-order and visual QA clean, submission PDFs MD5-verified before sending. **Cohort evidence-first-2026-01 is now 6/10 and the sole Stretch slot is CONSUMED (Core 3/7, Adjacent 2/2, Stretch 1/1)** - any further application must clear Core or Adjacent on its own merits. Positioning is his canonical title **Staff Data, Analytics & AI Engineer**, carried by `BS-1` production ML-inference integration, `BS-6` Linux/Ansible, `SW-3`/`SW-7`/`SW-2` current Kubernetes and data-product work, `PP-3` current self-hosted Linux and hardening, `SW-5` DevSecOps tied to C5I's stated operating model, and the canonical `BW-1` officer career. The letter **names the AI-platform gap in one sentence** and pivots to the operations/platform side. **Honest gaps that travel with it:** no AI/LLM platform built or operated, no compute/GPU cluster, no RAG/retrieval implementation, no formal LLM evaluation; ML/AI-framework depth is certification-context only. **Compensation, PSP/project eligibility and role level were NEVER resolved before sending, so all three are now live screening topics rather than pre-cleared ones.** ⚠ **Marco Heinzen's published direct line (+41 79 568 14 96) was never used** - this went in as a pure cold submit, the sixth consecutive one. **If rejected, that is NOT a signal to drop RUAG:** five other RUAG C5I reqs sit in the scout log, and **Senior DevOps Engineer C5I** is already shortlisted and is a **materially better fit than this one**, sitting on the lane where his evidence is Direct rather than Adjacent (still live and verified on the board 2026-09-04). The **Data Lakehouse / Senior Data Platform Engineer** req was a title-match prior that the JD does not support — it was reposted 2026-09-04 as **Senior Data Engineer (MSSQL)**, requires on-prem MSSQL / Talend / SAP S/4HANA (0 canonical each), and is **ruled out**. | Await response. Optional but still worthwhile: call **Marco Heinzen** about technical scope and level, and **Frank Haugwitz** about compensation and PSP/project eligibility. Do not react to a single outcome with positioning changes (`application_strategy.md` §38/§74). | -| Schweizer Armee - **Kommando Cyber (Kdo Cy)**, DevOps Engineer III (Data Platform), **Zimmerwald** (Ref JRQ$540-19848) | **SUBMITTED 2026-08-27.** Evidence Fit **79/Core**, hard gate **PASS**, Document Quality **92/100**, channel **Weak**. Submitted package: German 2-page CV with **15 bullets** and 1-page motivation letter with **300 body words**; validators PASS, 0 boxes, text order and visual QA clean. Canonical **BW-1** records the six-year Bundeswehr officer career and anchors the letter's military/public-service motivation. User explicitly accepted the critique's remaining BS-1 wording issue (*„ohne manuellen Eingriff“*) as good enough and submitted unchanged. Honest gaps remain physical datacenter work, GPGPU, ClickHouse and named Pull-GitOps practice. Cohort evidence-first-2026-01 is now **5/10, Core 3/7**. | Await response; optional post-submit call to Marcel Matthey-Doret about Lohnklasse, Engineer-III level and development path. | -| Citadel Securities — Platform Engineer, Research Platform Engineering, **Zürich** (also NY/Miami) | **SUBMITTED 2026-08-26.** Cohort slot: **Adjacent 2/2** (cohort now 4/10). ⚠️ **KEY FINDING — the application form's preferred-work-location selector offered NO Zurich**, despite the JD saying "Miami, Zurich or New York" and the site's own Zurich filter returning this req. Careers site is operated by **Citadel Enterprise Americas LLC**; the apply flow is likely US-entity, or the Zurich seat is closed while the posting stands. **This partly supersedes the working-model risk** — if no Zurich seat is reachable through that form, hybrid-vs-onsite is moot and the application may sit against a US req, a hard NO on relocation. **Rule for any future Citadel application: check the form's location selector BEFORE building a package** — the posting's stated locations and the site filter both proved unreliable. User applied with low expectation; cold channel, evergreen standing req. 2pp resume (13 bullets) + 1pp CL (270 words), both validator **PASS, 0 warnings**; JD term coverage 51%→68% after Tier 1 fixes. Critique **STALE by design** (86/100 pre-edit; user chose to submit as-is over re-critiquing; est. ~91 post-edit, never quote as a score). **Cohort entry and decision-log entry deliberately NOT written — no confirmed send date.** Commands ready in the session file. **The working-model question is still open and travels with the application:** Evidence Fit **71/100 (Adjacent, mid-band; revised down from 74)**, qualifications gate PASS but **a practical constraint is UNRESOLVED**, which `critique_framework.md` treats as a NO-GO trigger. **The JD is silent on hybrid vs onsite (0 grep matches), and Ken Griffin is on record that Citadel returned to the office 5 days a week and calls it his most important leadership decision.** If that holds for Zurich, it means ~2–2.5h daily commuting from Bern or relocating — breaking the Bern-based / 2–3 day hybrid bar. Only contrary evidence is a stale 2022 anonymous Fishbowl post about Operations. **Must be asked, not researched** — same class as the SBB K band. Practical constraints scored 5/5 in Phase 0 on an unexamined assumption; corrected to 2/5. **Zero Gaps among the 7 minimum quals**, and all five preferred technologies (Kafka, Kubernetes, Spark, Airflow, distributed DBs) are Direct — **the strongest raw stack alignment in the log**. Title-defining function **splits**: R2 (ingestion/transformation/storage/lifecycle of large datasets) is Direct and describes SW-1/SW-7 exactly; **R1 (design and build the research platform itself) is Adjacent** — the Aker BP authoring-vs-building shape again, and unwritable-around under Scope Discipline. **Classification caveat:** `application_strategy.md`'s "a defining responsibility is only Adjacent → Stretch" would strictly class this Stretch; recorded Adjacent per the Aker BP precedent. Both cohort slots free either way. Gaps: platform authoring at firm scale, no professional quant/finance (now partly mitigated by new **PP-1/PP-2**), SDKs (0 evidence), low-latency/HFT (0 evidence — thesis throughput figure is explicitly barred by `thesis_limits`). **Go is NOT a gap** — Q3 is disjunctive and Python satisfies it. **$175–350k in the posting is a US/NY pay-transparency disclosure, NOT the Zurich number — must be asked.** Channel **Weak/cold** — would be the 5th consecutive cold application, in an office visibly staffed from Google and ETH (platform research head Costas Bekas; Nicolai Meinshausen leads principal research). Cover letter: **YES** if it proceeds — the PP-1 domain story is the main differentiator and needs prose. | **Ask Citadel Securities recruiting whether the Zurich seat is hybrid or 5-day onsite BEFORE building the package.** If 5-day onsite → likely NO-GO on the Bern constraint. If hybrid 2–3 days → resume Phase 2 (plan is written and budget PASSes at 11–14 bullets; two open items: Vizrt VZ-1 C++/distributed bullet, and adding a Projects section for PP-1) | -| SBB - **Data Engineer (m/w/d)**, Asset Management Infrastrukturanlagen, **Bern** (Job ID 103755) | **INTERVIEW INVITED 2026-08-28 - 9. September 2026, 08:30, 45 Min, MS Teams.** Per the posting's own process this is **stage 2 of 4**, *"Virtuelles Kennenlernen mit HR und Fuehrungskraft"* - **HR together with Andri Wienandts**, not a pure HR screen. Brief written to `output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md`. **This is the FIRST interview of the evidence-first cohort** (6 applications, 2 rejections, 1 conversion) and it converted from a **COLD submit** - the channel plan called for phoning Wienandts first and that never happened. **The resume never contained Snowflake, dbt or Power BI**, the three literals an ATS keyword screen would have keyed on; the session had recorded that risk as "accepted, not solvable". It did not filter him out, so a human read the dossier and the honest-substitution framing survived first contact. **One data point, do not over-read it** - but it is evidence against assuming honest omissions are fatal at the screen. Submitted 2026-08-25: 2pp English resume, 13 bullets, no cover letter (SBB waives it), Evidence Fit **79/100 Core**, hard gate **PASS**, Document Quality **92/100**, channel **Weak/cold**. Best practical fit in the log - Bern-based, German-language, no relocation, EU citizen + B permit. **Four things unresolved before submitting and now live call topics:** (1) **Anforderungsniveau K** is a capped GAV band, figures not public, very likely below the 180k bar; (2) the seat reads **lateral or below** current Staff + Component Owner scope, the same shape as the declined BKW, and the JD's only architecture language is a personal skill not an ownership mandate; (3) **RAMSI** Java/Spring Boot/Angular is a whole responsibility line on a stack that is historical or absent - ask its share, do not oversell; (4) Kidz Care scales on gross household income, so far below 90% at this band. Named gaps to answer honestly: Snowflake, dbt, Argo Workflows, Helm, Power BI, Spring Boot, Angular - all non-canonical, all survivable only because the JD prefixes the stack with "z. B.". Thesis stays a **methods prototype**: no real operational data, no accuracy figures, PSO surveyed only, throughput figure barred. | **Prep before 9.9.:** decide in advance what he does if K lands at 130-150k, if architecture is set elsewhere, or if RAMSI is heavily Angular - any one can be a no, and it is better decided before the call than improvised on camera. | +| RUAG C5I - **AI Engineer C5I**, **Thun** (application ID 18027) | **SUBMITTED 2026-08-27** via jobs.ruag.ch (portal only; email and post refused). Evidence Fit **74/100**, fit class **Stretch**, hard gate **FAIL** (R1 and R2, the two title-defining responsibilities, are Adjacent not Direct), Document Quality **93/100** after a full critique-and-fix round (85 pre-edit), truth and provenance 24/25, **0 Tier 1 findings at Round 2**, channel **Weak/cold**. Submitted: German CV **2 pages, 13 bullets** + German motivation letter **1 page, 295 words**; both validators PASS, 0 boxes, text-order and visual QA clean, submission PDFs MD5-verified before sending. **Cohort evidence-first-2026-01 is now 6/10 and the sole Stretch slot is CONSUMED (Core 3/7, Adjacent 2/2, Stretch 1/1)** - any further application must clear Core or Adjacent on its own merits. Positioning is his canonical title **Staff Data, Analytics & AI Engineer**, carried by `BS-1` production ML-inference integration, `BS-6` Linux/Ansible, `SW-3`/`SW-7`/`SW-2` current Kubernetes and data-product work, `PP-3` current self-hosted Linux and hardening, `SW-5` DevSecOps tied to C5I's stated operating model, and the canonical `BW-1` officer career. The letter **names the AI-platform gap in one sentence** and pivots to the operations/platform side. **Honest gaps that travel with it:** no AI/LLM platform built or operated, no compute/GPU cluster, no RAG/retrieval implementation, no formal LLM evaluation; ML/AI-framework depth is certification-context only. **Compensation, PSP/project eligibility and role level were NEVER resolved before sending, so all three are now live screening topics rather than pre-cleared ones.** ⚠ **Marco Heinzen's published direct line (+41 79 568 14 96) was never used** - this went in as a pure cold submit, the sixth consecutive one. **If rejected, that is NOT a signal to drop RUAG:** five other RUAG C5I reqs sit in the scout log, and **Senior DevOps Engineer C5I** is already shortlisted and is a **materially better fit than this one**, sitting on the lane where his evidence is Direct rather than Adjacent (still live and verified on the board 2026-09-04). The **Data Lakehouse / Senior Data Platform Engineer** req was a title-match prior that the JD does not support — it was reposted 2026-09-04 as **Senior Data Engineer (MSSQL)**, requires on-prem MSSQL / Talend / SAP S/4HANA (0 canonical each), and is **ruled out**. **Scout run 2026-09-07: the RUAG C5I backlog is now SETTLED — undecided RUAG rows went 69 → 3** (`ICT Architect`, `Software Engineer C5I`, `Cyber Security Consultant` remain open; `ICT Architect C5I` stays `paused`). Do not re-triage that board from scratch; read `decisions.json`, where every rule-out note states whether it came from a JD read or from the title/family pattern. Three JD reads that cycle all ruled out: **Test Manager C5I** (the closest call — it escapes the networking gap entirely and BW-1 scores, but required *"fundierte Erfahrung als Test Engineer"* rests on `VIZRT`, **ten months, ended 2018-05**, so it is thin and stale, plus a lane exit and a third C5I req while 18027 is pending), **System Engineer C5I** (VMware + Firewall + Netzwerk, all 0), and **ICT Solution Architect Business Applications** (required *"mehrjährige Erfahrung als Solution Architect"* — a title `feedback_swisscom_datamesh_ownership` forbids — and the duties are *"unter Anleitung"*, a supporting seat below authoring). | Await response. Optional but still worthwhile: call **Marco Heinzen** about technical scope and level, and **Frank Haugwitz** about compensation and PSP/project eligibility. **NEW CONTACT 2026-09-07 — `Lars Kauz`, Head of ICT Infrastructure C5I, +41 79 293 93 82, lars.kauz@ruag.ch**, published on the System Engineer C5I posting. Channel is the rationed variable since the 09-05 cohort change, so a published, reachable name matters — **but he heads ICT Infrastructure, the function whose req was ruled out for VMware/VDI/Windows content, and that is NOT demonstrably the Kubernetes platform group Senior DevOps C5I sits in.** He is a warm entry into C5I, not a verified channel for rank 1; Haugwitz stays the recorded gate. Do not react to a single outcome with positioning changes (`application_strategy.md` §38/§74). | +| Schweizer Armee - **Kommando Cyber (Kdo Cy)**, DevOps Engineer III (Data Platform), **Zimmerwald** (Ref JRQ$540-19848) | **CLOSED - REJECTED 2026-09-10** (submitted 2026-08-27, **14 days to disposition**, no interview - the fastest in the log after Google Business Home). Form letter from **Besarta Mehmeti**; the text is boilerplate (*„Profil und unsere Kriterien nicht in allen Punkten übereinstimmen"*) and carries **zero diagnostic content** - it is not a signal about the package and is **no reason to re-audit it**. Same disposition class as Microsoft ISE, Google Business Home and Aker BP: **a cold-channel no-interview rejection does not implicate document quality on its own.** ⚠ **WORTH WATCHING, NOT CONCLUDING:** this application and **SBB** are identical on every recorded dimension - Core, Evidence Fit **79**, hard gate PASS, Document Quality **92**, channel Weak - and they went opposite ways: SBB converted to an interview, this died in 14 days. **That shows the fit score did not discriminate; it does not show what did.** n=1 on each side - do not react with positioning changes (`application_strategy.md` §38/§74). **Channel:** Marcel Matthey-Doret's published line (+41 58 46 78409) was never called - the **fourth** published, reachable contact left unused after Heinzen (RUAG), Wienandts (SBB) and Marthinsen (Aker BP). Consistent with the 2026-09-05 channel policy but **not evidence for it**: the only interview in the log came from a *cold* submit whose resume was missing all three ATS literals. **Kdo Cy as an organisation is NOT closed** - 11 Kdo Cy roles were open on the portal at submission time and only this req is decided. Evidence Fit **79/Core**, hard gate **PASS**, Document Quality **92/100**, channel **Weak**. Submitted package: German 2-page CV with **15 bullets** and 1-page motivation letter with **300 body words**; validators PASS, 0 boxes, text order and visual QA clean. Canonical **BW-1** records the six-year Bundeswehr officer career and anchors the letter's military/public-service motivation. User explicitly accepted the critique's remaining BS-1 wording issue (*„ohne manuellen Eingriff“*) as good enough and submitted unchanged. Honest gaps remain physical datacenter work, GPGPU, ClickHouse and named Pull-GitOps practice. Cohort evidence-first-2026-01 is now **5/10, Core 3/7** *(pre-dates the 2026-09-05 cap drop; counts are a record, not a budget)*. | Done - rejection recorded in `application_cohort.json`, `decisions.json` and the session file. Optional and low-cost: a one-line feedback request to **Besarta Mehmeti**, which also builds a contact at an org with other open reqs. | +| Citadel Securities — Platform Engineer, Research Platform Engineering, **Zürich** (also NY/Miami) | **SUBMITTED 2026-08-26 — open, awaiting response.** Recorded as `adjacent` in `application_cohort.json` (outcome `applied`) and as `applied` in `decisions.json`. *Slot language from the capped-cohort era has been removed here: the caps were dropped 2026-09-05 and counts are a record, not a budget.* ⚠️ **KEY FINDING — the application form's preferred-work-location selector offered NO Zurich**, despite the JD saying "Miami, Zurich or New York" and the site's own Zurich filter returning this req. Careers site is operated by **Citadel Enterprise Americas LLC**; the apply flow is likely US-entity, or the Zurich seat is closed while the posting stands. **This partly supersedes the working-model risk** — if no Zurich seat is reachable through that form, hybrid-vs-onsite is moot and the application may sit against a US req, a hard NO on relocation. **Rule for any future Citadel application: check the form's location selector BEFORE building a package** — the posting's stated locations and the site filter both proved unreliable. User applied with low expectation; cold channel, evergreen standing req. 2pp resume (13 bullets) + 1pp CL (270 words), both validator **PASS, 0 warnings**; JD term coverage 51%→68% after Tier 1 fixes. Critique **STALE by design** (86/100 pre-edit; user chose to submit as-is over re-critiquing; est. ~91 post-edit, never quote as a score). **CORRECTED 2026-09-10:** this row previously said *"Cohort entry and decision-log entry deliberately NOT written — no confirmed send date"* while its own status line read SUBMITTED. **Both entries exist and both are dated 2026-08-26** — the sentence was pre-submission text that survived the send. **The working-model question is still open and travels with the application:** Evidence Fit **71/100 (Adjacent, mid-band; revised down from 74)**, qualifications gate PASS but **a practical constraint is UNRESOLVED**, which `critique_framework.md` treats as a NO-GO trigger. **The JD is silent on hybrid vs onsite (0 grep matches), and Ken Griffin is on record that Citadel returned to the office 5 days a week and calls it his most important leadership decision.** If that holds for Zurich, it means ~2–2.5h daily commuting from Bern or relocating — breaking the Bern-based / 2–3 day hybrid bar. Only contrary evidence is a stale 2022 anonymous Fishbowl post about Operations. **Must be asked, not researched** — same class as the SBB K band. Practical constraints scored 5/5 in Phase 0 on an unexamined assumption; corrected to 2/5. **Zero Gaps among the 7 minimum quals**, and all five preferred technologies (Kafka, Kubernetes, Spark, Airflow, distributed DBs) are Direct — **the strongest raw stack alignment in the log**. Title-defining function **splits**: R2 (ingestion/transformation/storage/lifecycle of large datasets) is Direct and describes SW-1/SW-7 exactly; **R1 (design and build the research platform itself) is Adjacent** — the Aker BP authoring-vs-building shape again, and unwritable-around under Scope Discipline. **Classification caveat:** `application_strategy.md`'s "a defining responsibility is only Adjacent → Stretch" would strictly class this Stretch; recorded Adjacent per the Aker BP precedent (the caps this once turned on no longer exist). Gaps: platform authoring at firm scale, no professional quant/finance (now partly mitigated by new **PP-1/PP-2**), SDKs (0 evidence), low-latency/HFT (0 evidence — thesis throughput figure is explicitly barred by `thesis_limits`). **Go is NOT a gap** — Q3 is disjunctive and Python satisfies it. **$175–350k in the posting is a US/NY pay-transparency disclosure, NOT the Zurich number — must be asked.** Channel **Weak/cold** — it was the 5th consecutive cold application, in an office visibly staffed from Google and ETH (platform research head Costas Bekas; Nicolai Meinshausen leads principal research). Cover letter **was written and submitted** (1pp, 270 words); the PP-1 domain story carries it. | **Await response** (submitted 2026-08-26). No document work pending. **Two questions travel with this application and must both be asked at first contact, before any interview effort:** (1) **is the application even against the Zürich seat?** — the apply form offered no Zürich, so it may sit against a US req, which is a hard NO on relocation; (2) **hybrid or 5-day onsite?** — unresolved at submission, and 5-day onsite is a likely NO-GO on the Bern constraint. Same shape as the NVIDIA working-model issue: it went out unresolved, so it is now a live screening topic rather than a pre-cleared one. Also unasked: the Zürich compensation figure — the posting's $175–350k is a US/NY pay-transparency disclosure. | +| SBB - **Data Engineer (m/w/d)**, Asset Management Infrastrukturanlagen, **Bern** (Job ID 103755) | **CLOSED - APPLICATION WITHDRAWN BY THE CANDIDATE 2026-09-11.** Interview held 2026-09-09 (HR + Scrum Master, **not** the People Leader the brief expected); SBB confirmed there was no room on the Einstufung, and he withdrew. **This is the cohort's only interview and it ended as a NO from his side, not theirs.** 💰 **HARD COMP FIGURES - supersedes the earlier +10% estimate and is the reference point for the whole Bern/Thun tier:** **Anforderungsniveau K tops out at ~CHF 145k.** He sits at **~CHF 135k inside a Swisscom band that runs to ~CHF 160k**. The decisive argument was **headroom, not the absolute number** - he would have entered K at its ceiling merely to break even, with nothing above. ⚠ **The package was a net DOWNGRADE on four counts:** 41h vs 40h week · 25 days holiday + Brückentage vs 28 + 5 from Zeitautonomie · 3 office days vs 2 · the band ceiling. ⚠ **Qualitative red flag worth carrying forward:** he spoke only to HR and the Scrum Master and **perceived difficulties in the team** - that is not repairable by a salary offer. 🎯 **TARGETING RULE — SBB ONLY: Anforderungsniveau K is too low; at SBB aim at NIVEAU L and/or KADER.** ⚠ **Deliberately NOT generalised** (user, 2026-09-11): *Anforderungsniveau* is **SBB's own** salary system (published at ) and does not map onto other employers — **jobs.admin.ch/Schweizer Armee uses Lohnklassen**, RUAG has its own scheme, PostFinance publishes per-posting bands. ~145k is an **SBB** ceiling, not a tier anchor. ⚠ **Thun and surroundings (RUAG, Kdo Cy) are explicitly OUT of this reasoning:** near-zero commute plus benefits that a salary band does not show — he named **childcare-cost coverage at the Schweizer Armee/Kdo Cy as potentially far more generous** (unverified — ask, do not assume). **Never decline a Thun-area role on band alone before pricing the benefits.** What *does* carry across employers: judge by **headroom in the band**, and price the **total package** (working time, holiday, office days), not the entry salary. Original record: interview was stage 2 of 4, **INTERVIEW HELD 2026-09-09.** SBB asked him to come back on whether the role interests him; **SBB's own feedback is still outstanding.** User's summary: *„ok"*, but **ein paar Red Flags**, and in his read the Rahmenbedingungen do not compensate for them - **leaning negative, explicitly undecided as of 2026-09-10, and he asked to leave it open.** ⚠ **The specific red flags were NOT captured while fresh** - anyone reopening this must ask rather than rely on memory. 💰 **First real read on Anforderungsniveau K:** his post-interview estimate is that roughly **+10% on the current ~140k** looks achievable (very roughly ~155k). **This is HIS ESTIMATE of what is negotiable, not a band SBB is recorded as quoting** - whether the K range was named on the call is unrecorded. Well below the 180k bar, above current pay. Recorded in `comp_worksheet_sbb.md` as the **first calibration point for the entire Bern/Thun local tier** (RUAG, Swissgrid, BKW, BFH), which was previously pure guesswork - treat as an estimate, never quote as a figure. **INTERVIEW INVITED 2026-08-28 - 9. September 2026, 08:30, 45 Min, MS Teams.** Per the posting's own process this is **stage 2 of 4**, *"Virtuelles Kennenlernen mit HR und Fuehrungskraft"* - **HR together with Andri Wienandts**, not a pure HR screen. Brief written to `output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md`. **This is the FIRST interview of the evidence-first cohort** (6 applications, 2 rejections, 1 conversion) and it converted from a **COLD submit** - the channel plan called for phoning Wienandts first and that never happened. **The resume never contained Snowflake, dbt or Power BI**, the three literals an ATS keyword screen would have keyed on; the session had recorded that risk as "accepted, not solvable". It did not filter him out, so a human read the dossier and the honest-substitution framing survived first contact. **One data point, do not over-read it** - but it is evidence against assuming honest omissions are fatal at the screen. Submitted 2026-08-25: 2pp English resume, 13 bullets, no cover letter (SBB waives it), Evidence Fit **79/100 Core**, hard gate **PASS**, Document Quality **92/100**, channel **Weak/cold**. Best practical fit in the log - Bern-based, German-language, no relocation, EU citizen + B permit. **Four things unresolved before submitting and now live call topics:** (1) **Anforderungsniveau K** is a capped GAV band, figures not public, very likely below the 180k bar; (2) the seat reads **lateral or below** current Staff + Component Owner scope, the same shape as the declined BKW, and the JD's only architecture language is a personal skill not an ownership mandate; (3) **RAMSI** Java/Spring Boot/Angular is a whole responsibility line on a stack that is historical or absent - ask its share, do not oversell; (4) Kidz Care scales on gross household income, so far below 90% at this band. Named gaps to answer honestly: Snowflake, dbt, Argo Workflows, Helm, Power BI, Spring Boot, Angular - all non-canonical, all survivable only because the JD prefixes the stack with "z. B.". Thesis stays a **methods prototype**: no real operational data, no accuracy figures, PSO surveyed only, throughput figure barred. | Done - withdrawn and recorded in `application_cohort.json`, `decisions.json`, `comp_worksheet_sbb.md` and memory. **Carry forward the headroom + total-package test, NOT the K→L mapping** — that one is SBB-specific and was explicitly narrowed by the user on 2026-09-11. | | 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/bundeswehr_informatik_stabsoffizier.txt b/JDs/bundeswehr_informatik_stabsoffizier.txt new file mode 100644 index 0000000..50adb24 --- /dev/null +++ b/JDs/bundeswehr_informatik_stabsoffizier.txt @@ -0,0 +1,105 @@ +Unternehmen + +Bundeswehr – Mach, was wirklich zählt + +Beschäftigungsdienststelle: Streitkräfteamt + +Beschäftigungsort: 53123 Bonn + +Uniformträgerbereich: Heer + +Das tatsächliche Einstellungsdatum ist variabel +Stellenbeschreibung + + Die Einstellung erfolgt in die Laufbahn der Offiziere der Reserve außerhalb des Wehrdienstes + Konzeptionelle Weiterentwicklung von IT-gestützten Ausbildungssystemen: Weiterentwicklung der virtuellen Lernumgebung und relevanter Subsysteme auf Basis von Evaluierungsergebnissen, Nutzerforderungen der AG Technologiegestützten Ausbildung und internationalen Anforderungen an die Kompatibilität. Dies umfasst die Definition von Vorgaben von Datenstrukturen, Kommunikationsprotokollen und Schnittstellenstandards, um die Interoperabilität und den Datenaustausch zwischen den Systemen zu gewährleisten. + KI und Trusted Learning Analytics in der Ausbildung: Konzeptionelle Bearbeitung und planerische Weiterentwicklung im Bereich Künstliche Intelligenz und Trusted Learning Analytics, einschließlich der Identifizierung, Bewertung und Umsetzung internationaler methodisch didaktischer Optimierungspotenziale für das Aufgabenfeld Technische Ausbildung (TA). Die Integration neuer Technologien erfordert fundierte Kenntnisse in Datenmodellierung, Algorithmen und Datenanalyse + Schnittstellenmanagement und Datenkoordination: Koordinierung der notwendigen Maßnahmen zur Konnektivität aller betroffenen Systeme (z.B. Personalwirtschaftssystem, inter/-nationale Systeme) als zentraler Nutzervertreter. Dies beinhaltet die Definition von Schnittstellen, die Überwachung der Datenqualität und die Sicherstellung der Datenintegrität. Fundierte IT-Kenntnisse sind unerlässlich, um komplexe Systemlandschaften zu verstehen und die Datenflüsse zu optimieren + Wissenschaftliche Beratung zum Konzept „Train While You Fight“ sowie Operationalisierung und Weiterentwicklung des Konzeptes im Kontext der virtuellen Lernumgebung. Vertretung und Präsentation des Themas im internationalen Umfeld + +Geld & Finanzen + + Entgeltleistungen nach dem Unterhaltssicherungsgesetz, Beispiele unter https://www.bundeswehr.de/de/betreuung-fuersorge/besoldung-versorgung-soldaten/unterhaltssicherung + Beiträge zur Renten- und Arbeitslosenversicherung + +Work-Life-Balance + + Gesicherter & familienfreundlicher Arbeitgeber + 30 Tage Urlaub pro Jahr (Anteilig Ihrer Dienstzeit), 24. und 31.12. dienstfrei + Ausgleich von evtl. anfallenden Überstunden in Freizeit + Dienst im Einklang mit beruflichen und privaten Verpflichtungen in Abstimmung mit Ihrer hauptberuflichen Arbeit + Teilzeit und Homeoffice nach Abschluss der Ausbildung möglich + +Lernen & Aufsteigen + + Antritt im Reservistendienst mit vorläufig verliehenem höherem Dienstgrad + Nach Ihrer Reserveoffizierausbildung zeitlich flexible Reservedienste mit Weiterqualifizierungsmöglichkeiten und Beförderungen + +Sport & Gesundheit + + Kostenloses Bahnfahren in Uniform für private Fahrten + Kostenfreie medizinische Versorgung (kein Krankenkassenbeitrag) + Militärische Ausbildung & gezieltes körperliches Training + +Qualifikationserfordernisse + +Zwingend: + + In Deutschland anerkannter Masterabschluss oder vergleichbarer Diplomabschluss (UNI) in Angewandte Informatik mit der Note 1,7 oder besser und anschließend nach Fachrichtung und Schwierigkeit vergleichbare hauptberufliche Tätigkeit von mindestens zwei Jahren und sechs Monaten (vgl. §25 Absatz 2 Soldatenlaufbahnverordnung) + Mehrjährige Berufserfahrung zu dem Themengebiet „Train While You Fight“ + Englisch-Sprachniveau C2 + Bereits erfolgreich abgeschlossene Grund- oder Basisausbildung + Deutsche Staatsangehörigkeit + Eintreten für Menschenwürde, Demokratie und Rechtsstaatlichkeit + Teilnahme an einer Eignungsfeststellung und einer Sicherheitsüberprüfung + Grundsätzliche Bereitschaft, an künftigen Auslandeinsätzen der Bundeswehr mit entsprechendem Mandat teilzunehmen + Das 52. Lebensjahr am Tage der Einstellung noch nicht vollendet + + +Ergänzende Informationen +Bemerkungen + +Wir suchen Verstärkung frei von Religion, Geschlecht, sexueller Orientierung und Herkunft. Für die gezielte Gleichstellung begrüßen wir Bewerbungen von Frauen besonders. + +Folgende Ausbildungsabschnitte sind zwingend im Zeitraum von 3 Jahren zu durchlaufen: + + Für gediente Personen: + +Reserveoffizierlehrgang außerhalb des Wehrdienstes Modul 1 bis Modul 3 mit je 40-50 Stunden Onlinephase und je 12-17 Tagen Präsenzphase jeweils innerhalb von drei Monaten + +Für Zivilpersonal des Geschäftsbereichs BMVg gelten die besonderen Regelungen gemäß Weisung Staatssekretär Hilmer, BMVg, vom 09.10.2025 + +(https://personal.ecm.bundeswehr.org/SitePages/Beorderung-von-Zivilpersonal-im-Gesch%C3%A4ftsbereich-BMVg.aspx) +Ansprechstelle + +Fragen zur Bewerbung: + ++ 49 2203 105 2654 Frau StBtsm Wenzel + ++ 49 2203 105 2577 Frau ROS'in van Duiven + +E-Mail: AC-Bewerbung-ResOffzSE@bundeswehr.org + +Fragen zum Bewerbungsportal: + +E-Mail: e-recruiting@bundeswehr.org + +Klicken Sie auf "Karriere starten" & Profil erstellen und laden Ihre Bewerbungsunterlagen als gedruckte PDF (PDF-Druckversion) hoch. + +Ihre Bewerbung umfasst: + + Anschreiben + Lebenslauf (tabellarisch) + Bewerbungsbogen und Einverständniserklärung für eine Beorderung (Diese Formulare finden Sie bei den ANLAGEN zur Ausschreibung hinterlegt.) + Masterzeugnis und -urkunde bzw. Diplomzeugnis und -urkunde (Universitär) + Nachweise der weiteren zwingend erforderlichen Qualifikationen + Kopie Personalausweis + +Bei fremdsprachigen Bewerbungsunterlagen muss eine beglaubigte deutsche Übersetzung beigefügt werden. + +Bei ausländischen Bildungsabschlüssen ist ein Nachweis der Anerkennung in Deutschland eigenständig beizufügen. + +Die hierzu entstehenden Kosten werden durch den Bund nicht getragen. +Anlagen +Bewerbungsbogen Seiteneinstieg und ROB ab GEWET 2027 17.07.2026 (0,4 MB) +Einverständniserklärung für eine Beorderung (0,4 MB) diff --git a/job_scout/scout.py b/job_scout/scout.py index 9054dc9..1039d9d 100644 --- a/job_scout/scout.py +++ b/job_scout/scout.py @@ -32,6 +32,7 @@ resist scraping even headless and stay in MANUAL_CHECK (surfaced as a report che See the adapter-coverage notes at the bottom for the current automated/manual split. """ +import html import json import os import re @@ -464,6 +465,35 @@ COMPANIES = [ # Swissgrid (Aarau): Magnolia CMS JSON endpoint (verified). placeOfWork is a bare city # (Aarau/Prilly/...), so loc_suffix tags it Switzerland for the CH filter. No title filter # (small board ~13 roles; lets Data Scientist / Applied-ML roles surface). + # Swiss federal job portal (jobs.admin.ch) via the Prospective API, filtered to + # Kommando Cyber. Added 2026-09-10 on user request: the Kdo Cy DevOps Engineer III req + # was found and applied to MANUALLY (rejected 2026-09-10) because nothing here was + # automated, and 15 Kdo Cy roles were open at the time this was wired up. + # + # `units` matches substrings against the sub-unit name. Other VBS units in the same + # defence-tech lane, one line away if wanted (counts as of 2026-09-10): + # "armasuisse" (5) · "Bundesamt für Cybersicherheit" (1) · "Nachrichtendienst" (10) + # "Kommando Ausbildung" (19) · "Kommando Operationen" (50) · "Armeestab" (6) + # Drop `units` entirely to scan all 463 federal roles and let the scorer filter. + # + # Pay: rows carry a `lohnklasse`. The official EPA table (maxima, 2026) is recorded in + # memory `reference_bund_lohnklassen` — LK 18 120'923 · 22 142'832 · 24 158'954 · 26 175'617, + # with BPV Anhang 1 splitting Standardplan (LK 1-23) from Kaderplan (LK 24-38). It is + # CALIBRATION ONLY: the user ruled 2026-09-11 that Lohnklasse must NOT be a screening gate, + # since Ortszuschlag, Familienzulagen and benefits make LK 24 and below workable. + # _score_floor: Kdo Cy titles are German administrative ("ICT-System Engineer", + # "ICT-Architekt/-in III") and score unevenly under English keywords — same reason + # NATO and SBB carry a floor. Keep pre-filtered roles from this unit visible. + ("kdocy", "Schweizer Armee - Kdo Cy", "prospective", { + "medium_id": "1000624", + "units": ["Kommando Cyber"], + "lang": "de", + "_score_floor": 2, + # The floor lifts every German-titled row to 2, which would also float the + # apprenticeship intake. These terms are unambiguous on this board. + "_title_exclude": ["lernende", "lehrgang", "praktikant", "praktikum", "ausbildung zum", + "ausbildung zur", "sportlehre", "musiklehre"], + }), ("swissgrid", "Swissgrid (Aarau)", "json", { "url": "https://www.swissgrid.ch/.rest/cloud/component-data?path=%2Fswissgrid%2Fen%2Fhome%2Fcareer%2Fjobs%2Fmain%2Fjoblist_transferred_11", "jobs_key": "jobs", @@ -565,6 +595,23 @@ MANUAL_CHECK = [ # headless browser, so there is no automated path. Manual only. ("NATO NCIA", "Cloudflare-blocked to headless browsers. NCIA is the tech arm and is separate from the JWC Stavanger reqs the `nato` adapter returns — check it manually for AI/data roles.", "https://www.ncia.nato.int/careers.html"), + # Bundeswehr Reserve (Reserveoffizier ausserhalb des Wehrdienstes). Probed 2026-09-10. + # The portal is SAP E-Recruiting (sap-client 300); the data sits behind an OData service + # at /erece/unreg/ (entity set `Stellensuche_Set`, `SearchCategory eq '0022'` = Reserve, + # ~79 postings). It is NOT wired up, deliberately: + # * the portal actively blocks automation — a headless browser gets an HTTP 404 + # "Bundeswehr Fehlerseite" on every path, and filtered OData GETs are 404'd by the WAF; + # the only way through was spoofing the UA and masking navigator.webdriver. + # * that is an access control the operator deliberately set. Routinely circumventing it + # from a scheduled scraper is a different posture from jobs.admin.ch, which serves an + # open, unauthenticated API with no countermeasures. Not a call to make silently. + # BETTER CHANNEL, operator-sanctioned: the portal has a Suchauftrag (job alert) — + # `AttSuchauftragSet` in the OData metadata. It e-mails new matching Reserve postings. + # Zero maintenance, no evasion. Set it up once instead of scraping. + # NOTE on Laufbahn: most IT-titled reserve postings are Feldwebel (NCO) roles. As a + # Leutnant d.R. only the Offizier ones apply — filter on that before reading titles. + ("Bundeswehr Reserve", "SAP E-Recruiting behind bot detection; NOT scraped by choice (see code comment). Use the portal's own Suchauftrag/job alert. Filter: Art der Stelle = Stellenangebote Reserve. Watch for Offizier (not Feldwebel) IT roles.", + "https://bewerbung.bundeswehr-karriere.de/erece/portal/index.html"), ] @@ -1195,6 +1242,92 @@ def fetch_taleo(args): return list(by_id.values()) +def _prospective_unit(attrs): + """Sub-unit name from a Prospective attributes dict. + + The key is `verwaltungseinheit_` where is DEPARTMENT-SPECIFIC — VBS uses + 1083398, EFD uses 1083364. Never hardcode one: match the prefix, or the adapter breaks + the moment it is pointed at another department. + """ + for key, val in attrs.items(): + if key.startswith("verwaltungseinheit_") and val: + return " / ".join(str(v) for v in val) + return "" + + +def fetch_prospective(args): + """Prospective (ohws.prospective.ch) public jobs API. + + Verified use: jobs.admin.ch — the Swiss federal job portal (medium 1000624, 463 roles). + jobs.admin.ch itself is an S3-hosted SPA that returns S3 `AccessDenied` for any direct + path fetch, headless browser included, so scraping the site is a dead end. The SPA reads + this API, which is public, unauthenticated, fast and far richer than the rendered page. + + Why this board is worth special handling: unlike every other source in the scout, each + row carries a **Lohnklasse** (the admin.ch analogue of SBB's Anforderungsniveau — a + direct read on the comp bar), a hard **application deadline**, and a **named contact**, + which turns a cold submit there into a choice rather than a necessity. It also exposes + the real Aufgaben/Anforderungen text, so scoring runs against the JD body instead of the + title — the failure mode `job_scout_overscoring_findings` records. + + Args: medium_id (required), units (list of substrings matched against the sub-unit name; + empty/absent = no unit filter), lang (default "de"), page_size (default 200). + """ + medium = args["medium_id"] + units = [u.lower() for u in args.get("units", [])] + lang = args.get("lang", "de") + page_size = int(args.get("page_size", 200)) + base = f"https://ohws.prospective.ch/public/v1/medium/{medium}/jobs" + + # Page defensively: one request that happens to fit today is not a contract. + raw, offset, total = [], 0, None + for _ in range(50): + data = http_get_json(f"{base}?lang={lang}&offset={offset}&limit={page_size}") + batch = data.get("jobs") or [] + if total is None: + total = data.get("total") + if not batch: + break + raw.extend(batch) + offset += len(batch) + if total is not None and offset >= total: + break + + jobs = [] + for j in raw: + attrs = j.get("attributes") or {} + unit = _prospective_unit(attrs) + if units and not any(u in unit.lower() for u in units): + continue + szas = j.get("szas") or {} + loc = html.unescape(" / ".join(attrs.get("arbeitsort") or []) or "Schweiz") + lohnklasse = " / ".join(attrs.get("lohnklasse") or []) + deadline = (j.get("end_date") or "")[:10] + # Fold the scoreable JD body plus the fields that drive real decisions (unit, + # Lohnklasse, deadline, contact) into description so the scorer sees them too. + body = " ".join(str(szas.get(k, "")) for k in + ("sza_role", "sza_tasks", "sza_requirements", "sza_field_of_activity")) + body = html.unescape(re.sub(r"<[^>]+>", " ", body)) + desc = " | ".join(x for x in ( + unit, + f"Lohnklasse {lohnklasse}" if lohnklasse else "", + f"Bewerbungsfrist {deadline}" if deadline else "", + str(szas.get("sza_contact", "")), + body, + ) if x) + jobs.append({ + "id": str(j.get("id") or j.get("viewkey") or ""), + "title": html.unescape((j.get("title") or "").strip()), + # Suffix so the CH location filter matches city-only values like "Zimmerwald". + "location": f"{loc}, Switzerland" if args.get("loc_suffix", True) else loc, + "url": (j.get("links") or {}).get("directlink", ""), + "posted": (j.get("start_date") or "")[:10], + "deadline": deadline, + "description": re.sub(r"\s+", " ", desc)[:1200], + }) + return jobs + + def fetch_json(args): """Generic JSON jobs API with configurable field names, for employer sites that expose a clean public endpoint. Verified use: Swissgrid (Magnolia CMS @@ -1585,6 +1718,7 @@ ADAPTERS = { "lever": fetch_lever, "taleo": fetch_taleo, "json": fetch_json, + "prospective": fetch_prospective, "sbb": fetch_sbb, "bkw": fetch_bkw, "playwright": fetch_playwright, @@ -1947,6 +2081,8 @@ def write_report(path, results, errors, new_only, include_weak, stats=None, tota lines.append(f"- Location: {r['location']} *({loc_tag})*") if r.get("posted"): lines.append(f"- Posted: {r['posted']}") + if r.get("deadline"): + lines.append(f"- **Bewerbungsfrist: {r['deadline']}**") lines.append(f"- URL: {r['url']}") if d: note = f" — {d['note']}" if d.get("note") else "" @@ -2048,6 +2184,7 @@ def _process_company(cid, display, args, jobs, seen, today, last_scrape): "company": display, "company_id": cid, "title": j["title"], "location": j["location"], "url": j["url"], "posted": j.get("posted", ""), + "deadline": j.get("deadline", ""), "score": score, "pos": pos, "neg": neg, "in_ch": in_ch, "remote": is_remote, "relocation": is_relocation, "is_new": is_new, @@ -2199,7 +2336,8 @@ def main(): json_path = REPORTS_DIR / f"{today}.json" dump = [{ "company": r["company"], "title": r["title"], "location": r["location"], - "url": r["url"], "posted": r["posted"], "is_new": r["is_new"], + "url": r["url"], "posted": r["posted"], "deadline": r.get("deadline", ""), + "is_new": r["is_new"], "decision": dec_index.get(_decision_key(r["url"])), "keyword_signal": {"score": r["score"], "pos": r["pos"], "neg": r["neg"]}, "loc_flags": { diff --git a/job_scout/state/application_cohort.json b/job_scout/state/application_cohort.json index 20eefc6..e52319a 100644 --- a/job_scout/state/application_cohort.json +++ b/job_scout/state/application_cohort.json @@ -44,7 +44,7 @@ "evidence_fit": 79.0, "hard_gate": "pass", "channel": "weak", - "outcome": "interview_invited", + "outcome": "withdrawn_by_candidate", "submitted": "2026-08-25", "open_risk": "Anforderungsniveau K is a capped GAV band, figures not public; seat may read lateral or below current Staff + Component Owner scope.", "interview": { @@ -52,9 +52,16 @@ "invited": "2026-08-28", "scheduled": "2026-09-09 08:30", "duration_min": 45, - "format": "Microsoft Teams" + "format": "Microsoft Teams", + "held": "2026-09-09", + "result": "Held 2026-09-09 (HR + Scrum Master). Candidate WITHDREW 2026-09-11 after SBB confirmed there was no room to move on the Einstufung.", + "user_read": "User reported 'ein paar Red Flags' and judged that the Rahmenbedingungen do not compensate for them. The specific red flags were NOT captured while fresh - if this is reopened, ask before relying on memory. Leaning negative but explicitly undecided as of 2026-09-10; he asked to leave it open pending SBB's feedback." }, - "note": "FIRST interview invitation in the evidence-first cohort. Converted from a COLD submit - the published warm contact (Andri Wienandts, +41 79 364 62 53) was never called. The resume never contained Snowflake, dbt or Power BI, the three literals an ATS keyword screen would have keyed on, so a human read the dossier." + "note": "FIRST interview invitation in the evidence-first cohort. Converted from a COLD submit - the published warm contact (Andri Wienandts, +41 79 364 62 53) was never called. The resume never contained Snowflake, dbt or Power BI, the three literals an ATS keyword screen would have keyed on, so a human read the dossier.", + "comp_datapoint": "HARD FIGURES, from the interview - supersedes the earlier +10% estimate. Anforderungsniveau K TOPS OUT AT ~CHF 145k. His own position: ~CHF 135k today inside a Swisscom band that runs to ~CHF 160k. So the decisive point was NOT the absolute number but the HEADROOM: he would have had to enter K at its ceiling just to break even, with nothing left above. First hard calibration of a Swiss public-sector band and the reference point for the whole Bern/Thun tier (RUAG, Swissgrid, BKW, BFH, PostFinance).", + "withdrawn": "2026-09-11", + "why_withdrawn": "Total package was a net DOWNGRADE on four counts: 41h vs 40h week; 25 days holiday + Brueckentage vs 28 + 5 from Zeitautonomie; 3 office days vs 2; and the band ceiling above. Plus a qualitative red flag: he spoke only to HR and the Scrum Master and perceived DIFFICULTIES IN THE TEAM. That one is not fixable by a salary offer - note it if SBB or a similar Bern-tier seat comes back.", + "lesson": "SBB-SPECIFIC targeting rule (user 2026-09-11): at SBB, Anforderungsniveau K is too low - aim at Niveau L and/or Kader. NARROWED the same day at the user's instruction: Anforderungsniveau is SBB's OWN system (https://company.sbb.ch/de/jobs-karriere/arbeitgeberin/lohn.html) and does NOT generalise - jobs.admin.ch uses Lohnklassen, RUAG its own scheme, PostFinance per-posting bands. ~145k is an SBB ceiling, not a tier anchor. THUN-AREA EMPLOYERS (RUAG, Kdo Cy) ARE EXPLICITLY OUT of this reasoning: near-zero commute plus benefits a band does not show - he named childcare-cost coverage at the Schweizer Armee/Kdo Cy as potentially far more generous (UNVERIFIED - ask). Never decline a Thun-area role on band alone. What DOES generalise: judge by headroom in the band, and price the total package (working time, holiday, office days), not the entry number." }, { "company": "Citadel Securities", @@ -74,7 +81,11 @@ "evidence_fit": 79.0, "hard_gate": "pass", "channel": "weak", - "outcome": "applied" + "outcome": "rejected_no_interview", + "submitted": "2026-08-27", + "rejection_date": "2026-09-10", + "days_to_disposition": 14, + "note": "Form-letter rejection from Besarta Mehmeti, no interview, 14 days to disposition - the fastest in the log after Google Business Home. The letter is boilerplate ('Profil und unsere Kriterien nicht in allen Punkten uebereinstimmen') and carries ZERO diagnostic content, so it is not a signal about the package and is no reason to re-audit it. Same disposition class as Microsoft ISE, Google Business Home and Aker BP: a cold-channel no-interview rejection does not implicate document quality on its own. WORTH WATCHING, NOT CONCLUDING: this row and the SBB row are identical on every recorded dimension - core, Evidence Fit 79, hard gate pass, Document Quality 92, channel weak - and they went opposite ways (SBB converted to an interview, this died in 14 days). That shows the fit score did not discriminate; it does NOT show what did. n=1 on each side. Do not react with positioning changes (application_strategy.md 38/74). Channel note: Marcel Matthey-Doret (+41 58 46 78409) was published and never called - the fourth published, reachable contact left unused after Heinzen (RUAG), Wienandts (SBB) and Marthinsen (Aker BP). Consistent with the 2026-09-05 channel policy, but NOT evidence for it: the single interview in this log came from a cold submit." }, { "company": "RUAG MRO Holding AG (Business Area C5I)", diff --git a/job_scout/state/decisions.json b/job_scout/state/decisions.json index 7af0640..a36e2b1 100644 --- a/job_scout/state/decisions.json +++ b/job_scout/state/decisions.json @@ -1776,11 +1776,11 @@ "date": "2026-08-18" }, "https://jobs.sbb.ch/v2/offene-stellen/data-engineer-m-w-d-asset-management-infrastrukturanlagen/45fa2411-31dc-4520-827e-1c93a527534c": { - "company": "", - "title": "", - "decision": "interview", - "note": "INTERVIEW INVITED 2026-08-28 for 2026-09-09 08:30, 45 min Teams. Stage 2 of 4 per the posting: \"Virtuelles Kennenlernen mit HR und Fuehrungskraft\" - so HR and Andri Wienandts together, not a pure HR screen. Submitted 2026-08-25, Core, Evidence Fit 79/100, Document Quality 92/100, cold channel. First interview of the evidence-first cohort. Unresolved and now live: Anforderungsniveau K band, design/architecture scope vs current Staff + Component Owner level, RAMSI Java/Spring Boot/Angular share of the role, Kidz Care actual rate.", - "date": "2026-08-28" + "company": "SBB", + "title": "Data Engineer (m/w/d) Asset Management Infrastrukturanlagen, Bern (103755)", + "decision": "withdrawn", + "note": "WITHDRAWN BY THE CANDIDATE 2026-09-11 after the 2026-09-09 interview (HR + Scrum Master); SBB confirmed no room on the Einstufung. Package was a net downgrade on four counts: 41h vs 40h week, 25 days holiday + Brueckentage vs 28 + 5 from Zeitautonomie, 3 office days vs 2, and Anforderungsniveau K tops out at ~CHF 145k against his ~135k inside a band running to ~160k - he would have entered K at its ceiling just to break even. Also perceived DIFFICULTIES IN THE TEAM, which no salary fixes. TARGETING RULE - SBB ONLY: at SBB aim at Niveau L and/or Kader. Anforderungsniveau is SBB's own system (company.sbb.ch/de/jobs-karriere/arbeitgeberin/lohn.html); it does NOT map onto jobs.admin.ch (Lohnklassen), RUAG or PostFinance, and ~145k is an SBB ceiling, not a tier anchor. Thun-area employers (RUAG, Kdo Cy) are explicitly outside this reasoning - near-zero commute plus benefits a band does not show. Narrowed by the user 2026-09-11.", + "date": "2026-09-11" }, "https://jobs.ashbyhq.com/snowflake/3eea87fa-73c8-46dc-b69b-7beb438b48d8": { "company": "Snowflake", @@ -1827,9 +1827,9 @@ "https://jobs.admin.ch/offene-stellen/devops-engineer-iii-data-platform/752ded37-1753-4ac8-946a-b0c958d4424a": { "company": "Schweizer Armee - Kommando Cyber", "title": "DevOps Engineer III (Data Platform)", - "decision": "applied", - "note": "Submitted 2026-08-27. Ref JRQ$540-19848, Zimmerwald. Core, Evidence Fit 79, Document Quality 92, hard gate PASS, channel weak. German 2-page CV plus 1-page motivation letter; the six-year Bundeswehr officer career is included as military-context and motivation evidence. User explicitly accepted the critique's remaining BS-1 wording issue ('ohne manuellen Eingriff') as good enough and submitted without the proposed correction. Honest gaps at submission: physical datacenter work, Pull-GitOps as a named practice, GPGPU, ClickHouse and second Swiss official language. Lohnklasse and Engineer-III level were not recorded as clarified.", - "date": "2026-08-27" + "decision": "rejected", + "note": "REJECTED 2026-09-10, 14 days after the 2026-08-27 submission, no interview. Form letter from Besarta Mehmeti with no diagnostic content. Was Core, Evidence Fit 79, hard gate PASS, Document Quality 92, channel weak. Marcel Matthey-Doret's published line was never called. Kdo Cy had 11 roles open on the portal at submission time, so the ORGANISATION is not closed - only this req. Submitted 2026-08-27. Ref JRQ$540-19848, Zimmerwald. Core, Evidence Fit 79, Document Quality 92, hard gate PASS, channel weak. German 2-page CV plus 1-page motivation letter; the six-year Bundeswehr officer career is included as military-context and motivation evidence. User explicitly accepted the critique's remaining BS-1 wording issue ('ohne manuellen Eingriff') as good enough and submitted without the proposed correction. Honest gaps at submission: physical datacenter work, Pull-GitOps as a named practice, GPGPU, ClickHouse and second Swiss official language. Lohnklasse and Engineer-III level were not recorded as clarified.", + "date": "2026-09-10" }, "https://jobs.ruag.ch/offene-stellen/senior-devops-kubernetes-engineer-c5i/2eef27f6-9546-499d-8492-c1cec22f548a": { "company": "", @@ -1942,5 +1942,481 @@ "decision": "applied", "note": "SUBMITTED 2026-09-05. Evidence Fit 64/100 Stretch, hard gate FAIL x2, channel Weak/cold - the 7th consecutive cold submit. Submitted under explicit user override: the required line 'Strong expertise in on-premises networking and compute infrastructure' is a Gap (networking 0 canonical), and hybrid-vs-onsite was NEVER RESOLVED before sending, so the working model is now a live screening topic rather than a pre-cleared one - same pattern as RUAG comp/PSP. Package: 2pp resume 13 bullets + 1pp cover letter 279 words, both validators PASS 0 warnings, 0 boxes, 0 Tier 1 findings open. Measured Document Quality 82/100 pre-edit; both Tier 1 findings closed afterwards so it is better than 82 but NOT re-measured - never quote a post-edit estimate as a score. The letter names both honest gaps out loud: on-prem networking, and that employer-side Linux/Ansible ended Dec 2022 with only a personal server carrying currency. Comp is NOT a risk here: levels.fyi Greater Zuerich IC3 median ~CHF 204k, IC4 ~CHF 379k. Thun-Zuerich is ~1h50 each way, so a 5-day-onsite answer is the main disqualifier to watch for.", "date": "2026-09-05" + }, + "https://jobs.ruag.ch/offene-stellen/lead-architekt-network-und-richtfunk-engineering/ffebe23e-4a70-4cd5-9182-f9a260671e86": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/senior-network-engineer/99aa0e68-5f31-4f26-99bb-496a3952a64f": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/network-engineer-c5i/2c8f2241-c6d6-4dae-992b-982d9285a7b4": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/netzwerk-architektin-mit-devsecops-flair/af7f31ee-2182-4328-ab14-63933b5ed641": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run. The DevSecOps flavour does not rescue it: the architect mandate is the network.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-netzwerk-architektin/9e226210-d4d9-4b34-8160-a5663c4f2676": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-engineer-network-services/63f3e66b-c92b-485f-96e6-a2fa0900d274": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-engineer-mit-netzwerkerfahrung-hardware-und-software/a1cb5cb4-c03d-4647-a3d4-9bc226a82827": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run. The title names the gap outright.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/senior-network-software-development-engineer-linux-c++/09f619cd-9001-4320-9261-ecdc37e5086f": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run. Also C++-led: feedback_cpp_emphasis says do not oversell C++; Python and Java are stronger.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-engineer-tactical-datalinks/9b17b3c6-86e1-4281-bd74-00c13138bba2": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run. Tactical datalinks is radio/comms engineering, further from the lane than the generic reqs.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/communication-systems-engineer/a2517b91-9812-4de0-86fb-e99437441d62": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family pattern, NOT a fresh JD read. Networking is a title-defining requirement here and claims.json has Netzwerk 0, Firewall 0, bare metal 0, switches 0. Same required line that ruled out Principal System Engineering C5I (JD read 2026-08-31) and that failed the NVIDIA Sr DevOps hard gate 2026-09-05. Recorded 2026-09-07 to stop the networking family resurfacing as undecided every run. Communications-systems engineering, same family.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/ict-system-administrator-c5i/eb0c421b-aeb4-4b83-80a3-20586766217c": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. System-administration seat, materially below current Staff + Component Owner scope; the standing no-lateral / no-down-level rule (BKW decline) applies a fortiori. Linux/ops evidence does exist (BS-6, PP-3) but the level does not fit.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-administrator-c5i/eb33c8e0-4680-41c2-b441-222fa1494827": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. System-administration seat, below current Staff scope - see ICT System Administrator C5I, decided the same cycle.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/senior-ict-system-specialist-c5i/dd57e027-0f78-43b2-82aa-9f71da67b849": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title + family, NOT a fresh JD read. ICT system-specialist seat in the same C5I on-prem infrastructure family as the network/sysadmin reqs; canonical infrastructure evidence is Linux and cloud, not on-prem estate. Revisit only if the DevOps lane closes.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/administrative-coordinator-c5i/09662a9a-c72e-40f3-a213-ac43ab30a4e9": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/director-project-house-c5i/1aee0c75-2152-435b-979a-d883ca08bd86": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/finance-business-partner-c5i/14c66e02-f4e0-4c3c-a49a-11aaa342d276": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/site-manager-c5i-campus/dae7c4c3-d2f3-432c-b40f-dcaf1b525b7a": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/junior-project-management-officer-c5i/0b8d6b0b-7f3b-4c80-a87b-e0b254e42dfd": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them. Also Junior.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-engineer-mit-flair-fuer-koordinative-aufgaben-safe-team-coach/7d1bc626-1825-4f59-9ea8-ed2689710999": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. SAFe Team Coach / coordination seat - an agile-coaching function, not a platform-engineering one.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-manager/d5d601b4-4235-483f-813b-041b0fff2636": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by title. Non-engineering C5I function (administration, project office, finance, site/facility or PMO). Off user_positioning, which targets data/AI-platform engineering. Precedent: Head of DevOps Office C5I turned out to be an office/reception function despite the title, so C5I titles are read for function, not for the word in them. Generic system-management seat with no C5I platform content in the title.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/test-manager-c5i/9ab6bf8d-f549-49f3-8742-11233096c0ef": { + "company": "", + "title": "", + "decision": "skip", + "note": "JD READ 2026-09-07 via Playwright. Best raw capability match of any new row this cycle and still a rule-out. Despite the Manager title this is a hands-on TEST ENGINEER seat: 'Fundierte Erfahrung als Test Engineer, insbesondere in Testautomatisierung, Test-Scripting und dem strukturierten Testen'. No networking line anywhere - it is the one C5I req that escapes the family gap. Much lines up: API/DB testing, tests in CI/CD and DevOps, GitLab, Jira/Xray (von Vorteil), verhandlungssicheres Deutsch, and 'militaerische Karriere als hoeherer Unteroffizier oder Offizier von Vorteil' so BW-1 scores. THE KILLER IS THE WORD FUNDIERTE: the only canonical test-engineering evidence is VIZRT, official_title Test Automation Engineer, 2017-07 to 2018-05 - TEN MONTHS, ended over eight years ago. That is thin and stale, not fundiert, and nothing since is test-titled. Compounding: it is a lane exit from user_positioning back into QA, it reads at or below current Staff scope, and it would be a THIRD RUAG C5I req while application 18027 is pending and Senior DevOps (Kubernetes) C5I is the designated RUAG target. If RUAG C5I gets another application it should be rank 1, not this.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/software-entwickler-c-net/bf43d4d7-1f9e-4cb9-81b5-e44c7e81bb7d": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out. C#/.NET application-development seat. Memory user_csharp_dotnet records the Fraunhofer-era C#/.NET as limited and secondary only, and this is a .NET-led role off the data/AI-platform lane.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/senior-business-development-strategy-manager-air/68447b2a-32dc-4bfc-a57e-a673f7ad4b39": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/senior-sales-manager/da719d58-7b90-45d5-966f-b252255edf30": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/manager-business-development/b3e80308-1148-446d-8f41-8a5e03e62197": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/commercial-services-manager-air/0148c1f1-35df-46a7-bc57-b9c5bda25b15": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/compliance-investigation-officer/f1721f91-de32-4fdb-8e82-992eff94a200": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/governance-risk-compliance-manager/cc9869df-903e-4fa1-8ab4-2cfe9a347963": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/trade-compliance-manager/dc0b49eb-620a-473b-9fbf-e01d578db690": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-investigation/550fce55-0d27-41b0-b587-25feff9c2118": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-corporate-security-east/c99ccd4e-01b2-4069-8107-74f4247c4f93": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-corporate-security-west/3f23481b-bf84-4825-ae03-40fd071ea03c": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-corporate-security-governance/dbc78305-e271-4052-9d9c-9d411ccc27f0": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/people-development-manager-befr-bis-ende-september-2027/7c87e4a0-c2b5-4e67-9f0f-f840212510a6": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/berufsbildungsverantwortliche-r-automatikerin-efz-und-informatikerin-efz/27c9d0a9-cf17-4fed-936e-522aa230e2fa": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-strategic-project-pocurement-real-estate/933cf3f7-d49e-4d23-820a-08b64a9c31f4": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/strategische-r-einkaeuferin-immobilien-bauleistungen-generalplaner-generalunternehmer/ca1d5908-4c07-4867-b18c-55448e525188": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/order-contractmanager/c421280e-5110-469a-a10f-7ac219638f98": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/bau-projektleiterin-hochbau/b71a07a8-5b0d-4aa6-8152-7ef481f5cedb": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/facility-manager-gebaeude-elektrotechnik/10071ee0-626c-4b21-bd91-04a5469914e0": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/facility-office-manager-pmo/3cf25224-9525-4342-b30b-98ea36d08ee3": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/betriebselektrikerin-facility-manager-technics/190b7508-d7e8-403d-b49f-7c2f57a59965": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/gebaeudetechnikerin-hlks-sanitaerinstallateurin/63ae7f4e-efa5-4ba3-ba28-f9dd8a26dbb7": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/messtechnik-spezialist-dms/45bffd3d-d924-4c32-8f74-bd8715980e7d": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/elektronikerin-surveillance-system/50739f27-3345-48e7-87c6-a977dc693b55": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/technische-r-redaktorin/517c6a48-e036-4916-a626-9f636afdb19c": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/technische-r-sachbearbeiterin/ea378ccc-d2e0-458f-8c14-b384cb3d6df3": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/projektleiterin-pbfm/d86b2c63-e35b-45ae-857f-41b464a08926": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/disponentin-instandhaltung-materialsteuerung-raupenfahrzeuge/8391061c-9397-4c3b-bc15-013e8eb0f27c": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/specialist-eod/0f7d5ab4-699f-4586-b6cc-5ba25bd1c7a6": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/head-of-ils-service-unit-ground-thun/78db1b8f-533e-4b2d-84c1-a8aaf7366c66": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/aircraft-technician-f-a-18-payerne/1b7318ef-52ac-43c2-af94-c523078a99d0": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/avioniker-luftfahrzeugelektriker/28e69790-18d7-4501-843b-0507db63954a": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/flugzeug-avionikerin-elektrikerin-jets-luftwaffe/d0d5ee6d-f4ce-4345-8669-2e40a5b403a4": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/flugzeug-mechanikerin-jets/5bfd3d3e-dad9-4d93-9c76-2c5dd45ddb73": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/flugzeugmechanikerin-technician-mechanical-f-a-18/99995919-5a40-4025-a0d7-d912997a8388": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/flugzeugmechanikerin-technician-mechanical-f-a-18/6d639b6b-25cb-4ac5-a19b-fe96638a18cb": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/flugzeugspenglerin-technician-sheet-metal-f-a-18/2e912bf8-73e1-4f79-b93a-abd11401a6f6": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/helikoptermechaniker-ec-635/24e02ed3-4dc6-4358-a9f4-9383b380371b": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/teamlead-mechanics-super-puma/eb975bb4-febe-42aa-9a85-9f51fa46ae0a": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/technician-avionics/87bc0c0c-6f48-44ec-8b71-d98a1e9f86ae": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/werkpilotin-helikopter/de249484-dfbe-4492-8443-de5f373d6322": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/logistiker-in-efz/c8e5bd5a-6d5b-4e36-838e-5ed2e517412a": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/logistikerin-efz/84192dc6-fea8-4593-8051-c10faa0d424c": { + "company": "", + "title": "", + "decision": "skip", + "note": "Rule-out by occupation. Aviation maintenance, avionics, logistics, facilities, real estate, procurement, HR, sales, compliance or EOD trade role with no software/data/platform content. Recorded 2026-09-07 as bulk noise reduction; these score 0 and resurface every run.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/system-engineer-c5i/7804b26e-b814-49fb-bff4-adbd66671a00": { + "company": "", + "title": "", + "decision": "skip", + "note": "JD READ 2026-09-07 via Playwright - NOT a blind family skip. Confirms the family pattern on THREE required lines, not one. 'Fundierte Kenntnisse in VMware, insbesondere mit VCF Operations/Automation und vSphere Kubernetes Service' (VMware 0 canonical, Nutanix 0); 'Erfahrung mit Cyber-Security-Loesungen und Firewalls wie Check Point und Fortinet' (Firewall 0, Check Point 0, Fortinet 0); 'Kontinuierliche Verbesserung der Netzwerkinfrastruktur sowie Sicherstellen der Netzwerksicherheit' (Netzwerk 0). Day-to-day is Windows/Linux workstation and VDI administration - below current Staff + Component Owner scope even if the stack matched. Bash/PowerShell scripting is now writable (claims.json 2026-09-05) but scripting is a von-Vorteil line here, not the gate. NOTE THE CONTACT: this JD publishes Lars Kauz, Head of ICT Infrastructure C5I, +41 79 293 93 82, lars.kauz@ruag.ch - a technical-side RUAG C5I contact, recorded for the channel problem even though this req is a no.", + "date": "2026-09-07" + }, + "https://jobs.ruag.ch/offene-stellen/ict-solution-architect-business-applications/613755c2-74cd-4e2d-857e-cc5e56076507": { + "company": "", + "title": "", + "decision": "skip", + "note": "JD READ 2026-09-07 via Playwright. Highest-scoring undecided RUAG row and still a rule-out, on two counts. (1) HARD GATE: required 'Mehrjaehrige Erfahrung als Solution Architect' - his canonical titles are Component Owner / Application Owner, and memory feedback_swisscom_datamesh_ownership explicitly forbids the Solution Architect self-title. This is the one required line that cannot be written honestly. (2) LEVEL IS THE OPPOSITE OF WHAT THE TITLE SUGGESTS: the responsibilities are 'Unterstuetzen', 'Mitarbeiten bei der Beratung', 'Mitwirken beim Erarbeiten', 'Anwenden ... unter Anleitung', 'zugeteilter Arbeitspakete' - a supporting architect seat working under guidance, not an owning one. That is the Aker BP authoring-vs-building shape a fourth time, and here it is a rung BELOW authoring. Also required: TOGAF/ArchiMate (both 0 canonical); iSAQB CPSA is real but Foundation level and the bundles rate it a minor supporting signal, not 'fundierte Kenntnisse in Enterprise- und Solution-Architektur'. Does not disturb ICT Architect C5I, which stays 'paused' on its own note.", + "date": "2026-09-07" + }, + "https://job-boards.greenhouse.io/anthropic/jobs/5412334008": { + "company": "Anthropic", + "title": "Research Engineer, Cybersecurity RL (Zurich)", + "decision": "paused", + "note": "NOT a skip - awaiting the user call, same treatment as ICT Architect C5I. user_positioning says target the AI-platform/infra overlap, NOT model-building roles at top labs, and the sibling Research Engineer, Production Model Post-Training was skipped 2026-07-06 for exactly this reason; RL research sits further from his evidence than post-training, not closer. Not JD-read - reading it would be Anthropic brand gravity rather than a fit signal. Recorded paused so it stops resurfacing as undecided every run while staying open, because Anthropic is a standing target company and a rule-out there is his call.", + "date": "2026-09-07" + }, + "https://jobs.admin.ch/offene-stellen/ict-architekt-in-iii-senior-ict-systems-architect/fbcd2f28-89da-4f3f-8822-f6d64f02e035": { + "company": "Schweizer Armee - Kdo Cy", + "title": "ICT-Architekt/-in III (Senior ICT Systems Architect), Bern", + "decision": "skip", + "note": "USER DECISION 2026-09-10: requires networking knowledge he does not have. Consistent with the standing canonical gap - Netzwerk 0, Firewall 0 - which also ruled out RUAG Principal System Engineering C5I, RUAG System Engineer C5I and failed the NVIDIA Senior DevOps hard gate. Not a JD read by Claude; the user read it and made the call. Deadline was 2026-09-16.", + "date": "2026-09-10" } } \ No newline at end of file diff --git a/output/KdoCy_DevOps_Data_Platform/session_kdocy_devops_data_platform.md b/output/KdoCy_DevOps_Data_Platform/session_kdocy_devops_data_platform.md index 620db97..0778b2f 100644 --- a/output/KdoCy_DevOps_Data_Platform/session_kdocy_devops_data_platform.md +++ b/output/KdoCy_DevOps_Data_Platform/session_kdocy_devops_data_platform.md @@ -214,8 +214,8 @@ Budget per `config.md`: **11–14 bullets**. Recommended set = **10**, leaving 1 - **Critique v3 is CURRENT, 2026-08-27.** Evidence Fit **79/Core**, hard gate **PASS**, Document Quality **92/100**, Channel **Weak**. The Bundeswehr evidence strengthens the competitive and motivation narrative but does not add technical, intelligence or clearance fit points. - **Known accepted deviation at submission:** the Bosch BS-1 bullet says the automated classification ran *„ohne manuellen Eingriff“*. Canonical BS-1 supports a qualitative reduction in manual classification, not complete elimination. The user reviewed the critique, judged the package good enough and submitted without this proposed fix. - **Grades omitted** per the `grade_output_rule` of 2026-08-26 (thesis 1.0 stays off the document by default; say the word to include it). -- **Package status: SUBMITTED 2026-08-27.** Await response. -- **Next action:** no document work. Await screening; an optional post-submission call to **Marcel Matthey-Doret, +41 58 46 78409** could clarify Lohnklasse, Engineer-III level and development path and would upgrade the channel only if an actual conversation occurs. +- **Package status: REJECTED 2026-09-10** (submitted 2026-08-27, **14 days**, no interview). Form letter from Besarta Mehmeti, boilerplate, no diagnostic content. +- **Next action:** none. Closed. The optional call to **Marcel Matthey-Doret** (+41 58 46 78409) was never made - the fourth published, reachable contact left unused. **Kdo Cy as an organisation is NOT closed:** 11 Kdo Cy roles were open on the portal at submission time, and only this req is decided. A one-line feedback request to Besarta Mehmeti is low-cost and would build a contact there. ## Submission Record - **Submitted:** 2026-08-27, user-confirmed. @@ -223,7 +223,7 @@ Budget per `config.md`: **11–14 bullets**. Recommended set = **10**, leaving 1 - **Hard gate:** PASS. - **Document Quality:** 92/100. - **Channel at submission:** Weak. -- **Outcome:** applied / awaiting response. +- **Outcome:** REJECTED 2026-09-10, no interview, 14 days to disposition. - **Documents:** German 2-page CV and German 1-page motivation letter. - **Known accepted deviation:** the user submitted without applying the critique v3 BS-1 wording correction from *„ohne manuellen Eingriff“* to a qualitative reduction claim. - **Cohort:** evidence-first-2026-01, application 5/10; Core 3/7, Adjacent 2/2, Stretch 0/1. diff --git a/output/SBB_DataEngineer_AssetMgmt/comp_worksheet_sbb.md b/output/SBB_DataEngineer_AssetMgmt/comp_worksheet_sbb.md index 1484841..6b05621 100644 --- a/output/SBB_DataEngineer_AssetMgmt/comp_worksheet_sbb.md +++ b/output/SBB_DataEngineer_AssetMgmt/comp_worksheet_sbb.md @@ -1,8 +1,45 @@ # Total-Comp Worksheet — SBB vs Swisscom -**Purpose:** compute the break-even *before* the call on 2026-09-09, so that when they name a figure you know immediately whether it clears — instead of working it out afterwards. - -**Honesty note on this file:** I could not retrieve the Anforderungsniveau K figures — they are not public, which is exactly why Q1 exists. Anything below marked ⚠️ is an estimate or a recollection you should verify yourself rather than trust. The Swisscom column is mostly blank because I only hold the ~140k all-in headline; you know the split. +> ## ✅ ABGESCHLOSSEN 2026-09-11 — Bewerbung zurückgezogen +> +> **Gespräch 09.09.** (HR + Scrum Master). **Bewerbung am 11.09. vom Kandidaten zurückgezogen**, nachdem +> SBB bestätigt hat, dass bei der Einstufung kein Spielraum besteht. +> +> ### Die Zahlen, für die §5 dieses Dokuments angelegt wurde — jetzt hart, nicht geschätzt +> +> | | Swisscom heute | SBB | +> |---|---|---| +> | Wochenarbeitszeit | 40 h | 41 h | +> | Ferien | 28 Tage + 5 (Zeitautonomie) | 25 Tage + Brückentage | +> | Büropräsenz | 2 Tage/Woche | 3 Tage/Woche | +> | Position im Band | ~135k in einem Band **bis ~160k** | **Niveau K endet bei ~145k** | +> +> **Der entscheidende Punkt war nicht die absolute Zahl, sondern die Luft nach oben.** Er hätte bei K am +> Anschlag einsteigen müssen, nur um auf null herauszukommen — und hätte dann keinen Spielraum mehr gehabt. +> In seinem aktuellen Band liegen noch ~25k über ihm. +> +> ⚠ **Qualitative Red Flag, nicht durch Geld heilbar:** Er sprach nur mit HR und dem Scrum Master und hat +> dabei **Schwierigkeiten im Team** wahrgenommen. +> +> ### 🎯 Was übertragbar ist — und was ausdrücklich nicht +> +> **Nur für SBB:** Anforderungsniveau K ist zu niedrig; bei SBB auf **Niveau L und/oder Kader** zielen. +> **K endet bei ~145k — eine SBB-Zahl, kein Tier-Anker.** +> Das SBB-Lohnsystem ist öffentlich: +> +> ⚠ **Nicht verallgemeinern** (Nutzer, 11.09.2026). *Anforderungsniveau* ist **SBBs eigenes** System und lässt +> sich nicht auf andere Arbeitgeber übertragen: **jobs.admin.ch / Schweizer Armee nutzt Lohnklassen**, RUAG ein +> eigenes Schema, PostFinance publiziert Bänder pro Inserat. +> +> ⚠ **Thun und Umgebung (RUAG, Kdo Cy) fallen ausdrücklich NICHT unter diese Logik.** Der Arbeitsweg ist +> praktisch null, und die Benefits können deutlich besser sein, als ein Lohnband zeigt — er nennt namentlich +> die **Übernahme von Kinderbetreuungskosten bei der Schweizer Armee / Kdo Cy als möglicherweise weit +> grosszügiger** (unbestätigt — **nachfragen, nicht annehmen**). **Eine Stelle im Raum Thun nie allein am +> Band ablehnen, bevor die Benefits beziffert sind.** +> +> **Was arbeitgeberübergreifend gilt:** +> 1. **Nach der Luft nach oben im Band beurteilen**, nicht nach der Einstiegszahl. +> 2. **Das Gesamtpaket beziffern** — Arbeitszeit, Ferien, Bürotage können den Lohn überstimmen. --- diff --git a/output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md b/output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md index 40bfad0..436172f 100644 --- a/output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md +++ b/output/SBB_DataEngineer_AssetMgmt/interview_brief_sbb_2026-09-09.md @@ -109,3 +109,297 @@ Not homework for them — homework for you: 3. **If RAMSI turns out to be 40% Angular work: is it still a yes?** Any one of those can be a no, and it is much better to know your own answer before they say the number than to improvise it on camera at 08:40. + +--- +--- + +# PART II — Added 2026-09-08, the evening before + +Sections 1–7 above are the strategy: what to ask, what to decide, what not to claim. +**Sections 8–11 below are the rehearsal:** what the job is, how your record maps to it, and what to +say when they ask. Same rules apply throughout — nothing here licenses a claim §4 forbids. + +--- + +## 8. The job, in one page + +**Team:** Asset Management Infrastrukturanlagen — the people responsible for SBB's *physical* +infrastructure assets (track, switches, power supply, structures). You would be the data engineer +serving that asset-management function, not a generic analytics seat. + +**What the role actually does, from the six responsibility lines:** + +1. **Build, operate and evolve data pipelines** on SBB's *Enterprise Analytics Plattform*, which the + posting says explicitly **unites batch and streaming**. +2. **Integrate heterogeneous sources via APIs and Kafka** — and the stated purpose of that integration + is *"Analysen, Dashboards sowie **vorausschauende Wartung**"*. Predictive maintenance is named in + the job description, not inferred. +3. **Build data products and semantic models** on **Snowflake** and **Power BI**. +4. **Evolve RAMSI** — a web application (**Java Spring Boot / Angular**), plus its reports and + dashboards, for the Fachspezialist:innen. +5. **Work directly with the business** to gather requirements and produce solutions that survive in + operation (*"nachhaltige Lösungen im Betrieb"*). +6. **Share knowledge and develop other data engineers** — explicitly *"die fachliche Entwicklung + anderer Dateningenieur:innen zu fördern"*. + +**What they say they want:** multi-year hands-on experience designing, building **and operating** +cloud data platforms on a modern stack (ETL/ELT, DWH, streaming, orchestration — *z. B.* Snowflake, +dbt, Helm, Argo Workflows, Kafka); the ability to design scalable, cost-efficient architectures and +**judge trade-offs between latency, consistency and cost**; data modelling (star/snowflake), Power BI, +advanced SQL and query-performance tuning; and Python software engineering including tests, CI/CD, +packaging and deployment. + +**Read the shape, not the tool list.** Four of the six responsibilities and three of the four +technical requirements are about *building and running pipelines and data products in production, with +the business, under operational accountability*. That is your job today, at a peer Swiss enterprise, in +the same city. The named products are the surface. **The `z. B.` in front of the tool list is doing +real work — they wrote "for example", not "must have".** + +**Two honest asymmetries to hold in mind:** +- **RAMSI (line 4) is the one responsibility on a stack you do not have.** It is one of six. Ask what + share it is (§3 Q3) — do not assume it is small, and do not assume it is large. +- **You still do not know what RAMSI is.** It is not publicly documented. The RAMS / EN 50126 reading + is an *inference* and you must not present it as knowledge. Ask. + +--- + +## 9. How your record maps — the honest ledger + +Use this to know which ground is solid, not to recite. **Bold = say this out loud if the topic opens.** + +| What they asked for | Your evidence | Call it | +|---|---|---| +| Build/operate/evolve pipelines on a cloud analytics platform, batch **and** streaming | **Component Owner for business-critical Fulfillment ETL across Oracle, Kafka, Python, Teradata — including on-call.** Migrated Fulfillment and Product Analysis pipelines onto AWS with Glue, Athena/Iceberg, Redshift, Airflow, CloudFormation. | **Direct — your strongest ground** | +| Integrate sources via **APIs / Kafka** | Kafka in production at Swisscom today; ELK/Kafka anomaly-detection PoC at Bosch. | **Direct** | +| **Operating**, not just building (*"nachhaltige Lösungen im Betrieb"*, quality, reliability) | Component Ownership: data quality, governance, incident handling, on-call, 2nd/3rd-level RCA. | **Direct — and it is the half most candidates are weak on. Lead with it.** | +| Data products + **semantic models** | Build and model governed data products in Swisscom's company-wide Data Mesh; onboard source systems; maintain active metadata and lineage (Atlassian Compass). | **Direct in substance** | +| …on **Snowflake** and **Power BI** | Not by name. Teradata, Oracle, Redshift, Athena/Iceberg; Spotfire co-owned with C# extensions. | **Gap on the names — see §10 Q4** | +| Trade-offs: **latency / consistency / cost** | Real, but you must bring *one concrete example*. See §10 Q8 — do not improvise this one. | Direct **if prepared** | +| Advanced SQL + **query-performance tuning** | Named explicitly in your Bosch bullet: tuned query performance over Oracle and Hadoop/Impala for analysis teams. | **Direct** | +| Data modelling (star/snowflake schemas) | Data modelling is canonical and on the resume. Dimensional modelling *by that vocabulary* is thinner — speak to modelling for consumption and reuse, and don't over-claim Kimball fluency you can't back. | Direct, stated plainly | +| **Python** SE: tests, CI/CD, packaging, deployment | Python apps on Kubernetes with GitLab CI/CD, automated tests, packaging, deployment through to production. Plus Vizrt test automation as CI quality gates, Generali BDD suite, Fraunhofer Jenkins. | **Direct — deep, and it spans 10 years** | +| Orchestration (dbt / Argo / Helm named) | **Airflow** in production. Kubernetes current. **Do not claim Helm or Argo.** | Adjacent — substitute honestly | +| Develop **other data engineers**, share knowledge | Application Owner at Bosch (user training, documentation, vendor coordination); trained colleagues in Generali's Java community; Security Champion; Leadership Cohort 2025. Team roles, not line management — say it that way. | **Adjacent, and genuinely evidenced** | +| **Vorausschauende Wartung** | Bosch fab sensor/process data — defect records, wafer inspection images, PCM electrical parameters. ML inference containerised into a 24/7 fab. ELK/Kafka anomaly detection. M.Eng. thesis on vibration-based condition monitoring of CNC machine tools. | **Your differentiator. Nobody else on this req likely has all four.** | +| **RAMSI** — Java Spring Boot / Angular | Java professional but historical; Spring Boot a PoC contribution ~a decade ago; **Angular absent**. | **Gap — see §10 Q7** | + +**One-line version, if you only remember one thing:** *you already do the operating half of this job, +in production, under on-call, in Bern — and you bring industrial condition-monitoring experience the +generic data-engineering candidate does not.* + +--- + +## 10. The answer bank — ordered by likelihood × damage + +German is scripted **only where the wording itself carries risk.** Everywhere else you have the +content and the order; you are a native speaker, so say it in your own words. + +--- + +### Q1 · "Was sind deine Lohnvorstellungen?" — asked *of you*, probably early +**⚠ The single highest-risk moment in the call.** + +The trap: K is a **capped, collectively-bargained band**. There is no lever at the top of it. Name +180k and you look mispriced and the conversation cools. Name a low figure and you have anchored +yourself *under* a ceiling that was already fixed. **Both directions lose. So don't name a number — +flip it into the band question you were going to ask anyway.** + +> *"Ihr habt die Stelle ja transparent im Anforderungsniveau K mit Regionalzulage Stufe 1 +> ausgeschrieben — insofern bewerbe ich mich bewusst in ein publiziertes Band hinein. Könnt ihr mir +> die Bandbreite nennen und sagen, wo jemand mit meinem Profil typischerweise einsteigt? Dann kann ich +> das konkret einordnen."* + +This is not evasive — it is the *correct* answer to a published-band role, and it lands your §3 Q1 for +free. If they push for a figure anyway: *"Ich komme aus einer Staff-Rolle in der Privatwirtschaft, das +Niveau kennt ihr. Mir ist wichtiger zu verstehen, wo K liegt, bevor ich eine Zahl in den Raum stelle."* + +**Then stop talking.** Let them answer. Write the number down (§ worksheet). + +--- + +### Q2 · "Du bist aktuell Staff Engineer und Component Owner — warum diese Stelle?" +**The overqualification question. Near-certain, and HR hears "flight risk".** + +They are asking: *will you be bored in a year and leave?* Answer the risk, not the flattery. + +Ground it in the work, in this order: +1. **The domain is the pull.** Physical infrastructure assets with condition data and a visible public + consequence — that is the subject of your master's thesis and of your Bosch years, and it is not + what you work on today. Today the data is telco fulfilment. +2. **The operating half is what you're good at and want to keep.** Not a step away from ownership — + the posting explicitly wants someone to carry quality and sustainability in Betrieb. +3. **Bern.** You live in Thun. This is the cleanest practical fit in your whole search. +4. **Then turn it into your Q2 (§3):** *"Deswegen interessiert mich auch, wie viel Design-Verantwortung + die Rolle trägt — trägt sie die Architektur für die Pipelines und das semantische Modell, oder wird + die an anderer Stelle gesetzt?"* + +That last move is the good one: it converts a defensive question into your most important diligence +question, and it signals you are thinking about scope rather than title. + +**Do not say:** that you expect a pay cut, that you are frustrated at Swisscom, or anything that reads +as "I'll take anything in Bern." + +--- + +### Q3 · The 19-month hole on the CV: Oct 2013 → May 2015 +**⚠ A Swiss HR first round walks the CV chronologically. This will be asked, and nothing on the page +you submitted explains it.** Education ends Oct 2013; Generali starts May 2015. There is no Bundeswehr +entry on the resume at all. + +The honest fill is a *strength*, and it is two parts: + +1. **Officer service ran to November 2014.** You were an officer in the Bundeswehr from 2008 until Nov + 2014 — Second Lieutenant at separation — and the M.Eng. at Universität der Bundeswehr München was + taken *during* that service. That explains both the gap and the degree institution in one sentence. +2. **Then a first civilian role from Nov 2014 to May 2015**, before Generali. + +> *"Nach dem Master war ich noch bis November 2014 als Offizier bei der Bundeswehr — das Studium an der +> Universität der Bundeswehr lief ja innerhalb der Dienstzeit. Danach bin ich in die Privatwirtschaft +> gewechselt."* + +**Important boundary:** the standing rule that keeps Capgemini off your documents is a **document** +rule. It does not bind a live conversation. If they ask directly what the first civilian role was, +**name it plainly** — a six-month first role reads as completely normal; visibly declining to name a +former employer reads badly. Do not volunteer it; do not conceal it. + +--- + +### Q4 · "Snowflake? dbt? Power BI?" — the named-tool gap +Your resume contains none of these three words and they read it anyway and invited you. **Someone made +a judgement.** Answer from that position — a tooling difference, not a confession. + +> *"Nicht unter dem Namen. Ich habe dieselbe Art von Arbeit auf Teradata und Oracle gemacht und dann +> auf AWS — Glue, Athena mit Iceberg, Redshift — mit Airflow für die Orchestrierung. Die Modellierungs-, +> Test- und Lineage-Disziplin ist dieselbe; die Syntax ist das, was ich mir aneigne."* + +- **Power BI:** *"Ich habe eine BI-Plattform mitverantwortet, nicht nur konsumiert"* — TIBCO Spotfire at + Bosch, C# extensions and wafer-map visualisations, co-presented at the TIBCO Analytics Forum 2022. +- **Argo / Helm:** Airflow is the honest orchestrator substitute; Kubernetes is current and in + production. **Do not claim Helm or Argo.** + +**Then stop.** Do not over-explain a gap they have already decided to look past. + +--- + +### Q5 · "Erzähl uns etwas über dich" — the opener +90 seconds, not five minutes. Content and order (your own words): + +1. **Now:** Staff Data, Analytics & AI Engineer at Swisscom in Bern; Component Owner for + business-critical fulfilment pipelines — build *and* run, including on-call. +2. **The move that shows range:** migrated his domains' pipelines onto AWS; today builds governed data + products in the company-wide Data Mesh. *(Scope discipline: "my domains", "within Swisscom's Data + Mesh" — never "I built the Data Mesh".)* +3. **Before that:** Bosch semiconductor Dresden — industrial sensor and process data, ML inference into + a fab that cannot stop, anomaly detection on streamed logs. +4. **The hook to this role:** *"Und der Grund, warum genau diese Stelle: mein Master war + schwingungsbasierte Zustandsüberwachung von Werkzeugmaschinen. Zustandsdaten von physischen Anlagen + sind der Bereich, aus dem ich komme und in den ich zurück will."* +5. **Practical:** German native, lives in Thun, EU citizen with B permit, no relocation needed. + +--- + +### Q6 · "Warum SBB? / Warum weg von Swisscom?" +**Make it about the work, never the band.** + +Toward SBB: physical infrastructure, asset condition data, a visible public consequence, a Bern seat, +and a technical brief that sits on your actual thesis domain. If you want a specific, credible detail: +SBB is procuring **up to three new-generation infrastructure diagnostic vehicles** (EU tender +235005-2026) — more diagnostic vehicles means more sensor volume, which is exactly what this pipeline +seat absorbs. That shows you looked. + +Away from Swisscom: keep it short, forward-looking, and **non-negative**. Telco fulfilment data is not +the domain you want to spend the next decade in. Nothing about pay, nothing about people. + +--- + +### Q7 · "Wie sieht es mit Java, Spring Boot und Angular aus?" (RAMSI) +Do not oversell, do not apologise. Then turn it into your §3 Q3. + +> *"Java ist bei mir professionell, aber historisch — bei Bosch Datenservices in Java, bei Generali die +> Java-Community. Spring Boot war ein PoC-Beitrag vor rund zehn Jahren. Angular habe ich nicht. Was ich +> gern verstehen würde: Was ist RAMSI genau, und welchen Anteil der Rolle macht die Weiterentwicklung +> der Webanwendung aus?"* + +**Do not assert what RAMSI is.** You do not know. Asking is the correct move and also gets you the +answer you need for decision 3 in §7. + +--- + +### Q8 · "Wie beurteilst du Trade-offs zwischen Latenz, Konsistenz und Kosten?" +A named requirement and a genuine strength — **but you must arrive with one concrete story.** Do not +improvise this. Pick one before 08:30, from Fulfillment ETL or the AWS migration: + +- Where you chose **batch over streaming** because the consumer's decision cycle didn't justify the + operational cost, or +- Where you **accepted staleness** to cut cost, or +- Where **on-call reality** drove a design choice — the thing you own at 03:00 shapes what you build. + +Structure: *situation → the options → what you chose and the reason → what it cost you.* Naming the +downside is what makes it credible. + +**No invented numbers.** Nearly everything in your record is `metrics: unverified`. Describe the +decision, not a benchmark. + +--- + +### Q9 · "Erfahrung mit Predictive Maintenance?" +**Your differentiator — lead with production, close with the thesis.** + +1. Bosch: fab sensor and process data — defect-management records, wafer inspection images, PCM + electrical parameters. +2. ELK/Kafka anomaly-detection PoC with Grafana/Prometheus/Loki monitoring on continuously operating + systems. +3. Containerised ML inference into 24/7 production, replacing manual image-based defect classification. + *(Integration and operation — **not** model development. Never claim you trained the model.)* +4. Thesis: vibration-based condition monitoring of CNC machine tools; rule-based reasoning plus a + 7-10-3 feed-forward ANN. + +**⚠ Thesis caveat, hold this line:** it is a **methods prototype**, never a validated system. No real +operational data. **No accuracy figures exist.** PSO was *surveyed only*, never implemented. The +throughput figure is barred. Frame it as genuine method familiarity and motivation — not as a result. +If asked how well it worked: *"Das war ein Methodenprototyp, kein validiertes System — belastbare +Genauigkeitszahlen gibt es dafür nicht."* That answer makes you look more rigorous, not less. + +--- + +### Q10 · "Wie förderst du andere Dateningenieur:innen?" +Real, but frame as **team roles, not line management**: Application Owner at Bosch (user training, +documentation, vendor coordination); trained colleagues in Generali's Java community; Security Champion +for the team at Swisscom (2025/2026); elected to the Swisscom Leadership Cohort 2025. Have **one** +concrete example of lifting a specific colleague — that beats the list. + +--- + +### Q11 · The routine HR set — decide these tonight, don't improvise +**Three facts only you can supply. Write them down before the call:** + +- **Kündigungsfrist at Swisscom:** ______ *(do not guess on the call)* +- **Earliest realistic start:** ______ *(posting says "ab sofort oder nach Vereinbarung")* +- **Pensum you want:** ______ — the posting says **60–100%** and HR *will* ask. A 90% option changes the + CHF/hour maths materially (see worksheet). Have a position. + +Also likely, and low-risk if you don't ramble: +- **Stärken:** ownership of things in production; translating between business and engineering; calm + in incidents. Give an example, not adjectives. +- **Schwächen:** pick a real one with a correction in motion. *Not* "I work too hard." A defensible + honest one here: named-product breadth — you go deep on a stack and pick up new tooling on the job + rather than collecting tools. That is true and it pre-empts Q4. +- **Arbeitsweise / agil:** agile DevOps team, GitLab CI/CD, on-call rotation, requirements straight + from business stakeholders. +- **Konflikt / Fehler:** have one story where something you owned broke and you carried the RCA. On-call + gives you real material — use it. +- **"Hast du Fragen an uns?"** → **your §3 Q1–Q4.** Do not let this fall off the end at minute 44. + +--- + +## 11. The 45 minutes, budgeted + +Two people, 45 minutes. Roughly: **~5 min intros → ~25 min them asking → ~10 min you asking → ~5 min +logistics.** Your four questions in §3 need that 10-minute window; if the conversation is running long, +**ask Q1 (the band) and Q2 (scope) first** — those two decide whether this is real, and they are the +ones you will not get a cheap second shot at before the in-person round. + +**Final reminders:** match the **du** register from the first sentence (`#einfachDu`). Expect German; +don't be thrown if they open in English — your resume was submitted in English. Be on Teams early and +test audio tonight. And keep §4's two prohibitions in your head the whole time: **no tool claimed that +isn't yours, no number that isn't verified.**