Compare commits
12
Commits
318d3f384b
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09d20c8ad0 | ||
|
|
504f8dfc4d | ||
|
|
dc291fd4fd | ||
|
|
63e4a73570 | ||
|
|
f0bab51f1c | ||
|
|
df6e410e0e | ||
|
|
0451958ed4 | ||
|
|
6fce81a910 | ||
|
|
4723b23600 | ||
|
|
eadfe50e65 | ||
|
|
5e6ecf50a9 | ||
|
|
4455ff92e9 |
No files matched your search
+3
-1
@@ -1,3 +1,5 @@
|
||||
*.pdf
|
||||
latex/build/
|
||||
temp
|
||||
temp
|
||||
*.log
|
||||
.DS_Store
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"chat.byokUtilityModelDefault": "mainAgent",
|
||||
"latex-workshop.latex.tools": [
|
||||
{
|
||||
"name": "make all",
|
||||
"command": "make",
|
||||
"args": [
|
||||
"all"
|
||||
],
|
||||
"cwd": "%WORKSPACE_FOLDER%"
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.recipes": [
|
||||
{
|
||||
"name": "make all",
|
||||
"tools": [
|
||||
"make all"
|
||||
]
|
||||
}
|
||||
],
|
||||
"latex-workshop.latex.recipe.default": "make all",
|
||||
"latex-workshop.latex.build.enableMagicComments": true,
|
||||
"latex-workshop.latex.autoBuild.run": "onSave",
|
||||
"latex-workshop.latex.outDir": "%WORKSPACE_FOLDER%"
|
||||
}
|
||||
@@ -1,14 +1,28 @@
|
||||
.PHONY: all coverletter cv clean
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
.PHONY: help all coverletter cv application clean
|
||||
|
||||
LATEX = TEXINPUTS=latex//: xelatex
|
||||
PDF_MERGE = qpdf
|
||||
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
|
||||
|
||||
cv: cv.pdf
|
||||
|
||||
application: $(APPLICATION_PDF)
|
||||
|
||||
coverletter.pdf: latex/coverletter.tex letters/coverletter.tex latex/personal.tex latex/awesome-cv.cls latex/fontawesome.sty
|
||||
|
||||
@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) $<
|
||||
mv $(BUILD_DIR)/cv.pdf $@
|
||||
|
||||
$(APPLICATION_PDF): coverletter.pdf cv.pdf Makefile
|
||||
$(PDF_MERGE) --empty --pages coverletter.pdf cv.pdf -- $@
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) coverletter.pdf cv.pdf
|
||||
rm -rf $(BUILD_DIR) coverletter.pdf cv.pdf $(APPLICATION_PDF)
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
## Struktur
|
||||
|
||||
- `letters/coverletter.tex` enthaelt nur den an das Unternehmen angepassten Inhalt des Anschreibens.
|
||||
- `letters/cv.tex` enthaelt nur den Inhalt des Lebenslaufs.
|
||||
- `latex/` enthaelt die gemeinsame Vorlage, Stammdaten, Fonts und alle beim Build erzeugten Hilfsdateien.
|
||||
- `coverletter.pdf` und `cv.pdf` werden im Wurzelverzeichnis erzeugt.
|
||||
- `letters/coverletter.tex` Anschreibens.
|
||||
- `letters/cv.tex` Lebenslaufs.
|
||||
- `latex/` gemeinsame Vorlage, Stammdaten, Fonts und alle beim Build erzeugten Hilfsdateien.
|
||||
- alle PDFs werden im Wurzelverzeichnis erzeugt.
|
||||
|
||||
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:
|
||||
|
||||
```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
|
||||
make
|
||||
```
|
||||
@@ -22,6 +31,7 @@ Einzeln erzeugen:
|
||||
```sh
|
||||
make coverletter
|
||||
make cv
|
||||
make application
|
||||
```
|
||||
|
||||
Alle erzeugten Dateien entfernen:
|
||||
@@ -30,4 +40,5 @@ Alle erzeugten Dateien entfernen:
|
||||
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.
|
||||
+69
-1
@@ -58,6 +58,42 @@ 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.
|
||||
- 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.
|
||||
|
||||
## VISOR/OProc – Visualisierung offener Stadtentwicklungsprozesse
|
||||
|
||||
- Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den drei Projekt-Repositories.
|
||||
- Quellen: lokale Git-Repositories `/Users/rob/code/visor/oproc`, `/Users/rob/code/visor/in-transit` und `/Users/rob/code/visor/d3-oproc`.
|
||||
- Kontext: BMBF/Prototype-Fund-gefördertes Civic-Tech-Projekt in Kooperation mit Forschenden der HTW Dresden zur maschinenlesbaren Beschreibung und interaktiven Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
|
||||
- Teilprojekte: `oproc` enthält die Spezifikation eines offenen JSON-Datenmodells; `in-transit` implementiert den webbasierten VISOR-Prototyp; `d3-oproc` dokumentiert die Idee eines separaten Gantt-artigen Visualisierungsmoduls, blieb aber ein nicht implementiertes Konzeptgerüst.
|
||||
- Entwicklung des OProc-Datenmodells, Aufbau der Timeline, Datenimport und -fluss; Zeitachsen, Zoom und Verschieben; Swimlanes und kollisionsarme Prozessanordnung; Filterung, Suche; Weiterentwicklung und visuelle Integration des Abhängigkeitsgraphen.
|
||||
- Herausforderungen: Abbildung hierarchischer und miteinander verbundener Prozesse in einem offenen Datenformat; gleichzeitige Vermittlung von zeitlichem Verlauf, Abhängigkeiten und Beteiligten; lesbare Anordnung überlappender Prozesszeiträume; konsistente Interaktion und Filterung über mehrere gekoppelte Ansichten.
|
||||
- Lösungen: URL-basiertes OProc-Modell mit JSON-Objekten und Referenzen; komponentenbasierte Single-Page Application mit Preact; zentraler Anwendungszustand und abgeleitete Filterdaten mit Redux; SVG-basierte Timeline mit dynamischer Zeitprojektion, Zoom, Pan, Swimlanes und Überlappungsbehandlung; gerichtetes Graphlayout mit Dagre; Datumsausgabe mit Moment.js; gekoppelte Hover-, Auswahl-, Such-, Filter- und Detailinteraktionen.
|
||||
|
||||
## 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
|
||||
|
||||
- Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository.
|
||||
@@ -112,4 +148,36 @@ Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den
|
||||
- Quelle: `vr-bits/RocheProzessRallye`.
|
||||
- Kontext: Unity-Anwendung zur spielerischen Vermittlung von Prozessschritten in Produktion, Produktionskoordination, Ansatz, In-Process-Kontrolle, Abfüllung, Verpackung und Endfreigabe.
|
||||
- Herausforderungen: Abbildung eines fortlaufenden Lernspiels mit aufeinander aufbauenden Stationen; Verwaltung von Versuchen, Erfolgen, Zeit und Budget; Navigation zwischen Weltkarte, Innenräumen und Minispielen sowie Einbindung von Lernvideos.
|
||||
- Lösungen: Sieben Minispiele mit ereignisgesteuerter Freischaltung der nächsten Station; persistente Spiel-, Charakter-, Zeit-, Budget- und Ergebnisdaten sowie ein mit Paritätsbit geschützter Fortsetzungscode; Navigation über NavMesh mit additiv geladenen Innenraumszenen und vorab geladenen Szenen; Video-UI mit Streaming-URLs, Ladezustand, Seitenverhältnis- und Wiedergabesteuerung.
|
||||
- Lösungen: Sieben Minispiele mit ereignisgesteuerter Freischaltung der nächsten Station; persistente Spiel-, Charakter-, Zeit-, Budget- und Ergebnisdaten sowie ein mit Paritätsbit geschützter Fortsetzungscode; Navigation über NavMesh mit additiv geladenen Innenraumszenen und vorab geladenen Szenen; Video-UI mit Streaming-URLs, Ladezustand, Seitenverhältnis- und Wiedergabesteuerung.
|
||||
|
||||
## TenneT 2GW Platform
|
||||
|
||||
- Zeitraum: Februar bis Oktober 2023, belegt durch eigene Commits im Repository.
|
||||
- Quelle: lokales Git-Repository `Tennet2GWPlatform`.
|
||||
- Kontext: Interaktive 3D-Webvisualisierung von TenneTs 2-GW-Offshore-Konverterstation. Sie erläutert die direkte 66-kV-Anbindung von Windparks, die Kombination aus Umspannwerk und HGÜ-Konverter sowie den Stromfluss bis zur Landanbindung in Deutsch, Englisch und Niederländisch.
|
||||
- Herausforderungen: Hochwertige 3D-Visualisierung einer komplexen Energieinfrastruktur für Web und XR; intuitive Navigation zwischen Außen-, Innen- und Detailansichten; browserübergreifend lesbare, mehrsprachige Inhalte auf Desktop, Tablet und Mobilgeräten.
|
||||
- Lösungen: Unity-Szene mit Needle-Engine-Export in eine Vite-/TypeScript-/Three.js-Webanwendung und glTF-Optimierung; eigene TypeScript-Komponenten für erweiterte Orbit-Kamerasteuerung mit Raycast-Fokus und weichen Kameraübergängen, Distanz- und Idle-Verhalten, Wasser- und Partikelanimationen; WebXR-Interaktion mit Select-/Squeeze-Ereignissen und Teleportation; HTML-/CSS-Content-Overlay mit Steuerung aus der 3D-Anwendung; responsive Layouts, Medienabfragen, dynamische Textgrößen und Querformat-Hinweise für verschiedene Bildschirmgrößen und Pixeldichten.
|
||||
|
||||
## Roche RMD Rotkreuz – WebGL-Training für Laborabläufe
|
||||
|
||||
- Zeitraum: September 2022 bis Januar 2025
|
||||
- Quelle: Git-Repository `Roche-RMD-Rotkreuz`
|
||||
- Kontext: Unity-WebGL-Anwendung für interaktive, modulare Schulungen zu Laborbereichen und -abläufen, darunter Chemieraum, Kühlraum, Schleusen, Flowbox, Freezer und Abfallmanagement.
|
||||
- Herausforderungen: Wiederverwendbare Umsetzung zahlreicher Teiltrainings mit geführten 3D-Interaktionen; zuverlässige Persistenz und Auswertung von Trainingsfortschritten im Browser; Übergabe der Lernstände an das Cornerstone-LMS; wartbare mehrsprachige Inhalte und automatisierte Auslieferung der WebGL-Anwendung.
|
||||
- Lösungen: Mindport VR Builder mit JSON-basierten Prozessen sowie eigene Komponenten und Editor-Werkzeuge zum Generieren von Teiltrainings und `ScriptableObject`-basierten Workplans; Zustandsverwaltung pro Trainingsmodul und Rücksetzen der Browserdaten über `PlayerPrefs`; C#-/JavaScript-Brücke mittels `Application.ExternalCall`, `postMessage` und eingebetteter Iframes zur Übernahme und Meldung erfolgreicher Teiltrainings sowie des Gesamtstatus an das LMS; SCORM- und anschließend AICC-HACP-Paketierung für Cornerstone; Anpassung von Unity-Localization-String-Tables anhand von CSV-Dateien; GitHub-Actions-Pipeline mit GameCI für WebGL-Build und Deployment.
|
||||
|
||||
## SaxoCellTraining – WebGL-Training für die Personalschleuse
|
||||
|
||||
- Zeitraum: Juni bis September 2024
|
||||
- Quelle: lokales Git-Repository `SaxoCellTraining`.
|
||||
- Kontext: Auf Basis der Roche-RMD-Erfahrung entwickelte Unity-WebGL-Anwendung für interaktive Schulungen in einer Personalschleuse. Die Anwendung kombiniert eine Übersichtskarte mit einem Trainingsbereich und vermittelt unter anderem Umkleide-, Schuh- und Handschuhabläufe.
|
||||
- Herausforderungen: Übertragung der modularen Trainingsarchitektur auf ein neues Fachszenario; geführte und nachvollziehbare Teiltrainings mit Fortschritt; mehrsprachige, redaktionell pflegbare Inhalte; nutzbare Darstellung auf Desktop und iPad im Browser.
|
||||
- Lösungen: Mindport-VR-Builder-Prozesse und `WorkplanData`-basierte Modulverwaltung mit lokalisierter Dropdown-Navigation, Erfolgsmarkierungen, optionaler sequenzieller Freischaltung und automatischem Start des nächsten Trainings; Addressable-Szenen und Lokalisierungsressourcen für das Nachladen von Trainings- und Sprachinhalten; Synchronisation der String-Tables mit Google Sheets einschließlich Rich-Text-Unterstützung; angepasste WebGL-Templates für Fullscreen, Seitenverhältnis, Ladeanzeige und Hinweise bei Hochformat; Entwicklung eines SceneGenerator-Zweigs mit konfigurierbarer Interactable-Auswahl, Workplan-Output und Prozessvorlagen, aus dem später das eigenständige TrainingGenerator-Paket hervorging.
|
||||
|
||||
## VR Builder Scene Generation / TrainingGenerator
|
||||
|
||||
- Zeitraum: Oktober 2024 bis September 2025
|
||||
- Quelle: lokales Git-Repository `_vrbits\de.vrbits.vrbuilder.scenegeneration`.
|
||||
- Kontext: Aus dem Roche-RMD-Projekt ausgegliedertes Unity-UPM-Paket zur wiederverwendbaren Erzeugung von 2D-Web-/Standalone- und VR-Trainingsszenen aus Lokalisierungs-CSV-Dateien. Das Paket liegt in Version 0.2.0 vor und verwendet Mindport VR Builder 5.3.2.
|
||||
- Herausforderungen: Reproduzierbare Erzeugung vieler Teiltrainings samt Lernfortschritt aus einer Inhaltsquelle; konsistente Verknüpfung von Unity-Szene, Lokalisierung, Workplan und VR-Builder-Prozess; Unterstützung sowohl interaktiver Editor-Nutzung als auch automatisierter Erstellung und Prüfung.
|
||||
- Lösungen: UI-Toolkit-basierter Unity-Editor-Wizard mit Auswahl von 2D- oder VR-Szenentemplates und String-Tables; CSV-Import in Unity Localization, Auswertung der Inhalts-Schlüssel für Teiltrainings und Infopunkte sowie Generierung der zugehörigen `StringTable`-Collections; Erzeugung von `ScriptableObject`-Workplans und VR-Builder-Prozessdateien aus JSON-Templates, einschließlich Eintrag des jeweils erzeugten Prozesses in die Runtime-Konfiguration; Paketstruktur mit getrennten Assembly Definitions, Samples und 2D-/VR-Templates; JSON-parametrisierter Batchmode-Aufruf über Unity CLI mit anschließendem WebGL-Build; NUnit-Regressionstests für UI- und Objektpositionen, Kamera, Addressables, VR Builder und Lightmaps.
|
||||
@@ -0,0 +1,222 @@
|
||||
# Ordner mit meinen Python-Projekten
|
||||
|
||||
/Users/rob/code/SomaFM-Playlists
|
||||
/Users/rob/code/Steuererklärung-CSVs-Auswerten
|
||||
/Users/rob/code/PDF-with-JS-hack
|
||||
/Users/rob/code/scrape-immobillien
|
||||
/Users/rob/code/Fix-SamsungNX-Photos-in-Immich
|
||||
/Users/rob/code/BündnisOst/Ostdeutsche-Politiker/scripts/converter
|
||||
/Users/rob/code/BündnisOst/bo-page/scripts
|
||||
/Users/rob/code/SUFW/Jo-Job2026
|
||||
/Users/rob/code/SUFW/Zeitabrechung
|
||||
/Users/rob/code/SUFW/Tätigkeitsnachweise/1_Erstes-Tool-Komplizert
|
||||
/Users/rob/code/SUFW/Tätigkeitsnachweise/3_Tätigkeitsnachweise-generieren
|
||||
/Users/rob/code/ScrapeMediawiki
|
||||
/Users/rob/code/Lotto-Zocken
|
||||
|
||||
/Volumes/rob/code
|
||||
/Volumes/rob/code/argümen/arguman.org
|
||||
/Volumes/rob/code/django-cms/info.ngo
|
||||
/Volumes/rob/code/django-first-app
|
||||
/Volumes/rob/code/filemonitor
|
||||
/Volumes/rob/code/gallery-screenlet
|
||||
/Volumes/rob/code/machine_learling_minimalbeispiel
|
||||
/Volumes/rob/code/neuronale_netze_einfach_erklärt
|
||||
/Volumes/rob/code/pls-2-m3u
|
||||
/Volumes/rob/code/pythonAlgorithmik
|
||||
/Volumes/rob/code/Wiederstandsberechnung
|
||||
/Volumes/rob/code/led-stripe-c3d2
|
||||
/Volumes/rob/code/c3d2/pentabot
|
||||
/Volumes/rob/code/c3d2/pentanews-localtest/backend
|
||||
/Volumes/rob/code/c3d2/led-stripe
|
||||
/Volumes/rob/code/info.ngo/info.ngo
|
||||
/Volumes/rob/code/info.ngo/info.ngo/InfoNgo_django
|
||||
/Volumes/rob/code/info.ngo/docker-rob
|
||||
/Volumes/rob/code/info.ngo/rebuild-rob/InfoNgo_django
|
||||
/Volumes/rob/code/offenesdresden.de/stadtrat
|
||||
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/scrape-a-ris_DD
|
||||
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/scrape-a-ris
|
||||
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/test_repo
|
||||
/Volumes/rob/code/offenesdresden.de/parkenDD/ParkAPI
|
||||
/Volumes/rob/code/offenesdresden.de/themenstadtscraper
|
||||
|
||||
# Python-Tätigkeiten und Schlagwörter
|
||||
|
||||
Diese Liste fasst die mit Python umgesetzten Tätigkeiten aus der Knowledge Base und den bekannten Projekten zusammen.
|
||||
|
||||
## Webentwicklung und Backends
|
||||
|
||||
- Django-Webanwendungen
|
||||
- Django CMS
|
||||
- Django-Projekt- und App-Architektur
|
||||
- URL-Routing und Namespaces
|
||||
- Funktionsbasierte und generische Views
|
||||
- Django ORM und relationale Datenmodelle
|
||||
- Datenbankmigrationen
|
||||
- Django Admin
|
||||
- Authentifizierung und Formulare
|
||||
- Template-Vererbung
|
||||
- Statische Dateien und Medien
|
||||
- Filterung und Paginierung
|
||||
- Transaktionale Datenimporte
|
||||
- Factory- und Service-Layer
|
||||
- Streamlit-Webanwendungen
|
||||
- Bootstrap- und jQuery-Integration
|
||||
- Hugo-Prebuild-Automatisierung
|
||||
|
||||
## APIs, Web-Scraping und Datengewinnung
|
||||
|
||||
- REST- und Web-API-Anbindung
|
||||
- MediaWiki-API
|
||||
- Tokenbasierte Anmeldung
|
||||
- Session- und Cookie-Verwaltung
|
||||
- HTTP-GET- und POST-Anfragen
|
||||
- Web-Scraping
|
||||
- HTML-Parsing
|
||||
- Beautiful Soup
|
||||
- Requests
|
||||
- lxml und html5lib
|
||||
- OpenGraph-Metadaten extrahieren
|
||||
- Bilder und Medien automatisiert herunterladen
|
||||
- Immobilienangebote auslesen
|
||||
- Veranstaltungsdaten sammeln
|
||||
- Stiftungsinformationen extrahieren
|
||||
- Lottoziehungen automatisiert erfassen
|
||||
- Radiosender und Playlists auslesen
|
||||
- Browserformulare und Zeitbuchungen automatisieren
|
||||
- HTML-Formularabläufe rekonstruieren
|
||||
- Mailbox- und MIME-Inhalte verarbeiten
|
||||
- Thunderbird-Mailboxen einlesen
|
||||
|
||||
## Datenverarbeitung und Datenanalyse
|
||||
|
||||
- CSV-, JSON- und Excel-Verarbeitung
|
||||
- JSON-zu-CSV-Konvertierung
|
||||
- CSV-zu-JSON-Zusammenführung
|
||||
- Pandas-Datenanalyse
|
||||
- Bank- und Steuerdaten kategorisieren
|
||||
- Deutsche Zahlen- und Datumsformate normalisieren
|
||||
- Unregelmäßige Datumsangaben verarbeiten
|
||||
- Daten aus mehreren Quellen zusammenführen
|
||||
- Datenbereinigung und Normalisierung
|
||||
- Dubletten erkennen und verhindern
|
||||
- Namensnormalisierung und Datensatz-Matching
|
||||
- Mehrdeutige Zuordnungen auflösen
|
||||
- Geschäftsregeln validieren
|
||||
- Förderquoten berechnen
|
||||
- Häufigkeitsanalysen durchführen
|
||||
- Statistische Ergebnisse visualisieren
|
||||
- Matplotlib-Diagramme erzeugen
|
||||
- Konfigurationsgesteuerte Verarbeitungspipelines
|
||||
|
||||
## Excel- und Office-Automatisierung
|
||||
|
||||
- Excel-Dateien mit OpenPyXL lesen und schreiben
|
||||
- Mehrere Arbeitsblätter verarbeiten
|
||||
- Spalten und Felder konfigurierbar zuordnen
|
||||
- Mitarbeiter- und Stammdaten zusammenführen
|
||||
- Excel-Vorlagen automatisiert befüllen
|
||||
- Arbeitsblätter aus Templates erzeugen
|
||||
- Tätigkeitsnachweise generieren
|
||||
- Anwesenheitslisten generieren
|
||||
- Personalisierte Dokumente im Batch erstellen
|
||||
- Dateinamen regelbasiert erzeugen
|
||||
- Eingabedateien und Templates validieren
|
||||
- Dry-Run und Ausgabevorschau implementieren
|
||||
|
||||
## PDF-Verarbeitung
|
||||
|
||||
- PDF-Formularfelder analysieren
|
||||
- AcroForm-Felder automatisiert befüllen
|
||||
- Personalisierte PDFs generieren
|
||||
- PDF-Templates validieren
|
||||
- PDF-Inhalte und Feldpositionen untersuchen
|
||||
- JavaScript aus PDFs entfernen
|
||||
- Bearbeitungseinschränkungen entfernen
|
||||
- Read-only-Flags korrigieren
|
||||
- PDF-Appearance-Streams reparieren
|
||||
- PDFs mit PyPDF, PikePDF und PyMuPDF bearbeiten
|
||||
- PDF-Ergebnisse automatisiert überprüfen
|
||||
|
||||
## Inhaltsmigration und Dateiverarbeitung
|
||||
|
||||
- MediaWiki nach Obsidian migrieren
|
||||
- HTML nach Markdown konvertieren
|
||||
- Wiki-Links nachbearbeiten
|
||||
- Seitenhierarchien als Verzeichnisse abbilden
|
||||
- Inhaltsverzeichnisse erzeugen
|
||||
- Kategorien, Links und Revisionen extrahieren
|
||||
- Metadaten als JSON speichern
|
||||
- Rekursive Verzeichnisverarbeitung
|
||||
- Dateien automatisiert strukturieren und benennen
|
||||
|
||||
## Bild- und Metadatenverarbeitung
|
||||
|
||||
- EXIF-Metadaten analysieren
|
||||
- Fehlerhafte Aufnahmedaten korrigieren
|
||||
- Datumsangaben aus Ordnernamen ableiten
|
||||
- Zeitspannen auf Fotos übertragen
|
||||
- Dateisystem-Zeitstempel ändern
|
||||
- Vorschaubilder erzeugen
|
||||
- Rekursive Fotosuche
|
||||
- Automatische Backups vor Dateiänderungen
|
||||
- Undo-Funktionen und Änderungsprotokolle
|
||||
- Immich-Metadatenprobleme untersuchen
|
||||
|
||||
## Geodaten und Karten
|
||||
|
||||
- Adressen geokodieren
|
||||
- Koordinaten ermitteln
|
||||
- GeoJSON-Daten erzeugen
|
||||
- Räumliche Daten in Django speichern
|
||||
- Leaflet-Karten integrieren
|
||||
- Kartenmarker aus Datenmodellen erzeugen
|
||||
- Dynamische Popups erstellen
|
||||
- Marker abhängig von Zeitwerten einfärben
|
||||
|
||||
## Benutzeroberflächen und Kommandozeilenwerkzeuge
|
||||
|
||||
- Streamlit-Dashboards
|
||||
- Tkinter-Desktop-GUIs
|
||||
- Dateiauswahl und Verzeichnis-Browser
|
||||
- Thumbnail- und Änderungsvorschauen
|
||||
- Interaktive Filter und Mehrfachauswahl
|
||||
- Kommandozeilenprogramme mit Click
|
||||
- CLI-Programme mit Argparse
|
||||
- Interaktive Eingabe und Bestätigung
|
||||
- Headless- und Cold-Run-Modi
|
||||
- Batch-Verarbeitung
|
||||
- Fortschritts-, Status- und Fehlermeldungen
|
||||
|
||||
## Architektur und Softwarequalität
|
||||
|
||||
- Modularisierung in Parser, Validator, Matcher und Writer
|
||||
- Dataclasses und typisierte Datenmodelle
|
||||
- Type Hints
|
||||
- Eigene Exception-Hierarchien
|
||||
- Konfigurationsdateien mit JSON und INI
|
||||
- Eingabe- und Geschäftsregelvalidierung
|
||||
- Logging und Debug-Ausgaben
|
||||
- Dry-Run-Sicherheitsmechanismen
|
||||
- Unit-Tests mit Pytest
|
||||
- End-to-End-Tests
|
||||
- Fixtures und temporäre Testverzeichnisse
|
||||
- Testabdeckung mit pytest-cov
|
||||
- Codeformatierung mit Black
|
||||
- Linting mit Flake8
|
||||
- Typprüfung mit MyPy
|
||||
|
||||
## Datenbanken und Betrieb
|
||||
|
||||
- SQLite
|
||||
- MySQL
|
||||
- PostgreSQL-Vorbereitung
|
||||
- ORM-Transaktionen
|
||||
- Behandlung von Integritätsfehlern
|
||||
- Virtuelle Python-Umgebungen
|
||||
- Conda-Umgebungen
|
||||
- Abhängigkeiten mit Requirements-Dateien verwalten
|
||||
- Gunicorn und WhiteNoise
|
||||
- Heroku-Vorbereitung
|
||||
- S3-kompatibler Speicher mit Boto3 und django-storages
|
||||
- Plattformübergreifende Startskripte für macOS, Linux und Windows
|
||||
+26
-2
@@ -3,6 +3,14 @@ Enthält alle Rollen in denen ich schon Tätig war
|
||||
|
||||
## Berufliche Rollen
|
||||
|
||||
### Hauptentwickler und Projektkoordinator für VISOR/OProc
|
||||
|
||||
- Kontext: Prototype-Fund-gefördertes Civic-Tech-Projekt VISOR/OProc zur Beschreibung und Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
|
||||
- Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den Repositories `oproc`, `in-transit` und `d3-oproc`.
|
||||
- Kooperation: Regelmäßige Arbeits- und Abstimmungstreffen mit Forschenden der HTW Dresden zur Erhebung fachlicher Anforderungen, Weiterentwicklung des Datenmodells und Gestaltung des Visualisierungswerkzeugs.
|
||||
- Rolle: Hauptentwickler mit Verantwortung für die inhaltliche und konzeptionelle Weiterentwicklung des Tools, die Zusammenarbeit mit der HTW und das Vorantreiben des Entwicklungsprozesses; enge Zusammenarbeit mit Astro, dessen Schwerpunkt auf der technischen Umsetzung lag.
|
||||
- Tätigkeiten: Entwurf und iterative Weiterentwicklung des offenen OProc-Datenmodells; Überführung fachlicher Anforderungen in Funktionen und Visualisierungskonzepte; Konzeption und Entwicklung der Prozess-Timeline, von Swimlanes, Filtern, Suche, Auswahl- und Detailansichten sowie der Verbindung von zeitlicher Darstellung und Prozessgraph; Abstimmung, Priorisierung und Begleitung der technischen Implementierung.
|
||||
|
||||
### Systemadministrator und Entwickler für private Infrastruktur
|
||||
|
||||
- Kontext: Eigene Infrastruktur-, Automatisierungs- und Datenmigrationsprojekte in den Repositories `lokale-scripte`, `ScrapeMediawiki` und `obsidian-backup`.
|
||||
@@ -20,7 +28,23 @@ Enthält alle Rollen in denen ich schon Tätig war
|
||||
- Unternehmen: vrbits GmbH
|
||||
- Zeitraum: seit 2019
|
||||
- Ort: Leipzig
|
||||
- Tätigkeiten: Konzeption, Entwicklung und Betreuung komplexer interaktiver VR-, AR- und Flat-3D-Anwendungen; plattformübergreifende Entwicklung; Integration von SDKs, Schnittstellen, Datenformaten und Services; Aufbau und Pflege von CI-Pipelines; Performance-Optimierung; Entwicklung von AR-Viewer mit konfigurierbaren Lerninteraktionen, plattformspezifischen Unity-AssetBundles und Drupal-XML-Schnittstelle für Szenenmetadaten; Implementierung eines Unity-VR-Trainings für Umspannwerksabläufe mit Schrittsteuerung, Spannungsprüfung, Fehlererkennung und SteamVR-gestützter Navigation; Entwicklung eines testgetriebenen Unity- und .NET-AssetDownloaders mit HTTP-Streaming, Cache und Formatprüfung für 3D-Assets; Entwicklung der Roche Prozessrallye mit persistenter Lernspiel-Logik, Minispielen, Budget- und Zeitmodell sowie Navigation zwischen Weltkarte und Innenräumen.
|
||||
- Tätigkeiten:
|
||||
- Konzeption, Entwicklung und Betreuung komplexer interaktiver VR-, AR- und Flat-3D-Anwendungen;
|
||||
- plattformübergreifende Entwicklung;
|
||||
- Integration von SDKs,
|
||||
- Schnittstellen,
|
||||
- Datenformaten und Services;
|
||||
- Aufbau und Pflege von CI-Pipelines;
|
||||
- Performance-Optimierung;
|
||||
- Entwicklung von ChipAcademy AR-Viewer mit konfigurierbaren Lerninteraktionen, plattformspezifischen Unity-AssetBundles und Drupal-XML-Schnittstelle für Szenenmetadaten;
|
||||
- Implementierung eines Unity-VR-Trainings für Umspannwerksabläufe mit Schrittsteuerung, Spannungsprüfung, Fehlererkennung und SteamVR-gestützter Navigation;
|
||||
- Entwicklung eines testgetriebenen Unity- und .NET-AssetDownloaders mit HTTP-Streaming, Cache und Formatprüfung für 3D-Assets;
|
||||
- Entwicklung der Roche Prozessrallye mit persistenter Lernspiel-Logik, Minispielen, Budget- und Zeitmodell sowie Navigation zwischen Weltkarte und Innenräumen;
|
||||
- Entwicklung der TenneT-2GW-Platform als mehrsprachige, interaktive Web- und WebXR-Visualisierung auf Basis von Unity, Needle Engine, TypeScript und Three.js;
|
||||
- Entwicklung eines Unity-WebGL-Trainings für Roche mit VR-Builder-Prozessen, Workplan-Steuerung,
|
||||
- CSV-basierter Lokalisierung, SCORM-/AICC-HACP-Anbindung an Cornerstone und GameCI-Delivery-Pipeline;
|
||||
- Entwicklung von SaxoCellTraining als mehrsprachiges WebGL-Training mit Addressables, Workplan-Navigation und responsiver WebGL-UI;
|
||||
- Ausgliederung und Weiterentwicklung des TrainingGenerators zu einem Unity-UPM-Paket mit UI-Toolkit-Wizard, Szenentemplates, CLI-/Batchmode-Erzeugung, WebGL-Build und Regressionstests.
|
||||
|
||||
### Freelance Full-Stack Developer
|
||||
|
||||
@@ -93,4 +117,4 @@ Enthält alle Rollen in denen ich schon Tätig war
|
||||
- Institution: Berufliches Schulzentrum Weißwasser
|
||||
- Zeitraum: 1997 bis 2000
|
||||
- Ort: Weißwasser
|
||||
- Inhalte: Grundlagen der Programmierung und Automatisierungstechnik; Hardware- und Softwareentwicklung.
|
||||
- Inhalte: Grundlagen der Programmierung und Automatisierungstechnik; Hardware- und Softwareentwicklung.
|
||||
+111
-7
@@ -16,6 +16,41 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
- Komplexität: Integration unterschiedlicher Plattform-SDKs und XR-Werkzeuge.
|
||||
- Einsatz: Entwicklung von VR-Trainings, 3D-Visualisierungen und virtuellen Showrooms für unterschiedliche Zielsysteme.
|
||||
- Kontext: vrbits GmbH.
|
||||
- Zusätzlicher Einsatz: JSON-basierte VR-Builder-Prozesse für modulare WebGL-Trainings sowie eigene Erweiterungen zum Laden, Generieren und Verwalten von Teiltrainings und Workplans.
|
||||
- Zusätzlicher Einsatz: Needle-Engine-Export einer Unity-3D-Szene für eine interaktive Web- und WebXR-Visualisierung mit Teleportation und Controller-Ereignissen.
|
||||
- Projekte: TenneT 2GW Platform, Februar bis Oktober 2023; Roche RMD Rotkreuz, September 2022 bis Januar 2025; SaxoCellTraining, Juni bis September 2024; sowie das daraus ausgegliederte UPM-Paket VR Builder Scene Generation / TrainingGenerator, Oktober 2024 bis September 2025.
|
||||
|
||||
### TypeScript, Three.js, Vite und WebXR
|
||||
|
||||
- Komplexität: Browserbasierte 3D-Anwendung mit eigener Interaktions-, Kamera- und XR-Logik.
|
||||
- Einsatz: Needle-Engine-Komponenten in TypeScript für Orbit-Steuerung, Raycast-Fokus, Kamerafahrten, Idle- und Distanzereignisse, Wasser- und Partikelanimationen sowie WebXR-Select-/Squeeze-Ereignisse und Teleportation; Vite-Build mit glTF-Transformationspipeline.
|
||||
- Projekt: TenneT 2GW Platform, Februar bis Oktober 2023.
|
||||
|
||||
### Unity Editor, UI Toolkit, Scene Templates und Batchmode
|
||||
|
||||
- Komplexität: Entwicklung eines wiederverwendbaren Unity-Pakets, das interaktive Editor-Werkzeuge und automatisierte Content-Erzeugung verbindet.
|
||||
- Einsatz: UI-Toolkit-Wizard zur Auswahl von 2D- oder VR-Szenentemplates und Lokalisierungstabellen; Erzeugung von Teiltrainings, Workplans und VR-Builder-Prozessen; Aufruf über Unity CLI mit einer externen JSON-Konfiguration und anschließender WebGL-Build.
|
||||
- Projekt: VR Builder Scene Generation / TrainingGenerator, Oktober 2024 bis September 2025.
|
||||
|
||||
### Unity WebGL, JavaScript-Bridges sowie SCORM/AICC
|
||||
|
||||
- Komplexität: Browserbasierte 3D-Anwendung mit bidirektionaler Kommunikation zu einem Learning-Management-System.
|
||||
- Einsatz: C#-/JavaScript-Brücke über `Application.ExternalCall`, `postMessage` und Iframes; Übernahme des Lernstands, Meldung erfolgreicher Teiltrainings und Aktualisierung des Gesamtstatus; Paketierung zunächst als SCORM und anschließend als AICC-HACP für das Cornerstone-LMS.
|
||||
- Projekt: Roche RMD Rotkreuz, September 2022 bis Januar 2025.
|
||||
|
||||
### Unity Addressables, WebGL-Templates und responsives Layout
|
||||
|
||||
- Komplexität: Auslieferung modularer Trainingsszenen und Lokalisierungsressourcen für unterschiedliche Browser- und Bildschirmformate.
|
||||
- Einsatz: Addressable-Szenen sowie -Lokalisierungsgruppen und Szenenlader; Anpassung des WebGL-Templates für Fullscreen, Ladeanzeige, korrektes Seitenverhältnis und Hochformat-Hinweise auf iPad und Desktop.
|
||||
- Projekt: SaxoCellTraining, Juni bis September 2024.
|
||||
|
||||
### Unity Localization, CSV und Editor-Automatisierung
|
||||
|
||||
- Komplexität: Pflege mehrsprachiger Inhalte für eine Anwendung mit zahlreichen Lernmodulen.
|
||||
- Einsatz: Nachbearbeitung von Unity-Localization-String-Tables aus CSV-Dateien in `StreamingAssets` mit `UnityWebRequest` und CsvHelper; Editor-Werkzeuge zum Erzeugen von Trainingskonfigurationen, Workplans und Prozessdateien aus Vorlagen.
|
||||
- Zusätzlicher Einsatz: Erstellung von Unity-Localization-`StringTable`-Collections aus CSV-Dateien und Ableitung von Teiltrainings sowie Infopunkten aus den Inhalts-Schlüsseln.
|
||||
- Zusätzlicher Einsatz: Synchronisation von String-Tables mit Google Sheets einschließlich Rich-Text-Unterstützung sowie Bereitstellung der Sprachressourcen als Addressables.
|
||||
- Projekte: Roche RMD Rotkreuz, September 2022 bis Januar 2025; SaxoCellTraining, Juni bis September 2024; und VR Builder Scene Generation / TrainingGenerator, Oktober 2024 bis September 2025.
|
||||
|
||||
### Unity AR Foundation, ARCore und ARKit
|
||||
|
||||
@@ -58,6 +93,8 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
- Komplexität: Testgetriebene Entwicklung einer asynchronen Unity- und .NET-Bibliothek mit Unit- und Integrationstests.
|
||||
- Einsatz: NUnit-Tests im Arrange-Act-Assert-Stil, Moq und eigene HTTP-Mocks; Testfälle für Download-Fortschritt, Abbruch, Resume, Dateiintegrität, Cache-Verhalten, Formatfehler und Ressourcenbereinigung. Schrittweises Ergänzen von Tests und darauf folgenden Implementierungsanpassungen.
|
||||
- Projekt: `MMS-AssetDownloader` Juli bis August 2025.
|
||||
- Zusätzlicher Einsatz: NUnit-Regressionstests für Trainingsszenen, die Positionen von UI- und 3D-Objekten, Kameraeinstellungen, Addressable-Gruppen, VR-Builder-Konfiguration und Lightmaps prüfen.
|
||||
- Projekt: VR Builder Scene Generation / TrainingGenerator, Oktober 2024 bis September 2025.
|
||||
|
||||
### .NET Standard, HttpClient und HTTP Range Requests
|
||||
|
||||
@@ -97,9 +134,49 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
|
||||
### Python
|
||||
|
||||
- Komplexität: Entwicklung eines konfigurationsgesteuerten Migrationswerkzeugs 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.
|
||||
- Projekt: MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024.
|
||||
- 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;
|
||||
- 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
|
||||
|
||||
@@ -160,9 +237,15 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
### HTML5, CSS3 und jQuery
|
||||
|
||||
- Komplexität: Webentwicklung mit responsiven Benutzeroberflächen.
|
||||
- Einsatz: Entwicklung von Websites und Online-Shops; Responsive Design und Mobile First.
|
||||
- Zusätzlicher Einsatz: Eingebettete HTML- und CSS-Bedienoberfläche für die Steuerung eines LED-Rahmens im Browser.
|
||||
- Kontext: nebenberufliche Webprojekte, 2012 bis 2017, sowie WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, September 2022 bis Januar 2023.
|
||||
- Einsatz:
|
||||
- Entwicklung von Websites und Online-Shops; Responsive Design und Mobile First.
|
||||
- Kontext: nebenberufliche Webprojekte, 2012 bis 2017;
|
||||
|
||||
- Eingebettete HTML- und CSS-Bedienoberfläche für die Steuerung eines LED-Rahmens im Browser.
|
||||
- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, September 2022 bis Januar 2023;
|
||||
|
||||
- Responsive HTML-/CSS-Content-Overlay für eine Needle-Engine-Visualisierung mit Medienabfragen, dynamischer Panel- und Schriftgröße sowie Querformat-Handling.
|
||||
- Projekt: TenneT 2GW Platform, Februar bis Oktober 2023.
|
||||
|
||||
### JavaScript und XMLHttpRequest
|
||||
|
||||
@@ -176,6 +259,24 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
- Einsatz: Web- und Full-Stack-Entwicklung.
|
||||
- Kontext: berufliche Erfahrung in Webentwicklung und Full-Stack-Projekten.
|
||||
|
||||
### Preact und Redux
|
||||
|
||||
- Komplexität: Komponentenbasierte Single-Page Application mit mehreren voneinander abhängigen Datenansichten und gemeinsamem Interaktionszustand.
|
||||
- Einsatz: Aufbau des VISOR-Frontends mit Preact-Komponenten und Routing; zentrale Zustandsverwaltung für geladene und gefilterte OProc-Daten, Zoom, Suche, Markierungen und Auswahl; Redux-Actions und Reducer sowie Ableitung gefilterter Ansichten aus Daten- und Filterzustand.
|
||||
- Projekt: VISOR/OProc, August 2017 bis März 2018, belegt durch eigene Commits im Repository `in-transit`.
|
||||
|
||||
### SVG, Dagre und interaktive Prozessvisualisierung
|
||||
|
||||
- Komplexität: Gemeinsame Visualisierung zeitlicher, hierarchischer und gerichteter Prozessbeziehungen mit miteinander gekoppelten Interaktionen.
|
||||
- Einsatz: SVG-Timeline mit Zeitachsen, Zoom, Verschieben, Swimlanes, kollisionsarmer Stapelung und Verbindungslinien; gerichteter Abhängigkeitsgraph mit Dagre-Layout; visuelle Kodierung von Beteiligung und übergeordneten Prozessen; Hover-, Auswahl-, Filter-, Such- und Detailinteraktionen über beide Ansichten.
|
||||
- Projekt: VISOR/OProc, September 2017 bis März 2018, belegt durch eigene Commits im Repository `in-transit`.
|
||||
|
||||
### Moment.js
|
||||
|
||||
- Komplexität: Einheitliche Darstellung und Verarbeitung von Datumswerten in zeitbasierten Prozessansichten.
|
||||
- Einsatz: Formatierung der Zeitachse, Prozessbeschriftungen, Chronologie, Ergebnislisten und Detailansichten im Browser.
|
||||
- Projekt: VISOR/OProc, belegt durch Implementierung und eigene Commits im Repository `in-transit`.
|
||||
|
||||
### Shopware und WordPress
|
||||
|
||||
- Komplexität: Webshop- und Content-Management-Systeme.
|
||||
@@ -187,6 +288,8 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
- Komplexität: Datenmodellierung, Datenintegration und Schnittstellenprogrammierung.
|
||||
- Einsatz: Datenbankdesign und -optimierung; Integration und Kapselung von Schnittstellen, Datenformaten und Services.
|
||||
- Kontext: Webprojekte, selbstständige Full-Stack-Projekte und vrbits GmbH.
|
||||
- Zusätzlicher Einsatz: Entwurf und iterative Weiterentwicklung von OProc als offenem, URL-basiertem JSON-Datenmodell für Stadtentwicklungsprozesse mit Prozessen, Stakeholdern, Beteiligung, Orten, Resultaten, Dateien und Verweisen auf parlamentarische Daten.
|
||||
- Projekt: VISOR/OProc, August 2017 bis Mai 2018, belegt durch eigene Commits im Repository `oproc`.
|
||||
|
||||
## Betrieb, Qualität und Delivery
|
||||
|
||||
@@ -195,6 +298,7 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
- Komplexität: Continuous Integration für mehrere Zielplattformen.
|
||||
- Einsatz: CI-Pipelines auf lokalen und Remote-Runnern für sämtliche Zielplattformen.
|
||||
- Kontext: vrbits GmbH.
|
||||
- Zusätzlicher Einsatz: Geplanter und manuell auslösbarer GameCI-WebGL-Build mit automatisiertem Deployment für Roche RMD Rotkreuz.
|
||||
|
||||
### Docker, Linux, POSIX Shell und Systemadministration
|
||||
|
||||
@@ -323,4 +427,4 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
|
||||
|
||||
- Komplexität: Werkzeuge für Projektarbeit und Softwareentwicklung.
|
||||
- Einsatz: Im Lebenslauf als Tools aufgeführt.
|
||||
- Kontext: nicht weiter spezifiziert.
|
||||
- Kontext: nicht weiter spezifiziert.
|
||||
@@ -397,7 +397,7 @@
|
||||
\newcommand{\acvHeaderAfterAddressSkip}{-.5mm}
|
||||
\newcommand{\acvHeaderIconSep}{\space}
|
||||
\newcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
|
||||
\newcommand{\acvHeaderAfterSocialSkip}{6mm}
|
||||
\newcommand{\acvHeaderAfterSocialSkip}{2mm}
|
||||
\newcommand{\acvHeaderAfterQuoteSkip}{5mm}
|
||||
|
||||
% Others
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
%!TEX TS-program = xelatex
|
||||
\documentclass[11pt,a4paper]{awesome-cv}
|
||||
|
||||
\geometry{left=2cm,top=.8cm,right=2cm,bottom=1.8cm,footskip=.5cm}
|
||||
@@ -38,4 +37,4 @@
|
||||
\makecvheader
|
||||
\makecvfooter{}{Robert Wartenberg}{}
|
||||
\input{letters/coverletter.tex}
|
||||
\end{document}
|
||||
\end{document}
|
||||
+1
-2
@@ -1,4 +1,3 @@
|
||||
%!TEX TS-program = xelatex
|
||||
\documentclass[11pt,a4paper]{awesome-cv}
|
||||
|
||||
\geometry{left=1.4cm,top=.8cm,right=1.4cm,bottom=1.8cm,footskip=.5cm}
|
||||
@@ -13,4 +12,4 @@
|
||||
\makecvheaderwide
|
||||
\makecvfooter{\today}{Robert Wartenberg~~~\textperiodcentered~~~Curriculum Vitae}{\thepage}
|
||||
\input{letters/cv.tex}
|
||||
\end{document}
|
||||
\end{document}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
% Gemeinsame Stammdaten fuer Anschreiben und Lebenslauf.
|
||||
\name{Robert}{Wartenberg}
|
||||
\position{Entwickler{\enskip\cdotp\enskip}Software Engineer{\enskip\cdotp\enskip}Automatisierungstechnologe}
|
||||
\address{Robert-Matzke-Stra\ss e 43, 01127 Dresden}
|
||||
\position{Software Engineering{\enskip\cdotp\enskip}FullStack-Development{\enskip\cdotp\enskip}Systemadministration}
|
||||
\address{Robert-Matzke-Straße 43, 01127 Dresden}
|
||||
\mobile{(+49) 152 085 166 33}
|
||||
\email{rw@boogiedev.net}
|
||||
\github{RobTranquillo}
|
||||
|
||||
+10
-9
@@ -1,24 +1,25 @@
|
||||
% !TEX root = ../latex/coverletter.tex
|
||||
\recipient
|
||||
{IBH connect GmbH}
|
||||
{Heilbronner Stra\ss e 20 \\ 01189 Dresden}
|
||||
{Heilbronner Straße 20 \\ 01189 Dresden}
|
||||
\letterdate{\today}
|
||||
\lettertitle{Bewerbung als Entwickler (m/w/d)}
|
||||
\lettertitle{Bewerbung als Entwickler im DataCenter-Team}
|
||||
\letteropening{Sehr geehrter Herr Bierstedt,}
|
||||
\letterclosing{Mit freundlichen Gr\"u\ss en,}
|
||||
\letterclosing{Mit freundlichen Grüßen,}
|
||||
|
||||
\makelettertitle
|
||||
\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}
|
||||
\vspace{0.1mm}
|
||||
\makeletterclosing
|
||||
\makeletterclosing
|
||||
+67
-26
@@ -1,3 +1,4 @@
|
||||
% !TEX root = ../latex/cv.tex
|
||||
\quote{``Be the change that you want to see in the world."}
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
@@ -106,13 +107,13 @@
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{Fachinformatiker für Systemintegration} % Degree
|
||||
{BSZET Dresden / MAGIX} % Institution
|
||||
{BSZET Dresden / MAGIX} % Degree
|
||||
{Fachinformatiker für Systemintegration} % Institution
|
||||
{Dresden} % Location
|
||||
{2003 - 2006} % Date(s)
|
||||
{
|
||||
\begin{cvitems} % Description(s) bullet points
|
||||
\item {Schwerpunkt: Softwaretest und Systemintegration}
|
||||
\item {Schwerpunkt: Softwaretest, Systemintegration, Virtualisierung}
|
||||
\item {Ausbildungsbetrieb: MAGIX AG}
|
||||
\end{cvitems}
|
||||
}
|
||||
@@ -121,13 +122,13 @@
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{Technischer Assistent für Automatisierungs- und Computertechnik} % Degree
|
||||
{Berufliches Schulzentrum Weißwasser} % Institution
|
||||
{Technischer Assistent für Automatisierungs- und Computertechnik} % Degree
|
||||
{Weißwasser} % Location
|
||||
{1997 - 2000} % Date(s)
|
||||
{
|
||||
\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}
|
||||
\end{cvitems}
|
||||
}
|
||||
@@ -172,35 +173,44 @@
|
||||
\begin{cvskills}
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cvskill
|
||||
{Tools \& Systeme} % 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
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cvskill
|
||||
{Extended Reality} % Category
|
||||
{Unity, C\#, OpenXR, Mindport VR Builder, Needle Engine, Meta Quest SDK, Android \& iOS, 3D Vista} % Skills
|
||||
\cvskill
|
||||
{Programmiersprachen} % Category
|
||||
{C\#, JavaScript, PHP, SQL, CSS3, HTML5, Python, Arduino C++, Rust} % Skills
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cvskill
|
||||
{3D Bearbeitung} % Category
|
||||
{OpenSCAD, 3D-Druck, Blender, OpenGL, 3ds Max} % Skills
|
||||
\cvskill
|
||||
{Web Development} % Category
|
||||
{CRUD/REST APIs, JSON, XML, SOAP, CMS, LMS, Grafana, Supabase} % Skills
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cvskill
|
||||
{Programmiersprachen} % Category
|
||||
{Python, C\#, JavaScript, PHP, SQL, Rust, CSS3, HTML5, Arduino C} % Skills
|
||||
\cvskill
|
||||
{Systemadministration} % Category
|
||||
{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
|
||||
{Web Development} % Category
|
||||
{Node.js, Shopware, WordPress, React, Vue.js, CRUD/REST APIs, JSON, XML} % Skills
|
||||
\cvskill
|
||||
{Tools \& Methoden} % Category
|
||||
{Git, GitHub Actions, GameCI, CI/CD, Jira, Scrum, VSCode, TDD, NUnit, Moq, Pytest} % Skills
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cvskill
|
||||
{Maschinelles Lernen} % Category
|
||||
{ANNs seit 2016, LLMs seit 2020, RAG, OpenWebUI, LMStudio, GPUStack, MCP, BMAD, SpecKit, SDD, Context Engineering, Caveman u.v.m.} % Skills
|
||||
\cvskill
|
||||
{Extended Reality} % Category
|
||||
{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}
|
||||
|
||||
@@ -244,6 +254,37 @@
|
||||
|
||||
\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
|
||||
{Speaker} % Position
|
||||
@@ -268,7 +309,7 @@
|
||||
\vspace{0.5em} % Spacing after cventry
|
||||
|
||||
\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}
|
||||
|
||||
\begin{cvparagraphnarrow}
|
||||
|
||||
Reference in new issue
Block a user