Dritter Bewerbungsstrang AI mit Bewerbung an parcel24box / Kommunalinvest AG
This commit is contained in:
1 parent
c0763662dd
commit
ef8bc85767
6 files changed
+357
-16
No files matched your search
@@ -1,3 +1,4 @@
|
||||
.DS_Store
|
||||
07_bewerbung-typst/Admin/*.pdf
|
||||
07_bewerbung-typst/Senior Developer/*.pdf
|
||||
07_bewerbung-typst/Agentic Coding Engineer/*.pdf
|
||||
@@ -3,5 +3,5 @@
|
||||
- Die wichtigen Inhaltsregeln in `../AGENTS.md` beachten: unnötige Wiederholungen innerhalb eines Dokuments sorgfältig beseitigen; die inhaltliche Übereinstimmung und gegenseitige Unterstützung von Anschreiben und Lebenslauf ausdrücklich sicherstellen.
|
||||
- Vor dem Lesen, Bearbeiten oder Kompilieren der Dokumente zuerst das `Makefile` lesen. Die aktuellen Quelldateien stehen in `COVERLETTER_SRC` und `CV_SRC`; die PDF-Pfade werden dort abgeleitet. Keine festen Namen wie `cv.typ` oder `coverletter.typ` voraussetzen.
|
||||
- Zum Bauen und Überwachen die Make-Ziele verwenden. Bei Umbenennungen die zentrale Dateikonfiguration im Makefile anpassen.
|
||||
- Die Dokumente liegen als getrennte Varianten in `Admin/` und `Senior Developer/`; PDFs werden neben den jeweiligen Quellen erzeugt. Es gibt nur die drei Befehle `make all`, `make clean` und `make watch`, jeweils für beide Varianten. Gemeinsame Vorlagen und Ressourcen bleiben im übergeordneten Typst-Ordner; deshalb Typst mit `--root .` aus diesem Ordner aufrufen (in den Make-Zielen bereits gesetzt).
|
||||
- Die Dokumente liegen als getrennte Varianten in `Admin/`, `Senior Developer/` und `Agentic Coding Engineer/`; PDFs werden neben den jeweiligen Quellen erzeugt. Es gibt nur die drei Befehle `make all`, `make clean` und `make watch`, jeweils für alle Varianten. Gemeinsame Vorlagen und Ressourcen bleiben im übergeordneten Typst-Ordner; deshalb Typst mit `--root .` aus diesem Ordner aufrufen (in den Make-Zielen bereits gesetzt).
|
||||
- Ausschließlich im lokalen Arbeitsordner `/Users/rob/Documents/Job Application` arbeiten; keine Kopien auf SMB-Volumes verwenden.
|
||||
@@ -0,0 +1,79 @@
|
||||
#import "../personal.typ": person
|
||||
#import "../template.typ": *
|
||||
#let person = (..person, position: "Senior Software Developer · KI-gestützte Entwicklung")
|
||||
|
||||
#set page(
|
||||
paper: "a4",
|
||||
margin: (left: 20mm, right: 20mm, top: 8mm, bottom: 16mm),
|
||||
footer: cover-footer(person),
|
||||
)
|
||||
|
||||
#show: document-base
|
||||
|
||||
#show link: set text(fill: accent)
|
||||
|
||||
#cover-header(person)
|
||||
|
||||
#v(11mm)
|
||||
|
||||
#grid(
|
||||
columns: (1fr, auto),
|
||||
align: (left, right),
|
||||
[
|
||||
#text(font: "Source Sans Pro", size: 11pt, weight: 700, fill: dark-ink)[
|
||||
Kommunalinvest AG · parcel24box
|
||||
]
|
||||
#v(2pt)
|
||||
#text(font: "Source Sans Pro", size: 9pt, weight: 400, fill: gray-ink)[
|
||||
#smallcaps([Poststraße 2\
|
||||
01159 Dresden])
|
||||
]
|
||||
],
|
||||
text(
|
||||
font: "Source Sans Pro",
|
||||
size: 9pt,
|
||||
weight: 300,
|
||||
style: "italic",
|
||||
fill: gray-ink,
|
||||
)[#today-de],
|
||||
)
|
||||
|
||||
#v(13mm)
|
||||
|
||||
#underline(
|
||||
offset: 5pt,
|
||||
text(font: "Source Sans Pro", size: 10pt, weight: 600, fill: dark-ink)[
|
||||
Bewerbung als Agentic Coding Engineer
|
||||
],
|
||||
)
|
||||
|
||||
#v(6mm)
|
||||
|
||||
#set text(font: "Source Sans Pro", size: 10pt, weight: 300, fill: gray-ink)
|
||||
#set par(justify: false, leading: 0.7em)
|
||||
|
||||
Sehr geehrter Herr Groß,
|
||||
|
||||
#v(2.5mm)
|
||||
|
||||
mit über 20 Jahren Erfahrung in Softwareentwicklung und Qualitätssicherung möchte ich bei parcel24box die KI-gestützte Entwicklung Ihrer Anwendungen mitgestalten. Mich reizt, dass Ihre Software unmittelbar im Alltag wirkt – vom Terminal an der Paketstation bis zu den angebundenen Diensten.
|
||||
|
||||
Seit 2019 entwickle und betreue ich bei der vr-bits GmbH mehr als 20 Unity-Anwendungen mit C\#/.NET, darunter VR-, iOS- und Web-Anwendungen für Roche, TenneT, enviaM, Audi und andere. Meine Aufgaben reichen von der Architektur und der Anbindung externer Dienste bis zu Deployment und Wartung. Dazu gehören auch CI-Pipelines mit GitHub Actions. Erfahrungen zu Datenbanken, Linux, Netzwerktechnik und Containerisierung bringe ich aus der Entwicklung und Migration von Webshop- und Warenwirtschaftssystemen als selbständiger Full-Stack-Webentwickler mit.
|
||||
|
||||
Für die MMS konzipierte ich einen AssetDownloader als eigenständige .NET-Standard-Kernbibliothek mit separater Unity-Anbindung und steuerte die nahezu vollständig KI-generierte Implementierung auf Basis von Spezifikationen und testgetriebener Entwicklung. Tests mit NUnit, Moq und HTTP-Mocks prüfen Download-Abbrüche, Wiederaufnahme, Dateiintegrität und Cache-Verhalten. Meine Erfahrung mit systematischer Fehleranalyse und Testautomatisierung reicht bis zu meiner Tätigkeit bei MAGIX zurück.
|
||||
|
||||
Für ein Sozialunternehmen entwickelte ich einen Tätigkeitsnachweis-Generator mit Python und Streamlit, der Excel-Daten in monatliche PDF-Nachweise überführt. Dafür konkretisierte ich einen zunächst offenen Verwaltungsauftrag: Ich klärte die Geschäftsregeln, grenzte den Funktionsumfang ein und steuerte mehrere vollständig KI-generierte Iterationen. Dabei legte ich Datenzuordnungen, Validierungsregeln und Anforderungen an prüfbare Ausgaben fest. Die Anwendung reduziert den manuellen Aufwand für die Erstellung der Nachweise erheblich.
|
||||
|
||||
Für die agentische Entwicklung nutze ich unter anderem Copilot Chat in VS Code und Codex. Spezifikationsgetriebene Vorgehensweisen habe ich mit Spec Kit und BMAD praktisch erprobt. Ich gebe Agenten den fachlichen und technischen Kontext vor und zerlege Aufgaben in überprüfbare Arbeitsschritte. Architekturentscheidungen und die Bewertung der Ergebnisse anhand fachlicher Vorgaben und Tests übernehme ich selbst.
|
||||
|
||||
Lokale Modelle, darunter openai/gpt-oss-20b, habe ich auf eigener Hardware erprobt; dabei kamen LM Studio, GPUStack und Ollama zum Einsatz. Auf meinem TrueNAS-Server betreibe ich Hermes Agent unter anderem zur Stellensuche. So bin ich auch auf Ihre Ausschreibung aufmerksam geworden.
|
||||
|
||||
Mein frühestmöglicher Eintrittstermin ist der 1. Oktober 2026. Meine Gehaltsvorstellung liegt bei 60.000 € brutto jährlich für eine 40-Stunden-Woche. Gern stelle ich Ihnen meine Projekte im Gespräch vor und erläutere, welchen Beitrag ich bei parcel24box leisten kann.
|
||||
|
||||
#v(1mm)
|
||||
|
||||
Mit freundlichen Grüßen
|
||||
|
||||
#v(1mm)
|
||||
|
||||
#image("../assets/signature.png", width: 25mm)
|
||||
@@ -0,0 +1,259 @@
|
||||
#import "../personal.typ": person
|
||||
#import "../template.typ": *
|
||||
|
||||
#set page(
|
||||
paper: "a4",
|
||||
margin: (left: 14mm, right: 14mm, top: 8mm, bottom: 16mm),
|
||||
footer: cv-footer(person),
|
||||
)
|
||||
|
||||
#show: document-base
|
||||
#set par(leading: 0.56em)
|
||||
|
||||
|
||||
#cv-header(person)
|
||||
|
||||
#section("Pro", "fil")
|
||||
|
||||
#text(weight: 600)[Agentic Coding Engineer · parcel24box / Kommunalinvest AG]
|
||||
|
||||
Senior Software Developer mit über 20 Jahren Erfahrung in Softwareentwicklung und Qualitätssicherung. Bei parcel24box möchte ich die KI-gestützte Entwicklung von Anwendungen mitgestalten, die unmittelbar im Alltag wirken – vom Terminal an der Paketstation bis zu den angebundenen Diensten.
|
||||
|
||||
#section("Ber", "ufserfahrung")
|
||||
|
||||
#entry(
|
||||
"Senior Developer / Software Engineer für Unity AR/VR",
|
||||
"vr-bits GmbH",
|
||||
"Leipzig",
|
||||
"seit 2019",
|
||||
(
|
||||
[Mehr als 20 Unity-Anwendungen mit C\#/.NET für Web, Desktop, Mobile einschließlich iOS sowie VR/AR; Projekte unter anderem für Roche, TenneT, enviaM und Audi],
|
||||
[Projektkonzeption, Architektur, Entwicklung, Deployment und Wartung; Integration von SDKs, Paketen und externen Diensten sowie Implementierung von Schnittstellen und Kapselung externer Abhängigkeiten],
|
||||
[Versions- und Paketpflege, technische Fehleranalyse, Performance-Optimierung und automatisierte Tests],
|
||||
[
|
||||
AssetDownloader für MMS
|
||||
#list( marker: [•], indent: 8pt, body-indent: 4pt, spacing: 6pt,
|
||||
[Steuerung der nahezu vollständig KI-generierten Implementierung auf Basis von Spezifikationen und testgetriebener Entwicklung],
|
||||
[Anforderungserhebung und Konzeption einer eigenständigen .NET-Standard-Kernbibliothek mit separater Unity-Anbindung],
|
||||
[Implementierung paralleler asynchroner Downloads mit Wiederaufnahmefunktion und Cache-Verwaltung],
|
||||
[Testgetriebene Entwicklung mittels NUnit, Moq und HTTP-Mocks für Abbruch, Wiederaufnahme, Dateiintegrität und Cache-Verhalten],
|
||||
)
|
||||
],
|
||||
[
|
||||
Roche – Sicherheitstraining für Laborschleusen
|
||||
#list( marker: [•], indent: 8pt, body-indent: 4pt, spacing: 6pt,
|
||||
[Entwicklung modularer Trainingsabläufe mit zustandsbasierter Ablaufsteuerung und persistenter Lernfortschrittsverwaltung],
|
||||
[Entwicklung von Editor-Werkzeugen zur datengetriebenen Erzeugung von Trainingsinhalten aus strukturierten Kundenvorgaben],
|
||||
[Refactoring bestehender Interaktionskomponenten zur Verbesserung der Wartbarkeit],
|
||||
[Integration als SCORM-Paket in ein Lernsystem und Implementierung einer C\#-/JavaScript-Brücke zur Übertragung der Lernstände],
|
||||
[Automatisierung von WebGL-Builds und Deployments mit GitHub Actions und GameCI],
|
||||
)
|
||||
],
|
||||
[
|
||||
VR-TrainingGenerator
|
||||
#list( marker: [•], indent: 8pt, body-indent: 4pt, spacing: 6pt,
|
||||
[Ausgliederung und Weiterentwicklung eines wiederverwendbaren Unity-Pakets für die Trainingsgenerierung],
|
||||
[Entwicklung eines UI-Toolkit-basierten Editor-Wizards zur konfigurationsgestützten Erzeugung von Trainingsszenen],
|
||||
[CLI-/Batchmode-Verarbeitung und NUnit-Regressionstests],
|
||||
)
|
||||
],
|
||||
[TenneT 2GW Platform: eigene TypeScript-Komponenten für eine mehrsprachige Web-/WebXR-Visualisierung],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Software Entwickler",
|
||||
"Sächsisches Umschulungs- und Fortbildungswerk Dresden",
|
||||
"Dresden",
|
||||
"seit 2026",
|
||||
(
|
||||
[Qualifikation zum Ausbilder nach der Ausbilder-Eignungsverordnung (IHK) erlangt],
|
||||
[
|
||||
Tätigkeitsnachweis-Generator
|
||||
#list(marker: [•], indent: 8pt, body-indent: 4pt, spacing: 6pt,
|
||||
[Offenen Verwaltungsauftrag durch Daten- und Vorlagenanalyse konkretisiert, Geschäftsregeln geklärt und Funktionsumfang über mehrere Iterationen eingegrenzt],
|
||||
[Fachliche Konzeption und Steuerung vollständig KI-generierter Iterationen mit Python, Streamlit, openpyxl und PyMuPDF; Datenzuordnungen, Validierungsregeln und Anforderungen an prüfbare Ausgaben festgelegt],
|
||||
[Excel-Import und Erstellung monatlicher PDF-Tätigkeitsnachweise; erhebliche Verringerung des manuellen Aufwands für die Nachweiserstellung],
|
||||
)
|
||||
],
|
||||
[
|
||||
Anwesenheits-PDF-Generator
|
||||
#list(marker: [•], indent: 8pt, body-indent: 4pt, spacing: 6pt,
|
||||
[Datenmodell, Anwesenheitsstatus sowie Stunden- und Pauschalenregeln in persistenten Agent-Anweisungen spezifiziert; vollständig KI-generierte Umsetzung einer Python-Anwendung gesteuert],
|
||||
[Monatliche Excel-Anwesenheitsdaten mit openpyxl eingelesen und mit pypdf in personalisierte SAB-PDF-Formulare überführt],
|
||||
[Feldzuordnungen und Summenberechnung für die JavaScript-gestützte PDF-Vorlage; Korrektur unsichtbarer Formularfelder und Erzeugung der Darstellung von Summenfeldern ohne JavaScript-Ausführung],
|
||||
[CLI mit Click und grafische Oberfläche mit CustomTkinter; gemeinsame Fachlogik, Hintergrundverarbeitung sowie Eingabevalidierung und Vorschau vor der Generierung],
|
||||
[Unit-Tests für Excel-Import, Feldzuordnungen, Stunden- und Pauschalenberechnung sowie Validierung, einschließlich Praktikums- und Abwesenheitsregeln],
|
||||
[Windows-Paketierung mit PyInstaller und Inno Setup; Versionsprüfung und Update-Hinweise sowie Übernahme aktualisierter Excel-Dateien vom Netzlaufwerk],
|
||||
)
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
#pagebreak()
|
||||
#cv-header(person)
|
||||
|
||||
#section("Ber", "ufserfahrung · Fortsetzung")
|
||||
|
||||
#entry(
|
||||
"Freelance Full-Stack Developer",
|
||||
"Selbständig",
|
||||
"Dresden",
|
||||
"2017–2019",
|
||||
(
|
||||
[Entwicklung von E-Commerce- und Warenwirtschaftssystemen mit PHP, JavaScript und MySQL, unter anderem mit Shopware],
|
||||
[Migration komplexer Systeme und Datenbanken; Einsatz von Linux, Netzwerktechnik und Containerisierung],
|
||||
[Frontend-Entwicklung mit JavaScript-Frameworks sowie technische Beratung],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Hauptentwickler und Projektkoordinator",
|
||||
"VISOR/OProc – Prototype Fund",
|
||||
"Dresden",
|
||||
"2017–2018",
|
||||
(
|
||||
[Anforderungserhebung mit Forschenden der HTW Dresden im BMBF-geförderten Projekt],
|
||||
[Entwurf eines offenen Datenmodells und interaktiver Prozessvisualisierungen mit Preact, Redux, SVG und Dagre],
|
||||
[Priorisierung fachlicher Anforderungen und Koordination der technischen Umsetzung im Projektteam],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Software-Qualitätssicherung – Webentwicklung",
|
||||
"MAGIX Development AG",
|
||||
"Dresden",
|
||||
"2006–2016",
|
||||
(
|
||||
[Automatisierung von GUI-Tests mit SikuliX für Windows-Anwendungen mit WPF- und Qt-5-Oberflächen],
|
||||
[Softwaretest und Qualitätssicherung sowie strukturierte Analyse von Anwendungsfehlern],
|
||||
[Interne Webentwicklungsprojekte, IT-Support und Systemadministration],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Server Support",
|
||||
"Compaq Computer Corporation",
|
||||
"München",
|
||||
"2001–2002",
|
||||
(
|
||||
[Technischer First-Level-Support für Serverprodukte],
|
||||
),
|
||||
)
|
||||
|
||||
#section("Aus", "bildung")
|
||||
|
||||
#entry(
|
||||
"Fachinformatiker für Systemintegration",
|
||||
"BSZET Dresden / MAGIX GmbH",
|
||||
"Dresden",
|
||||
"2003–2006",
|
||||
(
|
||||
[Systemintegration, Anwendungsentwicklung und Geschäftsprozesse],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Technischer Assistent für Automatisierungs- und Computertechnik",
|
||||
"Berufliches Schulzentrum Weißwasser",
|
||||
"Weißwasser",
|
||||
"1997–2000",
|
||||
(
|
||||
[Programmierung, Automatisierungstechnik sowie Hardware- und Softwareentwicklung],
|
||||
[Rechentechnik, Mess- und Regelungstechnik sowie CAD],
|
||||
),
|
||||
)
|
||||
|
||||
#pagebreak()
|
||||
#cv-header(person)
|
||||
|
||||
#section("Tec", "hnische Kenntnisse")
|
||||
|
||||
#skills(above: 8pt, below: 6pt)[
|
||||
#skill("C# & .NET", [
|
||||
C\#, .NET Standard, asynchrone und parallele Verarbeitung,
|
||||
ereignisbasierte Kommunikation, HTTP-Streaming mit HttpClient
|
||||
])
|
||||
#skill("Web & Python", [
|
||||
TypeScript, JavaScript, HTML/CSS, Preact/Redux, Three.js,
|
||||
Python, Django, Streamlit, PHP, Jekyll
|
||||
])
|
||||
#skill("Datenbanken", [SQL, MySQL, SQLite, Datenmodellierung, Datenbankmigrationen, Django ORM])
|
||||
#skill("Agentische Entwicklung", [
|
||||
Copilot Chat in VS Code und Codex; spezifikationsgetriebene Vorgehensweisen mit Spec Kit und BMAD praktisch erprobt;
|
||||
Vorgabe des fachlichen und technischen Kontexts, persistente Agent-Anweisungen und Zerlegung in überprüfbare Arbeitsschritte;
|
||||
eigene Verantwortung für Architekturentscheidungen und Bewertung generierter Ergebnisse anhand fachlicher Vorgaben und Tests
|
||||
])
|
||||
#skill("Architektur & Integration", [
|
||||
Modulare Bibliotheken, Trennung von Kernlogik und Framework-Anbindung,
|
||||
Zustandsmodelle, REST/HTTP, OpenAPI, JSON, XML
|
||||
])
|
||||
#skill("Tests & Qualität", [
|
||||
Testgetriebene Entwicklung, Unit-, Integrations- und Regressionstests,
|
||||
Mocking, NUnit, Moq, Pytest, GUI-Testautomatisierung mit SikuliX
|
||||
])
|
||||
#skill("Delivery & Werkzeuge", [Git, GitHub Actions, GameCI, Docker/Compose, automatisierte Builds und Deployments])
|
||||
#skill("Zusammenarbeit", [Anforderungserhebung, Scrum, Jira, technische Dokumentation])
|
||||
#skill("Infrastruktur & Betrieb", [Linux, Windows, macOS, NixOS, Shell, nginx, Netzwerkdiagnose, Backup und Wiederherstellung])
|
||||
#skill("Lokale KI & Agenten", [
|
||||
lokale Modelle auf eigener Hardware mit LM Studio, GPUStack und Ollama erprobt, unter anderem openai/gpt-oss-20b;
|
||||
Betrieb von Hermes Agent auf einem lokalen TrueNAS-Server, unter anderem zur Stellensuche – darüber auf die Ausschreibung von parcel24box aufmerksam geworden
|
||||
])
|
||||
#skill("Hardware & Embedded", [C++ in Arduino und ESP8266, CoreBoot])
|
||||
]
|
||||
|
||||
#section("Eng", "agement & Mentoring")
|
||||
|
||||
#entry(
|
||||
"Mentor & Jury-Mitglied",
|
||||
"Jugend hackt Dresden",
|
||||
"Dresden",
|
||||
"seit 2015",
|
||||
(
|
||||
[Mentoring bei Coding-Projekten und Jury-Tätigkeit bei Hackathons],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Dozent & Workshop-Leiter",
|
||||
"Chaos macht Schule",
|
||||
"Sachsen",
|
||||
"2014–2018",
|
||||
(
|
||||
[Programmier-Workshops sowie Vermittlung von Datenschutz und IT-Sicherheit an Schulen],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Lead",
|
||||
"Open Data Dresden",
|
||||
"Dresden",
|
||||
"2014–2021",
|
||||
(
|
||||
[Organisation von Community-Aktivitäten und Open-Data-Projekten; Gründung eines Open-Data-Labs mit der Open Knowledge Foundation],
|
||||
),
|
||||
)
|
||||
|
||||
#entry(
|
||||
"Speaker",
|
||||
"Web Montag Dresden, CCC Veranstaltungen",
|
||||
"Dresden",
|
||||
"2012–2019",
|
||||
(
|
||||
[Vorträge zu Webentwicklung und IT-Trends sowie Wissensaustausch in der Developer-Community],
|
||||
),
|
||||
)
|
||||
|
||||
#section("Per", "sönliches")
|
||||
|
||||
#v(0.5em)
|
||||
|
||||
#set text(font: "Source Sans Pro", size: 9pt, weight: 300, fill: ink)
|
||||
Meine Familie ist mein wichtigster Rückhalt. In meiner Freizeit zieht es mich in die Berge oder aufs Wasser; außerdem widme ich mich gern der Musik. Neue Technologien erschließe ich mir auch autodidaktisch. Im Team schätze ich offenen, respektvollen Austausch und unterschiedliche Perspektiven.
|
||||
|
||||
#section("Rah", "menbedingungen")
|
||||
|
||||
#v(0.5em)
|
||||
|
||||
Frühestmöglicher Eintrittstermin: *1. Oktober 2026*\
|
||||
Gehaltsvorstellung: *60.000 € brutto jährlich* bei einer *40-Stunden-Woche*
|
||||
@@ -11,8 +11,8 @@ COVERLETTER_SRC := Wartenberg-Robert-Anschreiben.typ
|
||||
CV_SRC := Wartenberg-Robert-Lebenslauf.typ
|
||||
|
||||
# Leerzeichen schützen, sowohl für Make als auch für die Shell.
|
||||
COVERLETTER_PATHS := Admin/$(COVERLETTER_SRC) Senior\ Developer/$(COVERLETTER_SRC)
|
||||
CV_PATHS := Admin/$(CV_SRC) Senior\ Developer/$(CV_SRC)
|
||||
COVERLETTER_PATHS := Admin/$(COVERLETTER_SRC) Senior\ Developer/$(COVERLETTER_SRC) Agentic\ Coding\ Engineer/$(COVERLETTER_SRC)
|
||||
CV_PATHS := Admin/$(CV_SRC) Senior\ Developer/$(CV_SRC) Agentic\ Coding\ Engineer/$(CV_SRC)
|
||||
SOURCES := $(COVERLETTER_PATHS) $(CV_PATHS)
|
||||
PDFS := $(SOURCES:.typ=.pdf)
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ Dieser Ordner ist unabhängig von den LaTeX-Quellen im übergeordneten Projekt.
|
||||
Er enthält die Typst-Dokumente, die gemeinsame Vorlage, alle benötigten Schriften
|
||||
und die Unterschrift.
|
||||
|
||||
Die beiden unabhängig bearbeitbaren Varianten liegen in `Admin/` und
|
||||
`Senior Developer/`. Jedes Verzeichnis enthält ein Anschreiben und einen
|
||||
Lebenslauf als `.typ` sowie die daraus erzeugten PDFs. Beide Varianten wurden
|
||||
zunächst mit den bestehenden Entwicklertexten angelegt; die Admin-Texte können
|
||||
anschließend angepasst werden.
|
||||
Die drei unabhängig bearbeitbaren Varianten liegen in `Admin/`,
|
||||
`Senior Developer/` und `Agentic Coding Engineer/`. Jedes Verzeichnis enthält
|
||||
ein Anschreiben und einen Lebenslauf als `.typ` sowie die daraus erzeugten PDFs.
|
||||
Für die Bewerbung als Agentic Coding Engineer bei parcel24box enthält der
|
||||
Lebenslauf auch die relevanten Informationen aus dem Anschreiben, da laut
|
||||
Stellenausschreibung kein Anschreiben eingereicht werden soll.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
@@ -24,18 +25,19 @@ Im Ordner `07_bewerbung-typst`:
|
||||
make all
|
||||
```
|
||||
|
||||
Die vier Ergebnisse liegen direkt neben ihren Typst-Quelldateien in `Admin/`
|
||||
und `Senior Developer/` und tragen denselben Namen mit der Endung `.pdf`.
|
||||
Die sechs Ergebnisse liegen direkt neben ihren Typst-Quelldateien in `Admin/`,
|
||||
`Senior Developer/` und `Agentic Coding Engineer/` und tragen denselben Namen mit der Endung `.pdf`.
|
||||
Die PDFs werden von Git ignoriert.
|
||||
|
||||
`make all` baut fehlende oder veraltete PDFs. Auch `make` ohne Argumente führt
|
||||
dieses Ziel aus. `make clean` entfernt die vier erzeugten PDFs.
|
||||
dieses Ziel aus. `make clean` entfernt die sechs erzeugten PDFs.
|
||||
|
||||
## Dateien umbenennen
|
||||
|
||||
Die gemeinsamen Quelldateinamen stehen ausschließlich in den Variablen
|
||||
`COVERLETTER_SRC` und `CV_SRC` am Anfang des `Makefile`.
|
||||
Nach einer Umbenennung in beiden Rollenverzeichnissen diese Angaben entsprechend anpassen.
|
||||
Nach einer Umbenennung in den Rollenverzeichnissen diese Angaben entsprechend anpassen.
|
||||
Neue Rollenverzeichnisse in `COVERLETTER_PATHS` und `CV_PATHS` ergänzen.
|
||||
Build, Watch-Modus und PDF-Namen verwenden automatisch diese Konfiguration.
|
||||
Einen laufenden Watch-Modus nach Änderungen am Makefile neu starten.
|
||||
|
||||
@@ -49,24 +51,24 @@ make -nB all
|
||||
|
||||
## Automatisch bei Änderungen bauen
|
||||
|
||||
Der Watch-Modus baut beim Start alle vier Dokumente und überwacht anschließend
|
||||
Der Watch-Modus baut beim Start alle sechs Dokumente und überwacht anschließend
|
||||
ihre Quellen einschließlich der importierten Vorlagen. Bei Änderungen werden
|
||||
nur die betroffenen PDFs neu erzeugt; Änderungen an `personal.typ` oder
|
||||
`template.typ` betreffen alle vier Dokumente:
|
||||
`template.typ` betreffen alle sechs Dokumente:
|
||||
|
||||
```sh
|
||||
make watch
|
||||
```
|
||||
|
||||
Die Überwachung läuft, bis sie mit `Ctrl+C` beendet wird. Dabei werden alle
|
||||
vier Watch-Prozesse beendet. Die drei Befehle sind `make all`, `make clean`
|
||||
sechs Watch-Prozesse beendet. Die drei Befehle sind `make all`, `make clean`
|
||||
und `make watch`.
|
||||
`watch.py` bündelt die Ausgabe zeilenweise und stellt jeder Meldung den
|
||||
Dokumentpfad voran, damit gleichzeitige Status- und Fehlermeldungen lesbar bleiben.
|
||||
|
||||
Gemeinsame Kontaktdaten werden in `personal.typ` gepflegt. Farben, Kopf- und
|
||||
Fußzeilen sowie wiederverwendbare CV-Komponenten stehen in `template.typ`.
|
||||
Diese Dateien sowie `fonts/` und `assets/` werden von beiden Varianten gemeinsam
|
||||
Diese Dateien sowie `fonts/` und `assets/` werden von allen Varianten gemeinsam
|
||||
verwendet. Das Makefile setzt `--root .`, damit Typst aus den Unterverzeichnissen
|
||||
auf diese Ressourcen zugreifen kann.
|
||||
`personal.typ` und `template.typ` müssen deshalb im Typst-Hauptverzeichnis bleiben.
|
||||
Reference in new issue
Block a user