Compare commits

..
6 Commits
Author SHA1 Message Date
trnq1ll0 63e4a73570 IBH Bewerbung final 2026-08-05 17:19:06 +02:00
trnq1ll0 f0bab51f1c gitignore *.log 2026-08-04 13:03:45 +02:00
trnq1ll0 df6e410e0e bugfix 2026-08-04 13:03:29 +02:00
trnq1ll0 0451958ed4 IBH Dresden Bewerbung erweitert 2026-08-04 13:02:24 +02:00
trnq1ll0 6fce81a910 Einstellungen für IBH Dresden Bewerbung und Make Befehl erweitert 2026-08-04 12:33:21 +02:00
trnq1ll0 4723b23600 add: Django projekts to KB 2026-08-01 09:31:32 +02:00
12 changed files with 209 additions and 50 deletions

No files matched your search

+2
View File
@@ -1,3 +1,5 @@
*.pdf *.pdf
latex/build/ latex/build/
temp temp
*.log
.DS_Store
+23
View File
@@ -0,0 +1,23 @@
{
"chat.byokUtilityModelDefault": "mainAgent",
"latex-workshop.latex.tools": [
{
"name": "make",
"command": "make",
"args": [],
"cwd": "%WORKSPACE_FOLDER%"
}
],
"latex-workshop.latex.recipes": [
{
"name": "make",
"tools": [
"make"
]
}
],
"latex-workshop.latex.recipe.default": "make",
"latex-workshop.latex.build.enableMagicComments": true,
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.latex.outDir": "%WORKSPACE_FOLDER%"
}
+20 -3
View File
@@ -1,14 +1,28 @@
.PHONY: all coverletter cv clean .DEFAULT_GOAL := help
.PHONY: help all coverletter cv application clean
LATEX = TEXINPUTS=latex//: xelatex LATEX = TEXINPUTS=latex//: xelatex
PDF_MERGE = qpdf
BUILD_DIR = latex/build BUILD_DIR = latex/build
APPLICATION_PDF = Bewerbung_Entwickler_Robert_Wartenberg.pdf
all: coverletter cv help:
@echo "Verfuegbare Befehle:"
@echo " make all Anschreiben, CV und Gesamt-PDF erzeugen"
@echo " make application Gesamt-PDF samt erforderlicher Einzel-PDFs erzeugen"
@echo " make coverletter Nur das Anschreiben erzeugen"
@echo " make cv Nur den Lebenslauf erzeugen"
@echo " make clean Alle erzeugten PDF- und Build-Dateien entfernen"
all: application
coverletter: coverletter.pdf coverletter: coverletter.pdf
cv: cv.pdf cv: cv.pdf
application: $(APPLICATION_PDF)
coverletter.pdf: latex/coverletter.tex letters/coverletter.tex latex/personal.tex latex/awesome-cv.cls latex/fontawesome.sty coverletter.pdf: latex/coverletter.tex letters/coverletter.tex latex/personal.tex latex/awesome-cv.cls latex/fontawesome.sty
@mkdir -p $(BUILD_DIR) @mkdir -p $(BUILD_DIR)
@@ -20,5 +34,8 @@ cv.pdf: latex/cv.tex letters/cv.tex latex/personal.tex latex/awesome-cv.cls late
$(LATEX) -interaction=nonstopmode -halt-on-error -output-directory=$(BUILD_DIR) $< $(LATEX) -interaction=nonstopmode -halt-on-error -output-directory=$(BUILD_DIR) $<
mv $(BUILD_DIR)/cv.pdf $@ mv $(BUILD_DIR)/cv.pdf $@
$(APPLICATION_PDF): coverletter.pdf cv.pdf Makefile
$(PDF_MERGE) --empty --pages coverletter.pdf cv.pdf -- $@
clean: clean:
rm -rf $(BUILD_DIR) coverletter.pdf cv.pdf rm -rf $(BUILD_DIR) coverletter.pdf cv.pdf $(APPLICATION_PDF)
+16 -5
View File
@@ -2,10 +2,10 @@
## Struktur ## Struktur
- `letters/coverletter.tex` enthaelt nur den an das Unternehmen angepassten Inhalt des Anschreibens. - `letters/coverletter.tex` Anschreibens.
- `letters/cv.tex` enthaelt nur den Inhalt des Lebenslaufs. - `letters/cv.tex` Lebenslaufs.
- `latex/` enthaelt die gemeinsame Vorlage, Stammdaten, Fonts und alle beim Build erzeugten Hilfsdateien. - `latex/` gemeinsame Vorlage, Stammdaten, Fonts und alle beim Build erzeugten Hilfsdateien.
- `coverletter.pdf` und `cv.pdf` werden im Wurzelverzeichnis erzeugt. - alle PDFs werden im Wurzelverzeichnis erzeugt.
Die gemeinsamen Angaben wie Name, Kontaktdaten und Akzentfarbe stehen in `latex/personal.tex`. Die gemeinsamen Angaben wie Name, Kontaktdaten und Akzentfarbe stehen in `latex/personal.tex`.
@@ -13,6 +13,15 @@ Die gemeinsamen Angaben wie Name, Kontaktdaten und Akzentfarbe stehen in `latex/
Im Verzeichnis `bewerbung-latex2` ausfuehren: Im Verzeichnis `bewerbung-latex2` ausfuehren:
```sh
make all
```
Dabei werden zuerst Anschreiben und Lebenslauf gebaut und anschliessend in dieser
Reihenfolge zur vollstaendigen Bewerbungs-PDF zusammengefuehrt.
Eine Uebersicht aller verfuegbaren Befehle zeigt:
```sh ```sh
make make
``` ```
@@ -22,6 +31,7 @@ Einzeln erzeugen:
```sh ```sh
make coverletter make coverletter
make cv make cv
make application
``` ```
Alle erzeugten Dateien entfernen: Alle erzeugten Dateien entfernen:
@@ -30,4 +40,5 @@ Alle erzeugten Dateien entfernen:
make clean make clean
``` ```
Voraussetzung ist eine XeLaTeX-Installation, zum Beispiel MacTeX auf macOS. Voraussetzungen sind eine XeLaTeX-Installation, zum Beispiel MacTeX auf macOS,
und `qpdf` zum Zusammenfuehren der PDF-Dateien.
+26
View File
@@ -58,6 +58,32 @@ Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den
- Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux. - Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux.
- Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux. - Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux.
## Django-Lernprojekt mit Umfrage- und Blog-App
- Zeitraum: 20. bis 28. Juni 2018
- Quelle: `/Volumes/rob/code/django-first-app`.
- Kontext: Schrittweiser Aufbau einer Django-Webanwendung mit den Apps `polls` und `blog` zum Erlernen der zentralen Framework-Konzepte.
- Herausforderungen: Strukturierung von Projekt und Apps; Verknüpfung verschachtelter URL-Konfigurationen; Modellierung und Abfrage relationaler Daten; Verarbeitung von Formular-POSTs sowie Trennung von Darstellung und Anwendungslogik.
- Lösungen: Django-ORM-Modelle `Question` und `Choice` mit Fremdschlüssel und Migration; SQLite als Entwicklungsdatenbank; Registrierung der Modelle im Django-Admin; funktionsbasierte und generische `ListView`-/`DetailView`-Ansichten; Templates und Kontextvariablen; Namespaces, `get_object_or_404`, `reverse` und Redirect-after-POST für den Abstimmungsablauf.
## info.ngo – Django-CMS-Prototyp
- Zeitraum: Juli 2019, belegt durch die Projektdateien vom 30. Juli 2019.
- Quelle: lokales Projektverzeichnis `/Volumes/rob/code/django-cms/info.ngo`.
- Kontext: Prototyp einer redaktionell pflegbaren Website auf Basis von Django CMS 3.6 und Django 1.x.
- Herausforderungen: Aufbau frei editierbarer Seitenlayouts; Integration eines umfangreichen CMS-Plugin-Ökosystems; Navigation, Sitemap sowie konsistente Verwaltung von statischen Dateien und Medien.
- Lösungen: Django-CMS-Templates mit Toolbar, Menüs, Sekizai-Blöcken und Platzhaltern für Vollbreiten- und Sidebar-Layouts; CMS-Sitemap und Django-Admin; SQLite-Datenbank; Plugins für CKEditor-Text, Links, Bilder, Dateien, Spalten, Styles, Snippets, Google Maps und Videos sowie `django-filer`, `easy-thumbnails`, Treebeard und MPTT.
## info.ngo – Event-, Karten- und Datenplattform
- Zeitraum: Juli bis August 2019; Teamprojekt mit eigenen, durch Git belegten Beiträgen vom 30. Juli bis 27. August 2019.
- Quellen: Git-Repository `/Volumes/rob/code/info.ngo/info.ngo`, Django-Anwendung `/Volumes/rob/code/info.ngo/info.ngo/InfoNgo_django` und Wiederaufbaukopie `/Volumes/rob/code/info.ngo/rebuild-rob/InfoNgo_django`.
- Kontext: Gemeinsame Entwicklung einer Python- und Django-Plattform zur Gewinnung, Normalisierung, Speicherung, Filterung und kartografischen Darstellung von Veranstaltungs- und Stiftungsinformationen.
- Eigene belegte Beiträge: Abruf und Parsing der Stiftungssuche; Einlesen von Thunderbird-Mailboxen und Grundstruktur eines Mail-Parsers; Weiterentwicklung der Kalenderdaten-Auswertung; Dokumentation und Zusammenführung von Teamänderungen.
- Herausforderungen: Heterogene Websites, HTML-Seiten und E-Mail-Formate; unregelmäßige Datumsangaben; Vermeidung doppelter Events und Orte; Geokodierung und räumliche Darstellung; gemeinsames Filtern und Paginieren; Überführung eigenständiger Scraper in eine Webanwendung bei weiter möglicher Standalone-Ausführung.
- Lösungen: Requests, Beautiful Soup, `lxml`/`html5lib`, Python-`mailbox` und MIME-Verarbeitung sowie CSV-Ausgabe für die Datenerfassung; Django-2.1-Anwendung mit ORM-Modellen für Events und Locations, Migrationen, Many-to-many-Beziehung, eindeutigen Feldern und transaktionaler Importlogik; Factory-/Service-Layer zur JSON-Serialisierung und DB-Übernahme; Geokodierung mit Geopy und GeoJSON-Punkte mit `djgeojson`; Listenansicht mit `django-filter`, Datumsbereichsfilter und Paginierung; Leaflet-Karte mit zeitabhängig eingefärbten Material-Markern; Django-Templates, Authentifizierung, Crispy Forms, Bootstrap und jQuery; MySQL-Konfiguration mit SQLite-Sicherung sowie Python-3.7-/Conda-Umgebung und vorbereiteten Abhängigkeiten für PostgreSQL, Gunicorn, WhiteNoise, Heroku und S3-Speicher.
- Varianten: Die Wiederaufbaukopie enthält denselben grundlegenden Django-, App- und Service-Layer; die Hauptvariante erweitert sie um dynamische Popup-Inhalte, zeitabhängige Farbwerte und Material-Icons für Leaflet-Marker.
## WLAN-gesteuerter LED-Rahmen ## WLAN-gesteuerter LED-Rahmen
- Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository. - Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository.
+43 -3
View File
@@ -134,9 +134,49 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
### Python ### Python
- Komplexität: Entwicklung eines konfigurationsgesteuerten Migrationswerkzeugs mit API-Anbindung, Datenkonvertierung und Dateiverarbeitung. - Komplexität: Entwicklung von Web-, Scraping-, Datenmigrations- und Automatisierungswerkzeugen mit API-Anbindung, Datenkonvertierung und Dateiverarbeitung.
- Einsatz: Abruf eines MediaWiki über dessen API, HTML-zu-Markdown-Konvertierung, Download von Bildern, Erzeugung von Metadaten und interaktive Link-Konvertierung. - Einsatz:
- Projekt: MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024. - Abruf eines MediaWiki über dessen API, HTML-zu-Markdown-Konvertierung, Download von Bildern, Erzeugung von Metadaten und interaktive Link-Konvertierung;
- Web-Scraping, Mailbox-/MIME-Verarbeitung, Datumsnormalisierung und CSV-Ausgabe für Veranstaltungs- und Stiftungsdaten.
- Projekte:
- MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024;
- eigene Beiträge zum Teamprojekt `info.ngo`, belegt durch Commits von Juli bis August 2019.
### Django, Django ORM und Django CMS
- Komplexität: Vom schrittweisen Framework-Lernprojekt über einen CMS-Prototyp bis zu einer mehrschichtigen, datengetriebenen Webanwendung.
- Einsatz: Projekt- und App-Struktur, URL-Routing, ORM-Modelle und Migrationen, Admin, Authentifizierung, funktionsbasierte und generische Views, Formulare, Templates, statische Dateien und Medien; Django-CMS-Seiten mit Toolbar, Navigation, Sekizai-Blöcken, editierbaren Platzhaltern und Plugin-Konfiguration.
- Projekte: Eigenes Django-Lernprojekt `django-first-app` im Juni 2018; Django-CMS-Prototyp `/Volumes/rob/code/django-cms/info.ngo` im Juli 2019; Teamprojekt `info.ngo` im Juli und August 2019.
### Requests, Beautiful Soup, lxml und E-Mail-Parsing
- Komplexität: Gewinnung und Normalisierung semistrukturierter Daten aus mehreren Web- und Nachrichtenquellen.
- Einsatz: HTTP-GET- und POST-Abrufe; HTML-Parsing mit Beautiful Soup sowie `lxml` und `html5lib`; Behandlung unregelmäßiger Datumsangaben; CSV-Export; Einlesen von Thunderbird-Mailboxen und Dekodierung von MIME-Inhalten; Vorbereitung der Daten für eine Django-Importpipeline.
- Projekt: Eigene Beiträge zum Teamprojekt `info.ngo`, belegt durch Git-Commits vom 30. Juli bis 27. August 2019.
### django-filter, Paginierung und transaktionaler Datenimport
- Komplexität: Durchgängige Verarbeitung von extern gewonnenen Daten bis zur filterbaren, seitenweise dargestellten Webansicht.
- Einsatz: Filterung von Events nach Titel, Datumsbereich und Veranstaltungsort; Erhalt der Filterparameter beim Seitenwechsel; Django-Paginator; Factory-/Service-Layer mit JSON-Serialisierung; atomare ORM-Operationen und Behandlung von Integritätsfehlern zur Vermeidung von Duplikaten.
- Projekt: Teamprojekt `info.ngo`, Juli bis August 2019.
### Leaflet, GeoJSON, Geopy und interaktive Karten
- Komplexität: Geokodierung, Speicherung und browserseitige Visualisierung räumlicher Veranstaltungsdaten.
- Einsatz: Ermittlung von Koordinaten aus Ortsangaben mit Geopy; GeoJSON-Punktfelder über `djgeojson`; Ausgabe von Modelldaten als GeoJSON; Leaflet-Karte mit Popups, ein- und ausblendbarer Kartenansicht sowie zeitabhängig eingefärbten Material-Markern.
- Projekt: Teamprojekt `info.ngo`, Juli bis August 2019.
### Django-Templates, Bootstrap und jQuery
- Komplexität: Serverseitig gerenderte, interaktive Weboberfläche mit Formularen, Authentifizierung, Filtern und Kartendarstellung.
- Einsatz: Template-Vererbung und statische Assets; Bootstrap-Layouts, Formulare und Toggles; Crispy Forms; jQuery-basierte UI-Steuerung und Validierung; Einbindung von Leaflet und Material Icons.
- Projekt: Teamprojekt `info.ngo`, Juli bis August 2019.
### MySQL, SQLite, Conda und Python-Web-Deployment
- Komplexität: Entwicklungs-, Datenbank- und Laufzeitkonfiguration einer Django-Anwendung für lokale und serverseitige Umgebungen.
- Einsatz: MySQL als konfigurierte Anwendungsdatenbank; SQLite für Lernprojekt, CMS-Prototyp und Sicherung; reproduzierbare Python-3.7-Umgebung mit Conda und gepinnten Paketen; vorbereitete Abhängigkeiten für PostgreSQL, Gunicorn, WhiteNoise, Heroku sowie S3-kompatiblen Speicher mit `django-storages` und Boto3.
- Projekte: `django-first-app`, Django-CMS-Prototyp `info.ngo` und Teamprojekt `info.ngo`, 2018 bis 2019.
### MediaWiki-API, Requests, Beautiful Soup und html2text ### MediaWiki-API, Requests, Beautiful Soup und html2text
+1 -1
View File
@@ -397,7 +397,7 @@
\newcommand{\acvHeaderAfterAddressSkip}{-.5mm} \newcommand{\acvHeaderAfterAddressSkip}{-.5mm}
\newcommand{\acvHeaderIconSep}{\space} \newcommand{\acvHeaderIconSep}{\space}
\newcommand{\acvHeaderSocialSep}{\quad\textbar\quad} \newcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
\newcommand{\acvHeaderAfterSocialSkip}{6mm} \newcommand{\acvHeaderAfterSocialSkip}{2mm}
\newcommand{\acvHeaderAfterQuoteSkip}{5mm} \newcommand{\acvHeaderAfterQuoteSkip}{5mm}
% Others % Others
-1
View File
@@ -1,4 +1,3 @@
%!TEX TS-program = xelatex
\documentclass[11pt,a4paper]{awesome-cv} \documentclass[11pt,a4paper]{awesome-cv}
\geometry{left=2cm,top=.8cm,right=2cm,bottom=1.8cm,footskip=.5cm} \geometry{left=2cm,top=.8cm,right=2cm,bottom=1.8cm,footskip=.5cm}
-1
View File
@@ -1,4 +1,3 @@
%!TEX TS-program = xelatex
\documentclass[11pt,a4paper]{awesome-cv} \documentclass[11pt,a4paper]{awesome-cv}
\geometry{left=1.4cm,top=.8cm,right=1.4cm,bottom=1.8cm,footskip=.5cm} \geometry{left=1.4cm,top=.8cm,right=1.4cm,bottom=1.8cm,footskip=.5cm}
+2 -2
View File
@@ -1,7 +1,7 @@
% Gemeinsame Stammdaten fuer Anschreiben und Lebenslauf. % Gemeinsame Stammdaten fuer Anschreiben und Lebenslauf.
\name{Robert}{Wartenberg} \name{Robert}{Wartenberg}
\position{Entwickler{\enskip\cdotp\enskip}Software Engineer{\enskip\cdotp\enskip}Automatisierungstechnologe} \position{Software Engineering{\enskip\cdotp\enskip}FullStack-Development{\enskip\cdotp\enskip}Systemadministration}
\address{Robert-Matzke-Stra\ss e 43, 01127 Dresden} \address{Robert-Matzke-Straße 43, 01127 Dresden}
\mobile{(+49) 152 085 166 33} \mobile{(+49) 152 085 166 33}
\email{rw@boogiedev.net} \email{rw@boogiedev.net}
\github{RobTranquillo} \github{RobTranquillo}
+9 -8
View File
@@ -1,23 +1,24 @@
% !TEX root = ../latex/coverletter.tex
\recipient \recipient
{IBH connect GmbH} {IBH connect GmbH}
{Heilbronner Stra\ss e 20 \\ 01189 Dresden} {Heilbronner Straße 20 \\ 01189 Dresden}
\letterdate{\today} \letterdate{\today}
\lettertitle{Bewerbung als Entwickler (m/w/d)} \lettertitle{Bewerbung als Entwickler im DataCenter-Team}
\letteropening{Sehr geehrter Herr Bierstedt,} \letteropening{Sehr geehrter Herr Bierstedt,}
\letterclosing{Mit freundlichen Gr\"u\ss en,} \letterclosing{Mit freundlichen Grüßen,}
\makelettertitle \makelettertitle
\begin{cvletter} \begin{cvletter}
Softwareentwicklung begleitet mich seit fast 30 Jahren: zun\"achst aus pers\"onlicher Begeisterung, heute als Beruf und Leidenschaft zugleich. Besonders motiviert mich die Entwicklung von Werkzeugen, die wiederkehrende Abl\"aufe zuverl\"assig automatisieren, Systeme sinnvoll vernetzen und den Arbeitsalltag sp\"urbar erleichtern. Die Verbindung aus Rechenzentrumsbetrieb, Schnittstellenprogrammierung und Prozessautomatisierung bei der IBH connect GmbH spricht mich besonders an. Softwareentwicklung begleitet mich seit fast 30 Jahren. Zunächst aus persönlicher Begeisterung, heute als Beruf und Leidenschaft zugleich. Die Verbindung aus Rechenzentrumsbetrieb, Schnittstellenprogrammierung und Prozessautomatisierung bei der IBH connect GmbH spricht mich besonders an und motiviert mich sehr zu dieser Bewerbung.
Seit fast sieben Jahren konzipiere, entwickle und betreue ich komplexe Anwendungen. Mein Schwerpunkt liegt dabei auf interaktiven VR-/AR-Anwendungen mit C\# in der GameEngine Unity3D; zugleich geh\"oren die Integration und Kapselung unterschiedlicher Plattform-SDKs, Schnittstellen, Datenformate sowie interner und externer Services zu meinem Arbeitsalltag. Dabei l\"ose ich technische Herausforderungen wie Multi-Target-Unity-Projekte aus einer Codebasis, Client-Server-Kommunikation und Performance-Optimierungen auf den Zielger\"aten. Diese Erfahrung m\"ochte ich einsetzen, um interne und externe Tools weiterzuentwickeln und Ihre Systeme robust miteinander zu verbinden. Für die IBH bringe ich langjährige Python-Erfahrung mit, die ich für verschiedenste Aufgaben auf Server und Desktop einsetze. Geschäftlich wie privat nutze ich sowohl POSIX-Shell-Skripte in unterschiedlichsten Linux-Distributionen als auch Docker und kleine, selbstgehostete Cloud-Lösungen. Server konfiguriere ich gern auch deskriptiv mit Nix oder visuell mit TrueNAS. Mit Ansible habe ich bisher noch nicht gearbeitet, jedoch ist mir Container-Orchestrierung von Docker Compose bekannt. In ersten Lernprojekten konnte ich zudem bereits mit Django und Rust arbeiten – insbesondere Letzteres beobachte ich seit Langem mit großem Interesse und freue mich darauf, die Sprache professionell einsetzen zu können. Als ehemaliger Lead (bis 2021) der Open-Data-Initiative in Dresden und Linux-Fan sind mir Open-Source-Beiträge ebenfalls selbstverständlich; meine Beiträge sind über mein GitHub-Profil in der Kopfzeile einsehbar.
Aus meiner Ausbildung zum Fachinformatiker f\"ur Systemintegration sowie meiner T\"atigkeit in IT-Support, Test und Systemadministration bringe ich ein ausgepr\"agtes Verst\"andnis f\"ur Betrieb, Infrastruktur und zuverl\"assige Abl\"aufe mit. Erg\"anzend zu C\# arbeite ich mit Python, Git, Docker, Linux und REST-APIs. In privaten Infrastrukturprojekten automatisiere ich seit mehreren Jahren Backups und Betriebsabl\"aufe mit Shell-Skripten, rsync \"uber SSH, Restic, systemd-Timern und Docker. Dazu geh\"ort unter anderem der Betrieb eines modular konfigurierten NixOS-Servers mit Nextcloud. Die technischen Grundlagen von Rust sind mir vertraut; bislang habe ich damit ein kleines privates 3D-Projekt umgesetzt. Durch meine Erfahrung in Webentwicklung und Full-Stack-Projekten kann ich mich sowohl im Backend als auch bei Bedarf im Frontend einbringen. Neue Technologien und Programmiersprachen erschlie\ss e ich mir kontinuierlich und mit gro\ss er Neugier. Seit 2019 entwickle ich hauptberuflich professionell VR-/AR-Anwendungen mit C\# in Unity3D. Meine Schwerpunkte liegen dabei auf Editor-Tooling zur Automatisierung von Produktionsabläufen, der Integration von SDKs und Paketen sowie dem Design von Schnittstellen und Datenformaten. Darüber hinaus verantworte ich Multi-Target-Builds, Client-Server-Kommunikation, Performance-Optimierung und CI/CD-Pipelines. Webbasierte Projekte realisiere ich mit HTML/JavaScript und Jekyll/Liquid.
Besonders interessiert mich Softwarearchitektur und die Frage, wie Systeme langfristig wartbar, erweiterbar und verst\"andlich bleiben. Clean Code, SOLID-Prinzipien und die Weiterentwicklung bestehender Systeme pr\"agen daher meine Arbeit. Den fachlichen Austausch im Team sch\"atze ich sehr und arbeite gerne gemeinsam an tragf\"ahigen L\"osungen f\"ur komplexe technische Fragestellungen. Meine Ausbildungen sowie Tätigkeiten in IT-Support, Test, Full-Stack-Development und Systemadministration ermöglichen es mir, in neuen Umgebungen schnell produktiv sein zu können. Dank Full-Stack-Erfahrung bin ich im Backend, Frontend oder in der Toolentwicklung einsetzbar und erschließe mir neue Technologien mit großer Neugier. In der Softwarearchitektur selbst treibt mich die Frage, wie Systeme langfristig wartbar, erweiterbar und verständlich bleiben können. Clean Code, SOLID-Prinzipien und die Weiterentwicklung bestehender Systeme prägen daher meine Arbeit. Den persönlichen und fachlichen Austausch im Team schätze ich sehr und arbeite gerne gemeinsam an tragfähigen Lösungen für komplexe technische Fragestellungen.
Meine Gehaltsvorstellung liegt bei 5.300 Euro brutto monatlich auf Basis einer 40-Stunden-Woche. Mein fr\"uhestm\"oglicher Eintrittstermin ist der 1. Oktober 2026. Ich freue mich darauf, Sie und Ihr Team in einem pers\"onlichen Gespr\"ach kennenzulernen. Meine Gehaltsvorstellung liegt bei 4.600 Euro brutto monatlich auf Basis einer 40-Stunden-Woche. Mein frühestmöglicher Eintrittstermin ist der 1. Oktober 2026. Ich freue mich darauf, Sie und Ihr Team in einem persönlichen Gespräch kennenzulernen.
\end{cvletter} \end{cvletter}
\vspace{0.1mm} \vspace{0.1mm}
+67 -26
View File
@@ -1,3 +1,4 @@
% !TEX root = ../latex/cv.tex
\quote{``Be the change that you want to see in the world."} \quote{``Be the change that you want to see in the world."}
%------------------------------------------------------------------------------- %-------------------------------------------------------------------------------
@@ -106,13 +107,13 @@
%--------------------------------------------------------- %---------------------------------------------------------
\cventry \cventry
{Fachinformatiker für Systemintegration} % Degree {BSZET Dresden / MAGIX} % Degree
{BSZET Dresden / MAGIX} % Institution {Fachinformatiker für Systemintegration} % Institution
{Dresden} % Location {Dresden} % Location
{2003 - 2006} % Date(s) {2003 - 2006} % Date(s)
{ {
\begin{cvitems} % Description(s) bullet points \begin{cvitems} % Description(s) bullet points
\item {Schwerpunkt: Softwaretest und Systemintegration} \item {Schwerpunkt: Softwaretest, Systemintegration, Virtualisierung}
\item {Ausbildungsbetrieb: MAGIX AG} \item {Ausbildungsbetrieb: MAGIX AG}
\end{cvitems} \end{cvitems}
} }
@@ -121,13 +122,13 @@
%--------------------------------------------------------- %---------------------------------------------------------
\cventry \cventry
{Technischer Assistent für Automatisierungs- und Computertechnik} % Degree
{Berufliches Schulzentrum Weißwasser} % Institution {Berufliches Schulzentrum Weißwasser} % Institution
{Technischer Assistent für Automatisierungs- und Computertechnik} % Degree
{Weißwasser} % Location {Weißwasser} % Location
{1997 - 2000} % Date(s) {1997 - 2000} % Date(s)
{ {
\begin{cvitems} % Description(s) bullet points \begin{cvitems} % Description(s) bullet points
\item {Grundlagen der Programmierung und Automatisierungstechnik} \item {Grundlagen der Rechentechnik, Mess- und Regelungstechnik, Programmierung und Automatisierungstechnik}
\item {Hardware- und Softwareentwicklung} \item {Hardware- und Softwareentwicklung}
\end{cvitems} \end{cvitems}
} }
@@ -172,35 +173,44 @@
\begin{cvskills} \begin{cvskills}
%--------------------------------------------------------- %---------------------------------------------------------
\cvskill \cvskill
{Tools \& Systeme} % Category {Programmiersprachen} % Category
{Git, Docker, Linux: Debian-Server, Fedora (privat), NixOS, FreeBSD, CentOS; POSIX Shell, systemd, rsync/SSH, Restic, Windows, macOS, Netzwerk, Systemadministration, Jira, VS Code} % Skills {C\#, JavaScript, PHP, SQL, CSS3, HTML5, Python, Arduino C++, Rust} % Skills
%---------------------------------------------------------
\cvskill
{Extended Reality} % Category
{Unity, C\#, OpenXR, Mindport VR Builder, Needle Engine, Meta Quest SDK, Android \& iOS, 3D Vista} % Skills
%--------------------------------------------------------- %---------------------------------------------------------
\cvskill \cvskill
{3D Bearbeitung} % Category {Web Development} % Category
{OpenSCAD, 3D-Druck, Blender, OpenGL, 3ds Max} % Skills {CRUD/REST APIs, JSON, XML, SOAP, CMS, LMS, Grafana, Supabase} % Skills
%--------------------------------------------------------- %---------------------------------------------------------
\cvskill \cvskill
{Programmiersprachen} % Category {Systemadministration} % Category
{Python, C\#, JavaScript, PHP, SQL, Rust, CSS3, HTML5, Arduino C} % Skills {Docker/Compose, Kubernetes, POSIX Shell, Bash, ZSH, Nix, systemd, ZFS, nginx, Nextcloud, Tailscale, rsync/SSH, Restic} % Skills
%---------------------------------------------------------
\cvskill
{Betriebssysteme} % Category
{Linux: Debian, Fedora (privat), NixOS, FreeBSD, CentOS, Windows, macOS} % Skills
%--------------------------------------------------------- %---------------------------------------------------------
\cvskill \cvskill
{Web Development} % Category {Tools \& Methoden} % Category
{Node.js, Shopware, WordPress, React, Vue.js, CRUD/REST APIs, JSON, XML} % Skills {Git, GitHub Actions, GameCI, CI/CD, Jira, Scrum, VSCode, TDD, NUnit, Moq, Pytest} % Skills
%--------------------------------------------------------- %---------------------------------------------------------
\cvskill \cvskill
{Maschinelles Lernen} % Category {Extended Reality} % Category
{ANNs seit 2016, LLMs seit 2020, RAG, OpenWebUI, LMStudio, GPUStack, MCP, BMAD, SpecKit, SDD, Context Engineering, Caveman u.v.m.} % Skills {Unity, C\#, OpenXR, Mindport VR Builder, Needle Engine, Meta Quest SDK, Android \& iOS, 3D Vista} % Skills
%---------------------------------------------------------
\cvskill
{3D Bearbeitung} % Category
{OpenSCAD, 3D-Druck, Blender, OpenGL, 3ds Max} % Skills
%---------------------------------------------------------
\cvskill
{Maschinelles Lernen} % Category
{ANNs seit 2016, LLMs seit 2020, RAG, OpenWebUI, LMStudio, GPUStack, MCP, BMAD, SpecKit, SDD, Context Engineering, Caveman} % Skills
\end{cvskills} \end{cvskills}
@@ -244,6 +254,37 @@
\vspace{1.5em} % Spacing after cventry \vspace{1.5em} % Spacing after cventry
%---------------------------------------------------------
\cventry
{Open Source Förderung} % Position
{VISOR - Prototype Fund Project} % Organization
{Berlin} % Location
{2017-2018} % Date(s)
{
\begin{cvitems} % Description(s) of tasks/responsibilities
\item {BMBF geförderte Prototypenentwicklung für ein Forschungsprojekt zum Thema "Digitale Partizipation in Stadtentwicklungsprozessen"}
\item {Entwurf eines Webtools \href{https://github.com/VISOR-tool}{VISOR tool} }
\item {Entwurf eines Datenstandards \href{https://github.com/VISOR-tool/oproc}{VISOR - oproc}}
\end{cvitems}
}
\vspace{1.5em} % Spacing after cventry
%---------------------------------------------------------
\cventry
{Lead} % Position
{Open Data Dresden} % Organization
{Dresden} % Location
{2014 - 2021} % Date(s)
{
\begin{cvitems} % Description(s) of tasks/responsibilities
\item {Treffen, Aktionen, Veranstaltungen, Software pro Open Data in Dresden}
\item {Gründung eines eines OD-Labs mit der Open Knowledge Foundation}
\end{cvitems}
}
\vspace{1.5em} % Spacing after cventry
%--------------------------------------------------------- %---------------------------------------------------------
\cventry \cventry
{Speaker} % Position {Speaker} % Position
@@ -268,7 +309,7 @@
\vspace{0.5em} % Spacing after cventry \vspace{0.5em} % Spacing after cventry
\begin{cvparagraphnarrow} \begin{cvparagraphnarrow}
Meine Familie ist mein wichtigster Rückhalt. In meiner Freizeit bin ich sportlich aktiv, besonders gern in den Bergen oder auf dem Wasser und wenn dannach noch Zeit übrig ist, widme ich mich der Musik. Als begeisterter Autodidakt erschließe ich mir gerne kontinuierlich neue Technologien und Programmiersprachen, ob beruflich oder privat. Ich arbeite dabei immer selbstständig und eigenverantwortlich. Meine Familie ist mein wichtigster Rückhalt. In meiner Freizeit bin ich sportlich aktiv, besonders gern in den Bergen oder auf dem Wasser, und wenn danach noch Zeit übrig ist, widme ich mich der Musik. Als begeisterter Autodidakt erschließe ich mir gerne kontinuierlich neue Technologien und Programmiersprachen, ob beruflich oder privat, und arbeite dabei immer selbstständig wie auch eigenverantwortlich.
\end{cvparagraphnarrow} \end{cvparagraphnarrow}
\begin{cvparagraphnarrow} \begin{cvparagraphnarrow}