refactor: shared agent workflows (F01) and one application registry (F02)
Checkpoint for the 2026-09-11 project review remediation. Work by a previous agent that ran out of context; committed unchanged as a rollback point before the remaining findings land on top of it. F01 — the two agent directories had drifted into different processes - Six shared workflows under `resume_builder/reference/workflows/`; both `.agents/skills/` and `.claude/skills/` are now thin entrypoints that route to the same file instead of carrying full copies. - The `.claude` copies were the stale side: fixed bullet line variants and character budgets that the newer process had already dropped. Removing them is the point of the change, not collateral. - Parity/link regression test added; corrected the top-level file map, which pointed at a directory that does not exist. F02 — application status was stored in four places and disagreed - New registry `job_scout/state/applications.json` (26 records) with `application_records.py` (schema, validation, transactional write) and `application_tracker.py` (add/update, no quota). - AGENTS.md and CLAUDE.md no longer keep their own status tables; both point at `current_applications.md`, generated from the registry. - Interview-reached is now independent of outcome, so a withdrawal after an interview can record both facts. The old tables are preserved verbatim in `job_scout/state/history/application_status_before_2026-09-11.json`. Verification: `python -m unittest discover -s tests -v` — 18/18 pass. Spot-checked that the detailed SBB and Kdo Cy notes survived the migration into the registry rather than being flattened. Known unresolved, deliberately not invented (see FIX_PROGRESS.md): Aker BP's application date and its Adjacent-despite-79 classification. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qej5SBvhcbGXHwLqNWiskM
This commit is contained in:
1 parent
0d999ab21b
commit
afdef7eb94
33 files changed
+1558
-1768
No files matched your search
@@ -0,0 +1,383 @@
|
||||
\documentclass[11pt,a4paper]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{lmodern,microtype}
|
||||
\usepackage[margin=23mm]{geometry}
|
||||
\usepackage{enumitem,booktabs,tabularx,longtable,array}
|
||||
\usepackage[hidelinks]{hyperref}
|
||||
\usepackage{xurl}
|
||||
\usepackage[version=4]{mhchem}
|
||||
\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{5pt}
|
||||
\setlist{nosep,leftmargin=1.4em}
|
||||
\emergencystretch=2em
|
||||
\widowpenalty=10000
|
||||
\clubpenalty=10000
|
||||
\newcommand{\file}[1]{{\small\nolinkurl{#1}}}
|
||||
\newcommand{\finding}[2]{\subsection*{#1 --- #2}}
|
||||
\newcommand{\source}[2]{\footnote{#1. Quelle #2 im Quellenverzeichnis; abgerufen am 11.09.2026.}}
|
||||
\begin{document}
|
||||
\begin{center}{\LARGE Projektreview und Markttauglichkeit der Bewerbungsunterlagen}\end{center}
|
||||
|
||||
\section{Gesamturteil und Prüfgrundlage}
|
||||
|
||||
Die aktuellen Bewerbungsunterlagen haben eine solide Basis für den Schweizer und europäischen Tech-Arbeitsmarkt: gut lesbare, einspaltige A4-Dokumente, nachvollziehbare Berufschronologie, konkrete technische Arbeit und deutlich bessere Abgrenzung eigener Verantwortung als in älteren Paketen. Ein grundlegender Designwechsel ist nicht erforderlich. Die grössten Verbesserungsmöglichkeiten liegen in der Konsistenz des Generierungssystems, der Verlässlichkeit seiner Prüfungen und der Gewichtung der ersten Lebenslaufseite.
|
||||
|
||||
\textbf{Das System ist derzeit weniger zuverlässig, als seine PASS-Meldungen und detaillierten Bewertungszahlen nahelegen.} Zwei Agenten können unterschiedliche Anweisungen erhalten. Bereits aufgehobene Regeln wirken weiter im Code. Der Validator akzeptiert nachweislich Aussagen, die den zentralen Evidenzregeln widersprechen. Im Job-Scout können passende Stellen verschwinden, bevor eine inhaltliche Bewertung stattfindet.
|
||||
|
||||
Die Recherche stützt das bestehende Grundformat, aber keinen Anspruch auf ein wissenschaftlich nachgewiesenes Erfolgsoptimum. Für die Schweiz, Dänemark und Norwegen existieren unterschiedliche Bewerbungskonventionen; Arbeitgebervorgaben können diese wiederum übersteuern. Besonders die generelle Behandlung von Anschreiben und die starke Orientierung an einem US-Tech-Kurzformat sollten länderspezifischer werden.
|
||||
|
||||
\textbf{Stand: 11. September 2026.} Geprüft wurden Projektanweisungen, Konfiguration, Skills beider Agentenverzeichnisse, Referenzen, kanonische Claims, aktive Wissensbasis und Rollen-Bundles, die fünf projektspezifischen Python-Dateien einschliesslich Tests sowie generierte Dokumente und Tracking-Dateien. Historische Rohquellen wurden zur Einordnung herangezogen; eine erneute Extraktion sämtlicher Originaldokumente war nicht Teil dieses Reviews.
|
||||
|
||||
\begin{tabularx}{\linewidth}{@{}p{.34\linewidth}X@{}}
|
||||
\toprule Prüfung & Ergebnis und Aussagegrenze\\\midrule
|
||||
Vorhandene Tests & 9 Tests bestanden mit \file{python -m unittest discover -s tests -v}. Das deckt die neu gefundenen Fehler nicht ab.\\
|
||||
Systemvalidator & Standardlauf PASS, 0 Warnungen. Zusätzliche Gegenproben zeigen erhebliche Lücken.\\
|
||||
LaTeX-Build & 43 vorhandene Output-Quellen plus zwei professionelle Templates: 43 von 45 erfolgreich, zwei Fehler. Je zwei Durchläufe mit pdfLaTeX, ohne Shell-Escape, Build-Produkte im temporären Verzeichnis.\\
|
||||
Visuelle Stichprobe & SBB, NVIDIA, RUAG, Aker BP: je beide CV-Seiten; zusätzlich NVIDIA- und RUAG-Anschreiben. Insgesamt zehn Seiten geprüft.\\
|
||||
Scout & 37 konfigurierte Unternehmen, 18 Adaptertypen. Statische Prüfung und gezielte Mock-Gegenproben; kein vollständiger Live-Funktionstest aller Portale.\\
|
||||
Änderungsumfang & Keine Bewerbungen, Claims, Produktionsskripte oder eingereichten Archive geändert. Bericht und temporäre Prüfarbeitsdateien erstellt.\\\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\textbf{Prioritäten:} P1 bezeichnet Risiken für Wahrheitsgehalt, Stellenauswahl oder verbindliche Entscheidungen. P2 umfasst Reproduzierbarkeit, Wartbarkeit und wirksame Dokumentverbesserungen. P3 bezeichnet kleinere Bereinigungen. Die Einstufung ist eine Review-Priorisierung, kein berechneter Risikoscore.
|
||||
|
||||
\section{Widersprüche in Regeln, Zustand und Workflow}
|
||||
|
||||
\finding{F01 / P1}{Die Agenten verwenden unterschiedliche Bewerbungsprozesse}
|
||||
|
||||
\textbf{Fundstellen:} \file{.agents/skills/} und \file{.claude/skills/}, besonders jeweils \file{make-resume/SKILL.md} und \file{critique/SKILL.md}.
|
||||
|
||||
Alle sechs korrespondierenden Skills unterscheiden sich inhaltlich. Die Claude-Fassung von \file{make-resume} verlangt weiterhin feste Bullet-Zeilenvarianten und Zeichenbudgets; die neuere Fassung setzt auf natürliche Länge, Claims und Evidenz. Auch die Behandlung eines fehlenden Anschreibens, geschützter Abschnitte und der Bewertung unterscheidet sich. Damit hängt das Ergebnis vom verwendeten Agenten ab, obwohl beide dasselbe Projekt bearbeiten.
|
||||
|
||||
\textbf{Folge:} Veraltete Regeln können wieder eingeführt werden, ohne dass ein Codefehler nötig ist. Besonders problematisch sind alte Schreibanweisungen, die neuere Genauigkeitskontrollen umgehen oder Relevanz zugunsten eines Seitenfüllziels verschieben.
|
||||
|
||||
\textbf{Empfehlung:} Ein gemeinsamer, versionierter Prozess mit kleinen agentenspezifischen Einstiegspunkten. Die Einstiegspunkte sollen dieselben Referenzen laden, nicht vollständige Kopien enthalten. Ein Konsistenztest sollte diese Referenzen und die gültige Prozessversion prüfen. Die Dateikarte in \file{AGENTS.md} verweist ausserdem auf \file{.Codex/skills/}, während die tatsächlich verwendeten Skills anderswo liegen.
|
||||
|
||||
\finding{F02 / P1}{Bewerbungsstatus ist mehrfach und widersprüchlich gespeichert}
|
||||
|
||||
\textbf{Fundstellen:} aktive Sessions in \file{AGENTS.md}, \file{CLAUDE.md}, Kohortenstatus und Scout-Entscheidungen.
|
||||
|
||||
SBB steht in AGENTS noch als bevorstehendes Interview am 9. September; die aktuelleren Einträge dokumentieren das Gespräch und den Rückzug am 11. September. Kdo Cy steht dort noch als eingereicht, obwohl der neuere Tracker eine Absage am 10. September enthält. Auch Microsoft ISE und Equinor haben in CLAUDE bereits Absagen, während AGENTS auf Antwort wartet.
|
||||
|
||||
Das ist operativ relevant: Ein neuer Agent könnte eine Vorbereitung für ein abgeschlossenes Gespräch anbieten, falsche Conversion-Zahlen nennen oder eine Stelle erneut priorisieren. Lange Session-Zellen mischen zudem aktuelle Erkenntnisse, frühere Schätzungen und inzwischen überholte nächste Schritte. Die SBB-Gehaltskenntnis darf beispielsweise nicht auf andere Arbeitgeber in Bern oder Thun verallgemeinert werden.
|
||||
|
||||
\textbf{Empfehlung:} Eine strukturierte Bewerbung pro Requisition, mit aktuellem Zustand und separatem Ereignisverlauf. AGENTS- und CLAUDE-Übersichten daraus erzeugen. Ein Rückzug nach einem Interview muss zugleich \emph{aktueller Status: zurückgezogen} und \emph{Interview erreicht: ja} ausdrücken können. Historische Notizen erhalten, aber aus der aktuellen Handlungsanweisung entfernen.
|
||||
|
||||
\finding{F03 / P1}{Die aufgehobene Quote blockiert weiterhin Bewerbungen}
|
||||
|
||||
\textbf{Fundstelle:} \file{resume_builder/helpers/cohort_tracker.py:59}, insbesondere Zeile 61; ausserdem README und ältere Skill-Anweisungen.
|
||||
|
||||
Seit dem 5. September gelten keine Bewerbungsquoten mehr. Der Tracker verweigert dennoch die elfte Bewerbung mit \emph{cohort already contains ten applications}. Diese Sperre wurde mit einem synthetischen Datensatz reproduziert. Auch Hinweise auf volle Fit-Kategorien sind noch vorhanden.
|
||||
|
||||
\textbf{Empfehlung:} Die operative Obergrenze entfernen; historische Kohortenbezeichnungen dürfen bestehen bleiben. Zugleich eindeutige Bewerbungs-IDs, gültige Datumswerte, Score-Bereiche und idempotente Updates prüfen. Der aktuelle Schreibweg schützt weder ausreichend vor Duplikaten noch vor widersprüchlichen Nachträgen. Eine atomare Speicherung allein löst dabei keine konkurrierenden Updates.
|
||||
|
||||
\textbf{Weitere Bewertungsinkonsistenz:} Aker BP wird trotz 79 Punkten und bestandenem Hard Gate als Adjacent geführt, obwohl die numerische Einteilung Core nahelegt. Das kann eine sachlich gewollte Entscheidung sein. Es braucht dann einen expliziten Override-Grund und eine Rubrikversion, keine stillschweigende Umklassifizierung.
|
||||
|
||||
\finding{F04 / P2}{Regelhierarchie und Auslieferungsauftrag sind nicht eindeutig}
|
||||
|
||||
AGENTS verlangt ausschliesslich TEX-Ausgaben und lokale Kompilierung durch Dennis, fordert an anderer Stelle aber selbst Kompilierung und Sichtprüfung; Konfiguration und Skills beschreiben PDF-Auslieferungen. Alte und neue Referenzen widersprechen sich zudem bei Capgemini, der Bedeutung von Zeichenbudgets und verpflichtenden Bildungsdetails.
|
||||
|
||||
\textbf{Empfehlung:} Drei Ebenen unterscheiden: unveränderliche Evidenzregeln, aktuelle persönliche Präferenzen und markt-/arbeitgeberspezifische Darstellung. Technische QA und auszuliefernde Dateitypen separat festlegen. Dieser Review liefert entsprechend der TEX-Vorgabe den Bericht als TEX; die eigene Kompilierung dient ausschliesslich der QA.
|
||||
|
||||
\section{Evidenzprüfung und Wissensbasis}
|
||||
|
||||
\finding{F05 / P1}{PASS ist keine belastbare Wahrheitsprüfung}
|
||||
|
||||
\textbf{Fundstelle:} \file{resume_builder/helpers/validate_resume_system.py:121}, Funktion \file{scan_document}.
|
||||
|
||||
Der Dokumentcheck sucht im Wesentlichen globale verbotene Textmuster, bestimmte Skill-Namen und wenige Titelmuster. Er prüft nicht systematisch die erlaubten Verben und Verbote jedes einzelnen Claims, Eigentumsumfang, Zertifikatskontext, Arbeitgeberdaten, Identität, Zahlen oder die Zuordnung zwischen Bullet und Claim.
|
||||
|
||||
Folgende absichtlich falschen beziehungsweise unzulässigen Gegenproben bestanden ohne Fehler:
|
||||
\begin{itemize}
|
||||
\item vollständiger Besitz einer Data-Mesh-Plattform und des gesamten ML-Lebenszyklus;
|
||||
\item Capgemini trotz ausdrücklicher persönlicher Ausschlussregel;
|
||||
\item produktives Training mit PyTorch und TensorFlow trotz begrenzter kanonischer Evidenz;
|
||||
\item produktive Arbeit mit nicht entsprechend belegten Skills wie Groovy und Snowflake;
|
||||
\item falsche E-Mail, falscher Beginn der Staff-Rolle und eine erfundene Kostensenkung;
|
||||
\item ein stehengebliebener \file{[GENERATE: Bullet]}-Platzhalter.
|
||||
\end{itemize}
|
||||
|
||||
Das sind Tests des Validators, keine Behauptung, alle diese Fehler stünden in aktuellen Lebensläufen. Sie zeigen, dass sein grünes Ergebnis den zentralen Qualitätsanspruch nicht absichert.
|
||||
|
||||
\textbf{Empfehlung:} Jedes Dokument bekommt ein strukturiertes Inhaltsmanifest mit Claim-IDs, Skill-Evidenz und beabsichtigter Formulierung. Deterministisch prüfbar sind Identität, Daten, bekannte Metriken, Pflichtkontext, ausgeschlossene Inhalte und Referenzintegrität. Die semantische Frage, ob ein Satz unzulässige Gesamtverantwortung suggeriert, braucht weiterhin eine gesonderte inhaltliche Prüfung. Beide Resultate getrennt ausgeben; keinen automatischen Wahrheitsnachweis versprechen.
|
||||
|
||||
\finding{F06 / P2}{Der Textscan erzeugt Fehlalarme und sprachabhängige Lücken}
|
||||
|
||||
Ein Kommentar wie \file{\% Never claim Terraform experience} wird als unzulässiger Skill gewertet. Dasselbe gilt für die ehrliche Aussage, keine Terraform-Erfahrung zu haben. Umgekehrt umgeht ein durch LaTeX-Auszeichnung aufgeteilter Skillname den Stringvergleich. In einer SBB-Quelldatei wird bereits davor gewarnt, verbotene Namen auch nur in Kommentaren zu erwähnen: Der Workflow arbeitet um den Prüfer herum.
|
||||
|
||||
Die Bullet-Analyse verarbeitet nur bestimmte einzeilige Quellmuster. Die Dreierlisten-Heuristik in Zeile 140 erkennt englisches \emph{and}, nicht das entsprechende deutsche \emph{und}. Gegenproben zeigen diesen Unterschied; andere Warnungen wie wiederholte Verben funktionieren teilweise auch deutsch. Daraus folgt kein allgemeines Urteil, der gesamte Prüfer könne kein Deutsch.
|
||||
|
||||
\textbf{Empfehlung:} Kommentare und sichtbaren Text unterscheiden, LaTeX normalisieren und die relevanten Strukturen robust extrahieren. Verneinungen benötigen Kontext oder manuelle Freigabe. Stilheuristiken als unverbindliche Hinweise ausgeben. Für eine Grenze von ungefähr 50 Prozent Dreierlisten als Qualitäts- oder KI-Erkennungsregel wurde keine belastbare externe Grundlage gefunden. Belegte Verben und natürliche Sprache sind wichtiger als künstliche Variation.
|
||||
|
||||
Die Schema-Prüfung hat zusätzliche Lücken: Eine fehlende Identität führt nach der Fehlermeldung zu einem \file{KeyError}; ein unmögliches Datum wie \file{2035-99} und ein nicht existierender Quellenverweis wurden akzeptiert. Hier sind kleine negative Regressionstests besonders wirksam.
|
||||
|
||||
\finding{F07 / P1}{Korrekturen fehlen in aktiven Schreibquellen}
|
||||
|
||||
\begin{longtable}{@{}p{.30\linewidth}p{.64\linewidth}@{}}
|
||||
\toprule Fundstelle & Widerspruch und notwendige Behandlung\\\midrule
|
||||
\endhead
|
||||
\file{bundles/bundle_ml_ai_engineer.md:74,81} & PyTorch wird unter aufzunehmenden Skills genannt; weiter unten steht korrekt, dass der Zertifikatskontext nötig ist. Die generische Liste kann genau diesen Kontext verlieren.\\
|
||||
\file{experience/experience_swisscom.md:166--189} & Retrieval-Begriffe stehen als Skills/Keywords und Evaluation als Schreibempfehlung, obwohl Retrieval-Implementierung und breitere LLM-Evaluationsverantwortung nicht belegt sind. Datenbereitschaft und konfigurierte Agenten enger beschreiben.\\
|
||||
\file{bundles/bundle_data_platform.md:69} & Aus kontinuierlichem Fabrikbetrieb wird eine Zero-Downtime-Deployment-Anforderung abgeleitet. Das ist ohne zusätzlichen Beleg eine stärkere Behauptung.\\
|
||||
\file{experience/experience_bosch.md}, BS-1 & Vollständiges Ersetzen manueller Waferinspektion und unbeaufsichtigter Betrieb reichen weiter als die kanonisch belegte Bildklassifikation und qualitative Reduktion manueller Arbeit. Varianten zurück auf den bestätigten Umfang führen.\\
|
||||
\file{reference/resume_reference.md:62} und Capgemini-Erfahrungsdatei & Bedingtes Aufnehmen von Capgemini widerspricht der persönlichen Ausschlussregel. Rohhistorie erhalten, aktive Auswahlregeln korrigieren.\\
|
||||
\file{experience/experience_bosch.md} und Plattform-Bundle & Die neuere BS-6-Evidenz zu Linux/Ansible ist nicht vollständig in den normalen Auswahlpfaden angekommen. Das System verliert dadurch echte Stärken.\\
|
||||
\file{support/skills_taxonomy.md} & Veralteter Hinweis auf unbekanntes IBM-Abschlussjahr trotz vorhandener verifizierter Datierung; unterschiedliche Einordnung von PyTorch. Auch Linux/Bash fehlen in der erwarteten systematischen Abbildung.\\
|
||||
\bottomrule
|
||||
\end{longtable}
|
||||
|
||||
Alle verkürzten Pfade in dieser Tabelle liegen unter \file{resume_builder/}. Die kritische Beobachtung ist die Richtung des Fehlers: Es entstehen sowohl Übertreibungen als auch unnötige Unterbewertungen. Das NVIDIA-Anschreiben spricht beispielsweise davon, dass die Produktionslinie für ein Deployment nicht gestoppt werden konnte; RUAG verwendet eine ähnliche Stillstandsaussage. Diese Aussagen sind aus dem bisher kanonisch dokumentierten 24/7-Kontext allein nicht ableitbar. Sie sollten bestätigt oder enger formuliert werden, nicht vorschnell als nachweislich falsch gelten.
|
||||
|
||||
Weitere Widersprüche betreffen die Priorität des Plattform-Bundles und die Platzierung des Security-Champion-Themas. Solche Prioritäten sollten aus einer gemeinsamen Rollenmatrix kommen. Nach einer Claim-Korrektur ist ein gezielter Abhängigkeitslauf über alle aktiven Varianten sinnvoll; unveränderliche Originalquellen und bereits versandte Dokumente dürfen dabei nicht stillschweigend umgeschrieben werden.
|
||||
|
||||
\finding{F08 / P2}{Das Evidenzmodell ist noch nicht durchgehend maschinenprüfbar}
|
||||
|
||||
Von 26 kanonischen Claims besitzt nur einer die jeweils geprüften strukturierten Felder \file{source}, \file{last_verified} und \file{ownership}. Andere Claims enthalten durchaus Evidenz und Einschränkungen in Freitext; die Zählung bedeutet ausdrücklich nicht, dass 25 Claims unbelegt seien. Sie erklärt aber, weshalb automatische Referenz- und Aktualitätsprüfungen derzeit schwer möglich sind.
|
||||
|
||||
Auch Skills, die innerhalb bestätigter Tätigkeiten vorkommen, sind nicht vollständig als eigenständige Skill-Einträge normalisiert. Das kollidiert mit der Regel, jeder ausgegebene Skill müsse vorher kanonisch registriert sein. Ein sinnvoller nächster Schritt ist ein kleines Schema für Quellenanker, Gültigkeitszeitraum, Kontext, Eigentumsumfang und erlaubte Ableitungen. Die Claim-ID verbindet die Daten; zusätzliche parallele Freitextregister würden den Pflegeaufwand weiter erhöhen.
|
||||
|
||||
\finding{F09 / P1}{Vorlagen enthalten bereits riskante Aussagen}
|
||||
|
||||
\textbf{Fundstelle:} \file{resume_builder/templates/resume_template.tex:36}. Die fest eingetragene Aussage \emph{12+ years of production software experience} folgt nicht aus der dargestellten Chronologie. Mai 2015 bis September 2026 sind rund elf Jahre und vier Monate verstrichene Zeit; daraus darf ohnehin nicht ungeprüft eine lückenlose Netto-Berufserfahrung berechnet werden.
|
||||
|
||||
\textbf{Empfehlung:} Die Jahreszahl entfernen oder aus bestätigten, nicht doppelt gezählten Zeiträumen ableiten. Auch eine automatisch gesetzte Thesis-Note und unveränderliche Bildungsdetails sollten keine allgemeine Industrievorlage steuern. Die ältere akademische \file{cv_template.tex} enthält weiterhin mehrseitige Zielvorgaben, feste Zeilenbudgets und unaufgelöste Platzhalter-/Asset-Erwartungen. Sie sollte als akademischer Legacy-Pfad klar abgegrenzt oder aktualisiert werden. Ein europäischer beruflicher CV ist nicht automatisch ein akademischer Lang-CV.
|
||||
|
||||
\finding{F10 / P2}{Die US-GPA-Umrechnung ist kein universeller Karrierefakt}
|
||||
|
||||
\textbf{Fundstelle:} \file{resume_builder/canonical/claims.json}, Bildungsangaben mit \emph{US = 5 -- G}. Die daraus resultierenden GPA-Werte setzen ein bestimmtes Zielnotensystem voraus. Die angeführte modifizierte bayerische Formel wird beispielsweise von der TUM für die Umrechnung ausländischer Noten in das deutsche System erläutert; auch dort ist der Rechner nur eine Orientierung. Daraus folgt keine allgemein akzeptierte inverse US-Umrechnung.\source{Technische Universität München: Bayerische Formel}{Q16}
|
||||
|
||||
\textbf{Empfehlung:} Bestätigte deutsche Originalnoten mit Skalenkontext verwenden. Nur wenn ein konkreter Empfänger eine Umrechnung verlangt, dessen Methode dokumentieren. Keine pauschale US-GPA als gleichrangigen kanonischen Abschlussfakt führen. Für die primären europäischen Zielmärkte bringt diese Umrechnung ohnehin wenig.
|
||||
|
||||
\section{Job-Scout: Fehler mit Einfluss auf die Stellenauswahl}
|
||||
|
||||
\finding{F11 / P1}{Titel-Deduplizierung entfernt verschiedene Requisitionen}
|
||||
|
||||
\textbf{Fundstelle:} \file{job_scout/scout.py:2168}, innerhalb \file{_process_company}. Pro Unternehmen wird auf dem normalisierten Titel vor dem ersten senkrechten Strich dedupliziert. Zwei verschiedene Requisitionen namens Senior Data Engineer in Bern und Zürich ergaben in der Gegenprobe nur einen Treffer. Auch unterschiedliche Teams mit demselben Titel sind betroffen.
|
||||
|
||||
Der Wunsch, mehrfach veröffentlichte Remote-Standorte zusammenzuführen, ist sinnvoll. Der Titel beweist aber keine Identität. \textbf{Lösung:} Arbeitgeber plus stabile Requisitions-ID als Primärschlüssel; mehrere Standorte nur bei derselben Requisition zusammenführen. Titelähnlichkeit darf einen Hinweis auf mögliche Duplikate erzeugen, keine irreversible Entfernung.
|
||||
|
||||
\finding{F12 / P1}{Ortsfilter verlieren Schweizer Stellen und erkennen falsche Remote-Eignung}
|
||||
|
||||
\textbf{Fundstelle:} \file{job_scout/scout.py:1728}, \file{location_eligibility}, sowie Adapter-Normalisierung.
|
||||
|
||||
Die isolierte Filterfunktion akzeptiert Bern, lehnt aber unter anderem Thun, Zimmerwald, Baar und Olten ohne Länderzusatz ab. Bernau in Deutschland wird wegen des Teilstrings Bern akzeptiert. Texte mit Europe können als Remote eingeordnet werden, obwohl London/Onsite oder eine Beschränkung auf Deutschland danebensteht. Aarhus und Odense werden ebenfalls nicht wie Kopenhagen erkannt.
|
||||
|
||||
Nicht jeder Adapter ist gleich betroffen: Manche ergänzen das Land. Ein konkreter Mock des SmartRecruiters-Pfads zeigt jedoch, dass \file{city=Baar, country=CH} auf den String Baar reduziert und danach verworfen wird. Damit ist das Problem mehr als eine abstrakte Schwäche des Ortsvokabulars.
|
||||
|
||||
\textbf{Lösung:} Länderkennung, Ort, Arbeitsmodell, erlaubte Beschäftigungsländer und Umzugspflicht als getrennte Felder erhalten. Unbekanntes Arbeitsmodell bleibt unbekannt. Europa-Remote allein belegt keine Anstellungsmöglichkeit in der Schweiz. Norwegen ist derzeit nur über ausgewählte Unternehmens-Overrides abgedeckt; die gewollten Ausnahmen sollten als explizite Suchpräferenz gepflegt werden.
|
||||
|
||||
\finding{F13 / P2}{Entscheidungs-IDs und Wiedererkennung sind nicht einheitlich}
|
||||
|
||||
\textbf{Fundstelle:} \file{job_scout/scout.py:1873}, \file{_decision_key}, sowie RUAG-Fallback und Report-Index.
|
||||
|
||||
Der generische Fallback verliert Query-Parameter: Zwei URLs \file{/vacancy?job=1} und \file{/vacancy?job=2} ergeben denselben Schlüssel. Bei gemeinsam genutzten ATS-Hosts fehlt teilweise der Arbeitgeber im Namensraum; eine Kollision wäre möglich, falls IDs nicht global eindeutig sind. Das ist ein strukturelles Risiko, kein Nachweis einer bereits eingetretenen SmartRecruiters-Kollision.
|
||||
|
||||
Für RUAG erkennt die interaktive Entscheidungssuche in der Gegenprobe einen bekannten Slug mit neuer UUID wieder; der Report-Lookup findet die alte Entscheidung nicht. \textbf{Lösung:} Ein gemeinsamer Identitätsresolver für Schreiben und Lesen. Neue Requisitionen mit ähnlichem Slug als verwandt markieren; nicht automatisch alte Ablehnungen übertragen, da eine Neuausschreibung sachlich anders sein kann.
|
||||
|
||||
\finding{F14 / P1}{Der Scout nennt Keyword-Interesse fälschlich Fit}
|
||||
|
||||
\textbf{Fundstelle:} \file{job_scout/scout.py:1790}, \file{score_job}, und Report-Kategorien.
|
||||
|
||||
Im Titeltest erreicht Senior Data Engineer drei Punkte, Senior AI Engineer mit Generative AI, LLM und RAG dagegen zwölf. Senior Dateningenieur erreicht nur einen Punkt. Das entspricht weder automatisch Dennis' stärkster Evidenz noch einer belastbaren Eignungsbewertung. Bei vorgefilterten Boards wird teilweise nur der Titel gewertet; harte Anforderungen im JD können so unberücksichtigt bleiben.
|
||||
|
||||
\textbf{Lösung:} Den Wert ehrlich als Suchrelevanz kennzeichnen. Anschliessend separate Signale für Evidenz, zwingende Anforderungen, Sprache, Standort, Niveau und praktische Attraktivität berechnen beziehungsweise als unbekannt markieren. Deutsche Berufsbezeichnungen ergänzen. Die verbindliche Fit-Prüfung bleibt am vollständigen JD; ein höheres Keyword-Ergebnis darf keine bevorzugte Bewerbung suggerieren.
|
||||
|
||||
\finding{F15 / P2}{Datums- und Kontaktinformationen verlieren ihre Bedeutung}
|
||||
|
||||
\textbf{Fundstellen:} Taleo-Parser ab \file{job_scout/scout.py:1110}, Datumsparser und Ergebnisobjekt in \file{_process_company}.
|
||||
|
||||
Der Taleo-Parser schreibt in der Gegenprobe eine Bewerbungsfrist vom 30. September in \file{posted}. Dadurch kann eine Stelle fälschlich als besonders frisch erscheinen. Andere Adapter liefern relative Daten oder Aktualisierungszeitpunkte, die nicht einheitlich mit Veröffentlichungsdaten vergleichbar sind.
|
||||
|
||||
Der Prospective-Pfad liest nützliche Angaben wie Einheit, Lohnklasse und Ansprechpartner in die Beschreibung ein. Der finale Ergebnisdatensatz verwirft die Beschreibung und führt diese Angaben nicht strukturiert fort. Damit gehen genau die Informationen verloren, die für Niveau, Gehalt und den Kontaktansatz wichtig sind.
|
||||
|
||||
\textbf{Lösung:} \file{published_at}, \file{updated_at}, \file{deadline} und \file{first_seen_at} trennen, inklusive Rohwert und Herkunft. Ansprechpartner, Vergütungshinweis und Organisationseinheit als eigene Felder führen; JD-Inhalt oder einen stabilen lokalen Verweis mitsamt Abrufdatum erhalten.
|
||||
|
||||
\finding{F16 / P2}{Report- und Zustandswrites können Informationen verlieren}
|
||||
|
||||
\textbf{Fundstellen:} \file{job_scout/scout.py:2202--2340}, Speicherroutinen und breite Exception-Behandlung in Adaptern.
|
||||
|
||||
Alle Läufe desselben Tages schreiben auf denselben Markdown-/JSON-Namen. Ein eingeschränkter Lauf mit \file{--only} oder \file{--new-only} kann damit den vollständigen Tagesreport überschreiben. Gesehen-Markierungen werden gespeichert, bevor der Report erfolgreich geschrieben ist. Bei einem Schreibfehler kann ein Wiederholungslauf mit New-only deshalb gerade die noch nicht ausgelieferten Treffer ausblenden.
|
||||
|
||||
Ein fester temporärer Dateiname bei atomaren Writes verhindert keine konkurrierenden Schreibkonflikte. Breite \file{except Exception: continue}-Blöcke können einzelne kaputte Karten stillschweigend auslassen; Pagination-Limits und vollständige Abdeckung sind nicht überall erkennbar.
|
||||
|
||||
\textbf{Lösung:} Eindeutige Run-ID mit Suchumfang, unveränderliche Reports und erst nach erfolgreicher Report-Erstellung committed Seen-State. Konkurrenzschutz oder bewusst nur ein schreibender Prozess. Pro Adapter Mengen, Abbruchgrund und Vollständigkeitsstatus ausgeben. Die rund 2.400 Zeilen Scout-Code nach Adapter, Normalisierung, Matching und Persistenz aufzuteilen wäre anschliessend sinnvoll; ein grosses neues Framework ist dafür unnötig.
|
||||
|
||||
\section{Builds, historische Pakete und sichtbarer Output}
|
||||
|
||||
\finding{F17 / P2}{Nicht alle Pakete sind aus den vorhandenen Quellen reproduzierbar}
|
||||
|
||||
\begin{itemize}
|
||||
\item \file{output/NATO_AI_ENGINEER/e2e_nato_ai_engineer_resume.tex}: Build scheitert wegen fehlender \file{resume.cls}. Ein vorhandenes PDF verdeckt die unvollständige Quelldistribution.
|
||||
\item \file{output/Infineon_AI_Engineer/e2e_infineon_ai_engineer_cover_letter.tex}: Im geprüften pdfLaTeX-Setup Fehler bei der Schriftexpansion, weil eine verwendete Schrift nicht skalierbar ist.
|
||||
\item Microsoft-ISE-Resume: Overfull-Box von rund 25,3 pt; Isovalent-Resume: kleine Overfull-Box von rund 0,88 pt. Die vier aktuellen Stichproben bauten ohne solche Boxen.
|
||||
\end{itemize}
|
||||
|
||||
Historische Klassenkopien sind nicht automatisch schädliche Duplikate: Sie können den damaligen Build einfrieren. Sie sollten über eine Version oder einen Hash nachvollziehbar sein. Beim NATO-Paket einfach die neueste Klasse hineinzukopieren wäre keine sichere Reparatur, weil alte Makros abweichen können.
|
||||
|
||||
Mehrere PDF-Kopien unterscheiden sich binär. Bei Kdo Cy ist der extrahierte Text dennoch identisch; das ist kein belegter Inhaltsfehler. Beim NATO-Resume unterscheiden sich dagegen die Skills und die enthaltenen Stationen zwischen E2E- und Abgabe-PDF. Es fehlt ein eindeutig maschinenlesbarer Verweis, welche Quelle die tatsächlich eingereichte Fassung erzeugt hat. Keine dieser historischen Fassungen sollte stillschweigend ersetzt werden.
|
||||
|
||||
\textbf{Empfehlung:} Pro Abgabe ein Manifest mit Requisition, Dokumenttyp, Quellen-/Klassenhash, festem Datum, finalem Dateinamen und Status. \file{\today} in historischen Anschreiben macht den erneuten Build datumsabhängig und sollte bei neuen Paketen durch das explizite Bewerbungsdatum ersetzt werden. Das Wiederverwendungsregister klassifiziert 14 Pakete, während 21 Bewerbungsordner vorhanden sind; unbekannte Pakete benötigen einen klaren Revalidierungsdefault.
|
||||
|
||||
\finding{F18 / P2}{Die erste Seite zeigt zu spät die stärksten Belege}
|
||||
|
||||
Die vier visuell geprüften Lebensläufe sind gut lesbar, technisch ruhig und ohne Überlappungen. Das A4-Format, die Schriftgrösse und die klare Chronologie funktionieren. Die Textausleitung zeigte in diesen PDFs keine Ersatzzeichen und eine nachvollziehbare Reihenfolge. Das ist ein nützlicher technischer Check, aber keine Zertifizierung für jedes ATS.
|
||||
|
||||
\begin{tabularx}{\linewidth}{@{}lrrX@{}}
|
||||
\toprule Paket & Seiten & Beginn Erfahrung & Beobachtung\\\midrule
|
||||
SBB & 2 & 50,6\% & Viel Platz für Profil/Skills; lange Bildungszeile.\\
|
||||
NVIDIA & 2 & 55,4\% & Bosch/Linux-Evidenz erst auf Seite zwei.\\
|
||||
RUAG & 2 & 50,3\% & Bildungsblock bereits besser aufgeteilt.\\
|
||||
Aker BP & 2 & 50,5\% & Starker Skills-Vorlauf vor Berufserfahrung.\\\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
Die Prozentwerte bezeichnen die vertikale Position der Überschrift zur Berufserfahrung relativ zur Seitenhöhe, nicht ein wissenschaftliches Layoutziel. Sie machen das gemeinsame Problem sichtbar: Der erste konkrete Berufseintrag beginnt erst etwa auf halber Seite. Fünf oder sechs Skills-Kategorien entsprechen durch Umbrüche wesentlich mehr gedruckten Zeilen. Eine Regel für vier bis sechs Quellmakros kontrolliert daher nicht die tatsächliche Dichte.
|
||||
|
||||
\textbf{Empfehlung:} Skills auf die entscheidenden belegten Anforderungen reduzieren und Wiederholungen zu den Experience-Bullets entfernen. Direkt nach dem kurzen Profil entweder die Erfahrung oder einen sehr kompakten Kompetenzblock zeigen. Die Belegreihenfolge innerhalb einer Station nach der Zielrolle priorisieren; die Arbeitgeberchronologie beibehalten. Kein fixes Pixelziel und kein erzwungenes Auffüllen der zweiten Seite.
|
||||
|
||||
\finding{F19 / P2}{Einige Formulierungen und Details schwächen die Wirkung}
|
||||
|
||||
Die langen Bildungszeilen mit Abschluss, Institution und rechtsbündigem Datum erzeugen bei SBB, NVIDIA und Aker BP auffällige Wortabstände beziehungsweise Umbrüche. Die RUAG-Variante mit getrennten Angaben ist ein brauchbares Vorbild. Abschlussnote und Thesis sollten bei erfahrenen Industrieprofilen nur bleiben, wenn sie konkrete Relevanz tragen.
|
||||
|
||||
Bei NVIDIA nimmt die Erklärung fehlender Erfahrung relativ viel Raum im Anschreiben ein. Eine klar benannte, entscheidende Lücke mit anschliessender belastbarer Anschlussfähigkeit wäre meist wirksamer als ein eigener längerer Defizitblock. Ehrlichkeit bleibt verbindlich; sie erfordert keine vorgezogene Selbstabsage. Bei RUAG könnten die echte Verbindung zu Thun und der Offiziershintergrund früher erscheinen. Deutsche Bullets sollten eine konsistente Perspektive erhalten; eine Mischung aus drittpersonalen Verbformen und anderen Stilen wirkt unnötig distanziert.
|
||||
|
||||
Ein enger, evidenztreuer Formulierungsrahmen wäre beispielsweise: \emph{Governed data products within Swisscom's company-wide Data Mesh} statt eines ganzen selbst gebauten Data Mesh. Bei Bosch sollte die konkret bestätigte Bildklassifikation beziehungsweise Integration beschrieben werden, statt die gesamte Waferinspektion als ersetzt darzustellen. Diese Beispiele sind Richtungen für eine spätere Bearbeitung, keine neu validierten Ersatzbullets.
|
||||
|
||||
Die Metadaten zur Wortzahl sind nicht überall reproduzierbar: NVIDIA nennt 279, während eine einfache Whitespace-Zählung des extrahierten Briefkörpers etwa 300 Wörter ergibt; RUAG liegt mit rund 299 nahe an den dokumentierten 295. Unterschiedliche Zählregeln können kleine Abweichungen erklären. Der relevante Befund ist fehlende Zählkonvention, nicht ein Verstoss gegen eine universelle optimale Wortzahl. Beide Briefe passen auf eine gut lesbare Seite.
|
||||
|
||||
\section{Vertiefte Recherche: Was passt zu den Zielmärkten?}
|
||||
|
||||
\subsection{Evidenzstärke und sinnvolle Grenzen}
|
||||
|
||||
Für die Frage nach dem grössten Bewerbungserfolg sind drei Quellenarten zu unterscheiden: Arbeitgebervorgaben zeigen, was ein konkreter Prozess akzeptiert oder verlangt. Nationale Arbeitsmarktstellen und Berufsverbände beschreiben verbreitete Konventionen. Experimente können Wirkungen untersuchen, gelten aber nur eingeschränkt ausserhalb ihrer untersuchten Population.
|
||||
|
||||
Die recherchierten Quellen liefern keine belastbare Rangfolge, mit der eine bestimmte Schrift, eine exakt zweizeilige Zusammenfassung oder ein fester Bullet-Rhythmus Dennis' Interviewwahrscheinlichkeit maximiert. Solche Regeln können gute redaktionelle Hilfen sein; als wissenschaftliches Erfolgsversprechen wären sie überzogen. Der Bericht empfiehlt deshalb einen gut begründeten Standard mit wenigen situativen Varianten.
|
||||
|
||||
\subsection{Schweiz: Das bestehende Grundformat beibehalten}
|
||||
|
||||
SECO/arbeit.swiss empfiehlt einen klaren, umgekehrt chronologischen Lebenslauf und nennt bis zu drei Seiten. Ein Foto ist dort eine mögliche Ergänzung. Das unterstützt einen zweiseitigen CV für das vorliegende Erfahrungsprofil; es begründet weder eine Pflicht zur dritten Seite noch einen starren Einseiter.\source{SECO: Bewerbungstipps}{Q1}
|
||||
|
||||
Für Schweizer Industrie-, Infrastruktur- und öffentliche Arbeitgeber sollten konkrete Verantwortung, Betriebsumfeld, Zusammenarbeit und verständliche Rollenbezeichnungen schnell erkennbar sein. Die tatsächlichen Component-/Application-Owner-Titel sind dabei wertvoll, müssen aber durch den eigenen Umfang erklärt werden. Arbeitsort, wahrheitsgemässe Sprachangaben und vorhandener Aufenthaltsstatus können praktische Einordnung erleichtern. Diese Gewichtung ist eine aus Quellen und Profil abgeleitete Empfehlung, keine allgemeine rechtliche Dokumentpflicht.
|
||||
|
||||
\textbf{Die Arbeitgeberregel hat Vorrang.} SBB erklärt das Motivationsschreiben ausdrücklich für freiwillig und bevorzugt PDFs. Der Lebenslauf soll separat und mit möglichst wenig Grafikelementen hochgeladen werden; weitere Unterlagen können gebündelt werden. Das SBB-Paket ohne Anschreiben war deshalb prozessgerecht.\source{SBB: Bewerbungstipps}{Q2}
|
||||
|
||||
Wo ein Anschreiben sinnvoll ist, empfiehlt die UZH eine Seite mit konkretem Bezug zur Stelle und nachvollziehbarer Motivation, statt den Lebenslauf zu wiederholen. Für Dennis kann das bei einem Branchenwechsel, einem besonderen Bezug zum Arbeitgeber oder einer erklärungsbedürftigen Anschlussfähigkeit echten Nutzen haben.\source{Universität Zürich: Anschreiben}{Q3}
|
||||
|
||||
Bei persönlichen Daten widersprechen sich selbst seriöse Schweizer Ratgeber. Der ETH-Welcome-Center-Leitfaden führt traditionelle Angaben zu Geburtsdatum und Familie auf, bezeichnet das Foto aber als optional; arbeit.swiss formuliert weniger eng. Das sind Konventionsempfehlungen, kein Beweis, dass mehr private Angaben bessere Chancen erzeugen. Die bewusste Präferenz gegen Geburtsdatum, Familienstand und Kinder sollte bestehen bleiben. Ein Foto ist ebenfalls kein notwendiger Standard.\source{ETH Zürich: How to apply for a job}{Q4}
|
||||
|
||||
Für international rekrutierende Tech-Unternehmen in der Schweiz bleibt das International-Tech-Profil passend: belegte technische Beiträge, klare Ergebnisse, wenig administrative Zusatzinformation. Die Sprache sollte sich nach Ausschreibung, Team und ausdrücklicher Vorgabe richten. Das englische SBB-Dokument war eine bewusste Entscheidung und wird deshalb nicht allein wegen des deutschen JDs als Fehler bewertet.
|
||||
|
||||
\subsection{Dänemark: Kurzprofil und Motivation systematisch mitdenken}
|
||||
|
||||
Workindenmark empfiehlt ein zugeschnittenes persönliches Profil von etwa vier bis acht Zeilen mit den wichtigsten Kompetenzen. Für internationale Bewerbende kann die Motivation für Dänemark relevant sein. Eine globale Zwei-bis-drei-Zeilen-Regel sollte deshalb kein hartes Hindernis sein.\source{Workindenmark: A Good Personal Profile Counts, aktualisiert 25.03.2026}{Q5}
|
||||
|
||||
Die gleiche staatliche Plattform rät dazu, unbekannte Arbeitgeber und die tatsächliche Funktion verständlich einzuordnen und Verantwortung, Zusammenarbeit sowie Ergebnisse zu beschreiben. Das passt gut zu Dennis' Laufbahn: Schweizer Unternehmensnamen und interne Owner-Titel erklären sich im Ausland nicht von selbst. Ein knapper Kontextsatz ist oft wertvoller als zusätzliche Technologiebegriffe.\source{Workindenmark: Work Experience, aktualisiert 12.03.2026}{Q6}
|
||||
|
||||
Das Anschreiben wird dort als häufig ebenso wichtig wie der CV beschrieben: höchstens eine Seite, individuell, mit Motivation und Beispielen fachlicher und sozialer Kompetenz. Für eine dänische Bewerbung sollte deshalb der Standard lauten: den erwarteten Bewerbungsumfang prüfen und ein spezifisches Schreiben ernsthaft einplanen. Die bestehende globale Tendenz zum Weglassen eines optionalen Briefs ist hier zu grob. Eine ausdrückliche Arbeitgebervorgabe gegen Anschreiben übersteuert diesen Standard.\source{Workindenmark: Your Cover Letter, aktualisiert 12.03.2026}{Q7}
|
||||
|
||||
Der Ingenieurverband IDA empfiehlt in seinem aktuellen Ratgeber gewöhnlich ein bis zwei Seiten und ein klares, angepasstes Kompetenzprofil. Das stützt zwei Seiten als brauchbaren Ausgangspunkt für diese technische Laufbahn.\source{IDA: How to make a good CV}{Q8}
|
||||
|
||||
Workindenmark beschreibt persönliche Informationen und Interessen als üblich. Daraus folgt keine Notwendigkeit, die persönliche Datenschutzpräferenz aufzugeben. Falls zutreffend, können eine konkrete Dänemark-Motivation, reale Sprachlernbemühungen oder relevante Interessen die persönliche Anschlussfähigkeit zeigen, ohne Familienangaben einzuführen. Relocation-Bereitschaft darf nur genannt werden, wenn sie tatsächlich besteht.\source{Workindenmark: Personal Details in Your CV, aktualisiert 12.03.2026}{Q9}
|
||||
|
||||
\subsection{Norwegen: Fachliches Profil und spezifische Bewerbung}
|
||||
|
||||
NAV empfiehlt eine übersichtliche Berufschronologie, genaue Tätigkeits- und Zeitangaben und verständliche Sprachkenntnisse. Die aktuelle Darstellung ist damit grundsätzlich vereinbar. Referenzen können auf Anfrage verfügbar sein; Namen sollten nicht ohne vorherige Abstimmung veröffentlicht werden.\source{NAV/Arbeidsplassen: Slik skriver du en god CV}{Q10}
|
||||
|
||||
Für technische Profile ist Tekna besonders einschlägig. Der Verband empfiehlt ein zugeschnittenes Kompetenzprofil von ungefähr vier bis sechs Zeilen, konkrete Verantwortung und Ergebnisse, umgekehrte Chronologie und im Regelfall maximal zwei Seiten. Foto ist eine persönliche Entscheidung; weniger relevante ältere Erfahrung darf zusammengefasst werden. Das spricht für eine kleine Norwegen-Variante des bestehenden CVs, nicht für ein völlig neues Design.\source{Tekna: How to write a good CV}{Q11}
|
||||
|
||||
NAV beschreibt das Bewerbungsschreiben als kurze, spezifische Begründung mit passenden Beispielen, vorzugsweise innerhalb einer Seite. Auch hier ist ein pauschaler internationaler Skip-Default zu wenig differenziert. Ein Anruf ist sinnvoll, wenn echte offene Fragen bestehen; Fragen, die schon in der Anzeige beantwortet sind, rechtfertigen ihn nicht.\source{NAV/Arbeidsplassen: Tips til jobbsøknaden}{Q12}
|
||||
|
||||
Für Aker BP, Equinor oder NATO sollten tatsächliche Motivation, Arbeitssprache und Standortmodell jeweils separat geprüft werden. Eine internationale Organisation in Norwegen kann ein eigenes Bewerbungsformat haben. Norwegische Marktgewohnheiten ersetzen dann nicht deren Portalvorgaben. Ungeklärte Umzugsbereitschaft ist eine offene praktische Frage, kein automatisch vorhandener Vorteil.
|
||||
|
||||
\subsection{Empfohlene Profilmatrix}
|
||||
|
||||
\begin{tabularx}{\linewidth}{@{}>{\raggedright\arraybackslash}p{.22\linewidth}>{\raggedright\arraybackslash}X>{\raggedright\arraybackslash}X@{}}
|
||||
\toprule Kontext & Standard & Bewusste Abweichung\\\midrule
|
||||
Schweiz, internationaler Tech-Arbeitgeber & Zwei Seiten, belegte technische Ergebnisse, kompakte Skills, Englisch sofern passend. & Brief nur bei Anforderung oder konkretem Mehrwert.\\
|
||||
Schweiz, lokale Industrie und Infrastruktur & Zwei Seiten, verständliche Verantwortung, Sprachen und praktische Einordnung. & Dossier und Brief nach Arbeitgeber; dritte Seite nur bei relevantem Bedarf.\\
|
||||
Dänemark & Zwei Seiten, stärkeres persönliches Fachprofil, Arbeitgeberkontext und Zusammenarbeit. & Individuellen Brief und Landesmotivation prüfen; Arbeitgeberausnahmen beachten.\\
|
||||
Norwegen & Zwei Seiten, klare Schlüsselqualifikationen, Aufgaben und belegte Ergebnisse. & Kurzes spezifisches Schreiben; internationaler Arbeitgeber kann eigene Regeln haben.\\
|
||||
Akademische Bewerbung & Separater akademischer CV-Prozess. & Publikationen und Lehre nach Anforderung, keine Industrie-Seitenregel erzwingen.\\\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\subsection{ATS: Textstruktur und Portalprüfung sind wichtiger als Mythen}
|
||||
|
||||
Greenhouse nennt komplexe Tabellen, Spalten, Grafiken und Informationen in Kopf-/Fusszeilen als mögliche Ursachen unvollständiger Verarbeitung. Der Anbieter nennt ausserdem eine Grenze von 2,5 MB für das Parsing. Ein Parsingfehler bedeutet laut Dokumentation nicht automatisch Ablehnung: Das Dokument kann angehängt bleiben und Daten müssen manuell korrigiert werden.\source{Greenhouse: Unsuccessful resume parse, aktualisiert 02.03.2026}{Q13}
|
||||
|
||||
Die aktuellen einspaltigen, textbasierten PDFs sind daher ein vernünftiger Standard. Eine LaTeX-Kontaktzeile im normalen Dokumentkörper ist dabei nicht mit einer Word-Kopfzeile gleichzusetzen. Die vorhandene Schrift ist kein nachgewiesenes ATS-Problem. Ein Wechsel zu einer anderen Schrift allein verspricht keinen belegten Vorteil.
|
||||
|
||||
Microsoft verlangt ausdrücklich, die aus dem CV übernommenen Profilinformationen zu prüfen und gegebenenfalls zu korrigieren. Eine kurze Kontrolle der Portal-Felder vor der Abgabe ist deshalb konkreter und verlässlicher als ein selbst vergebener ATS-Score.\source{Microsoft Careers: Hiring FAQs}{Q14}
|
||||
|
||||
\textbf{Empfohlene QA:} sichtbaren PDF-Text kopieren, Reihenfolge und Sonderzeichen prüfen, Kontaktinformationen und Datumszuordnung kontrollieren, Links testen und im tatsächlichen Portal die extrahierten Felder ansehen. DOCX nur dann zusätzlich erzeugen, wenn ein Arbeitgeber es verlangt oder das konkrete Portal mit dem PDF Probleme hat. Keywords müssen aus belegten Tätigkeiten stammen; unbekannte Technologien werden durch Aufnahme in eine Skills-Liste nicht zu Erfahrung.
|
||||
|
||||
\section{Was tatsächlich mehr Erfolg verspricht}
|
||||
|
||||
\subsection{Formulierungsqualität hilft; feste Stilrezepte sind nicht belegt}
|
||||
|
||||
Eine grosse randomisierte Studie von Wiles, Munyikwa und Horton untersuchte algorithmische Schreibunterstützung bei knapp 500.000 Neueintritten auf einem Online-Arbeitsmarkt. Die unterstützte Gruppe wurde relativ rund acht Prozent häufiger eingestellt; die Arbeitgeberzufriedenheit sank nicht. Das ist relevante Evidenz dafür, dass verständlichere Darstellung die Erkennung vorhandener Fähigkeiten verbessern kann. Es ist keine Prognose von acht Prozentpunkten mehr Erfolg für einen Schweizer Staff Engineer und kein Test eines bestimmten CV-Layouts.\source{Wiles, Munyikwa und Horton: Algorithmic Writing Assistance on Jobseekers' Resumes Increases Hires; NBER 30886, später Management Science 2025}{Q15}
|
||||
|
||||
Für die Formulierung folgt daraus als redaktionelle Empfehlung: klare Handlung, eigenes Objekt beziehungsweise eigener Umfang, technischer oder organisatorischer Kontext und ein bestätigtes Ergebnis. Nicht jeder Bullet braucht jede Komponente oder eine Zahl. Ein glaubwürdiges qualitatives Ergebnis ist besser als eine erfundene Prozentzahl. Zusammenarbeit und begrenzte Verantwortung können gerade im Grossunternehmen Kompetenz zeigen.
|
||||
|
||||
Bei einem Staff-Profil sollten vorhandene Belege für Entscheidungen, Standards, Abstimmung über Schnittstellen und dauerhafte Verantwortung sichtbarer werden. Der aktuelle Technologieumfang allein erklärt den Staff-Mehrwert nicht immer. Fehlende Nachweise hierfür sollten gezielt erhoben werden; sie dürfen nicht aus dem Titel hergeleitet werden.
|
||||
|
||||
\subsection{Kontaktstrategie: sinnvoll, aber keine Erfolgsgarantie}
|
||||
|
||||
Randomisierte LinkedIn-Experimente zu schwächeren beruflichen Verbindungen liefern Evidenz, dass Netzwerkstruktur berufliche Mobilität beeinflussen kann. Sie testen jedoch Empfehlungen neuer Verbindungen, nicht die Behauptung, ein Anruf bei jeder veröffentlichten Kontaktperson sei zwingend besser als eine direkte Bewerbung.\source{MIT-Bericht zur Science-Studie von Rajkumar et al., veröffentlicht 15.09.2022}{Q17}
|
||||
|
||||
Die neue projektinterne Kontaktpriorität ist als Arbeitsstrategie nachvollziehbar: Offene Fragen zu Lohnklasse, Scope, Präsenz und Team können früh geklärt werden. Ein kurzer Kaltanruf ist aber noch keine Empfehlung und macht den Kanal nicht automatisch stark. Als Verbesserungsvorschlag sollten Kontaktversuch, tatsächliches Gespräch, hilfreiche Information und echte Empfehlung getrennt erfasst werden. Vergebliche Kontaktversuche sollten eine passende Bewerbung kurz vor Fristende nicht unbegrenzt blockieren; eine solche Ausnahme wäre eine ausdrücklich zu beschliessende Strategieänderung, keine bereits umgesetzte Regel.
|
||||
|
||||
Die eigene Kohorte erlaubt noch keine belastbaren kausalen Aussagen: sieben erfasste Bewerbungen, durchgehend schwacher Kanal, unterschiedliche Rollen und teilweise noch offene Ergebnisse. SBB erreichte ein Interview und endete später durch Rückzug. Diese Beobachtung darf weder als Beweis für optimale Dokumente noch als Beweis gegen Kontaktaufnahme gelten. Der Rückzug ist zudem eine andere Ergebnisart als eine Arbeitgeberabsage.
|
||||
|
||||
\subsection{Fit, praktische Attraktivität und Ungewissheit auseinanderhalten}
|
||||
|
||||
Die getrennte Betrachtung von Evidence Fit, Document Quality und Channel Strength ist ein klarer Fortschritt und sollte bleiben. Die Zahlen sind aber interne Rubrikergebnisse, keine kalibrierten Einstellungswahrscheinlichkeiten. Unterschiede wie 92 versus 93 sind ohne nachvollziehbare Einzelbewertung und stabile Rubrik kaum entscheidungsrelevant.
|
||||
|
||||
Zusätzlich sollten bekannte Ausschlussgründe, ungeklärte Bedingungen und Präferenzen getrennt werden. Ein bestätigtes zwingendes Kriterium ohne passende Evidenz bleibt ein echtes Gate. Eine noch unbekannte Lohnklasse oder Präsenzregel ist zunächst eine zu klärende Frage. Ein formaler Titel unter Staff kann je nach tatsächlichem Scope unterschiedlich attraktiv sein; weder automatisch verwerfen noch schönrechnen.
|
||||
|
||||
Der stärkste operative Hebel ist wahrscheinlich, vor viel Dokumentarbeit die tatsächliche Passung bei Verantwortung, Vergütung, Arbeitsort und zwingenden Anforderungen zu klären. Das ist eine aus dem Projektverlauf abgeleitete Einschätzung, kein experimentell gemessener Effekt. Die bislang dokumentierten Absagen erlauben insbesondere keine sichere Zuschreibung an Schriftart, ATS oder einzelne fehlende Keywords.
|
||||
|
||||
\section{Umsetzungsreihenfolge und Abnahmekriterien}
|
||||
|
||||
\textbf{Zuerst die Verlässlichkeit reparieren.} Vor einer grossen optischen Überarbeitung sollten die folgenden kleinen, klar abgrenzbaren Änderungen erfolgen:
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{Regel- und Statusbereinigung:} gemeinsame Skill-Referenzen, aktuelle Session-Ansicht, keine operative Zehn-Bewerbungen-Sperre. Abnahme: beide Agenteneinstiege laden dieselbe Prozessversion; eine elfte Bewerbung lässt sich ohne Quote erfassen.
|
||||
\item \textbf{Konkrete Evidenzlecks schliessen:} 12+-Jahre-Text entfernen, Capgemini-Ausschluss konsistent machen, PyTorch-Kontext sichern, Zero-Downtime-/Inspektionsvarianten prüfen, BS-6 in Auswahlpfade aufnehmen. Abnahme: jede aktive Variante verweist auf ihren gültigen Claim; historische Abgaben bleiben erhalten.
|
||||
\item \textbf{Negative Validator-Tests ergänzen:} falsche Identität, erfundene Metrik, Zertifikatskontext, Kommentare, Verneinungen, LaTeX-Auszeichnung und ungültige Datumswerte. Abnahme: eindeutige Fehler werden erkannt, erlaubte Gegenbeispiele nicht blockiert; semantisch offene Punkte erscheinen gesondert.
|
||||
\item \textbf{Scout-Verluste verhindern:} Requisitions-ID statt Titel, Länderfelder erhalten, Remote-Ungewissheit respektieren, Datumsarten trennen. Abnahme: beide gleichnamigen Teststellen bleiben sichtbar; Baar/CH bleibt zulässig, Bernau/DE wird nicht als Schweiz erkannt.
|
||||
\item \textbf{Dokumentgewichtung verbessern:} Skills kürzen, Berufserfahrung früher zeigen, Bildungszeilen sauber trennen, Länderprofil wählen. Abnahme: gerenderte Sichtprüfung und Textausleitung; keine neue Behauptung nur zur schöneren Seitengestaltung.
|
||||
\end{enumerate}
|
||||
|
||||
\textbf{Danach die strukturellen Verbesserungen:} ein kleines Claim-/Dokumentschema, Bewerbung als Zustand plus Ereignisse, reproduzierbare Abgabemanifeste, robuste Scout-Persistenz und gezielte Adaptertests. Ein leichter automatisierter Check sollte mindestens die vorhandenen Tests, Schemas, Referenzintegrität und einen Build der gepflegten professionellen Templates ausführen. Die dafür benötigte Python-/TeX-Umgebung gehört dokumentiert.
|
||||
|
||||
\textbf{Erst danach breiter optimieren:} zusätzliche belegte Auswirkungen und Staff-Verantwortung sammeln, die Länderprofile verfeinern und den Bewerbungstrichter nach Ergebnisarten auswerten. Dabei nicht auf eine neue Quote oder auf immer mehr eigene Scores ausweichen. Eine kleine Anzahl überprüfbarer Regeln ist nützlicher als viele überlappende Dokumente mit Ausnahmen.
|
||||
|
||||
\textbf{Bewusst beibehalten:} Genauigkeit vor Wirkung; keine erfundenen Kennzahlen; keine Skills aus reiner Keyword-Nachfrage; kanonische Eigentumsgrenzen; zwei gut lesbare Seiten als Standard; konditionales Anschreiben mit Länder-/Arbeitgeberkontext; keine automatischen privaten Zusatzangaben; unveränderte Archive bereits versandter Bewerbungen.
|
||||
|
||||
\section{Reproduktionshinweise und Quellen}
|
||||
|
||||
Die Prüfarbeitsdateien liegen unter \file{tmp/project_review/}. \file{probe.py} enthält die isolierten Gegenproben; \file{probe_results.json} deren Resultate. \file{supplement.py} und \file{supplement_results.json} enthalten zusätzliche Adapter- und PDF-Prüfungen. \file{build_review.py}, \file{build_results.json} und \file{copy_comparisons.json} dokumentieren die isolierten Builds und Kopienvergleiche. Diese temporären Dateien gehören nicht zum Bewerbungsoutput und sind kein neuer kanonischer Evidenzbestand.
|
||||
|
||||
Der technische Review belegt die beschriebenen lokalen Gegenbeispiele. Er ersetzt weder einen vollständigen Live-Test aller Jobportale noch eine erneute Quellenprüfung jedes historischen Resume-Satzes. Die Recherche priorisierte Behörden, Arbeitgeber, Berufsverbände, Hochschulen und Originalforschung. Undatierte Ratgeber werden als aktuelle abrufbare Empfehlungen behandelt, nicht als neu publizierte Studien. Nicht zugängliche oder inzwischen leere Stellenseiten wurden nicht als tragende Evidenz verwendet.
|
||||
|
||||
\small
|
||||
\begin{enumerate}[label=Q\arabic*.,leftmargin=2.7em,itemsep=6pt]
|
||||
\item SECO / arbeit.swiss. \emph{Bewerbungstipps}. Schweizer Arbeitsmarktverwaltung; Konventionen und Dossieraufbau. \url{https://www.arbeit.swiss/de/stellensuchende/bewerbungstipps}
|
||||
\item SBB. \emph{Bewerbungstipps}. Direkte Arbeitgebervorgaben, einschliesslich freiwilligem Motivationsschreiben und Upload-Struktur. \url{https://company.sbb.ch/de/jobs-karriere/jobs/bewerbungstipps.html}
|
||||
\item Universität Zürich, Career Services. \emph{Anschreiben}. Hochschulberatung; Inhalt, Umfang und Nutzen. \url{https://www.careerservices.uzh.ch/de/ratgeber/bewerbung/bewerbungsdossier/Anschreiben.html}
|
||||
\item ETH Zürich, Welcome Center. \emph{How to apply for a job}. Undatierte, teilweise traditionelle Dossierempfehlungen; im Bericht als widersprechende Konvention eingeordnet. \url{https://ethz.ch/en/the-eth-zurich/working-teaching-and-research/welcome-center/job-search-and-application/how-to-apply-for-a-job.html}
|
||||
\item Workindenmark. \emph{A Good Personal Profile Counts}. Aktualisiert 25.03.2026. \url{https://www.workindenmark.dk/job-search-in-denmark/your-cv/a-good-personal-profile-counts}
|
||||
\item Workindenmark. \emph{Work Experience}. Aktualisiert 12.03.2026. \url{https://www.workindenmark.dk/job-search-in-denmark/your-cv/work-experience}
|
||||
\item Workindenmark. \emph{Your Cover Letter}. Aktualisiert 12.03.2026. \url{https://www.workindenmark.dk/job-search-in-denmark/your-cover-letter}
|
||||
\item IDA. \emph{How to make a good CV}. Dänischer Ingenieurverband; berufsspezifische Beratung, keine kausale Wirkungsstudie. \url{https://ida.dk/en/career-and-legal-advice/job-search/how-to-make-a-good-cv}
|
||||
\item Workindenmark. \emph{Personal Details in Your CV}. Aktualisiert 12.03.2026. \url{https://www.workindenmark.dk/job-search-in-denmark/your-cv/personal-details-in-your-cv}
|
||||
\item NAV / Arbeidsplassen. \emph{Slik skriver du en god CV}. Norwegische Arbeitsmarktverwaltung. \url{https://arbeidsplassen.nav.no/slik-skriver-du-en-god-cv}
|
||||
\item Tekna. \emph{How to write a good CV}. Norwegischer technisch-wissenschaftlicher Berufsverband. \url{https://www.tekna.no/en/career/cv-and-cover-letter/how-to-write-a-good-cv/}
|
||||
\item NAV / Arbeidsplassen. \emph{Tips til jobbsøknaden}. Hinweise zu Schreiben und sinnvoller Kontaktaufnahme. \url{https://arbeidsplassen.nav.no/tips-til-jobbsoknaden}
|
||||
\item Greenhouse Support. \emph{Unsuccessful resume parse}. Aktualisiert 02.03.2026. Technische Herstellerdokumentation; nicht stellvertretend für alle ATS. \url{https://support.greenhouse.io/hc/en-us/articles/200989175-Unsuccessful-resume-parse}
|
||||
\item Microsoft Careers. \emph{Hiring FAQs}. Direkte Information zur Prüfung und Korrektur extrahierter Bewerberdaten. \url{https://careers.microsoft.com/v2/global/en/hiringfaqs.html}
|
||||
\item Wiles, Emma; Munyikwa, Zanele; Horton, John J. \emph{Algorithmic Writing Assistance on Jobseekers' Resumes Increases Hires}. NBER Working Paper 30886 (2023, Revision Oktober 2023); veröffentlichte Fassung Management Science 71(12), 2025, S. 10144--10164. \url{https://www.nber.org/papers/w30886}
|
||||
\item Technische Universität München. \emph{Bayerische Formel}. Zweck, Eingangsparameter und nicht verbindlicher Rechner. \url{https://www.tum.de/studium/bewerbung/infoportal-bewerbung/bayerische-formel}
|
||||
\item MIT News, Peter Dizikes. \emph{A causal test of the strength of weak ties}. 15.09.2022; institutioneller Bericht zur randomisierten LinkedIn-Studie von Rajkumar et al. in Science, DOI 10.1126/science.abl4476. \url{https://news.mit.edu/2022/weak-ties-linkedin-employment-0915}
|
||||
\end{enumerate}
|
||||
\end{document}
|
||||
Reference in new issue
Block a user