Files
latex-bewerbung2/knowledge/technologies.md
T

265 lines
15 KiB
Markdown

# Inhalt
Enthält die Technologien mit denen ich bereits gearbeitet habe.
Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Komplexität, den Einsatz und das dazugehörige Projekt.
## Softwareentwicklung und Extended Reality
### c# in Gameengine Unity3D
- Komplexität: Komplexe, interaktive Anwendungen und plattformübergreifende Produktentwicklung.
- Einsatz: Konzeption, Entwicklung und Betreuung von mehr als 20 VR-, AR- und Flat-3D-Anwendungen; Multi-Target-Entwicklung aus gemeinsamen Unity-Codebasen für XR, Web und Mobile; Client-Server-Kommunikation und Performance-Optimierung.
- Kontext: vrbits GmbH, seit 2019.
### OpenXR, Meta Quest SDK, Mindport VR Builder, Needle Engine und 3D Vista
- 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.
### Android und iOS
- Komplexität: Mobile Zielplattformen innerhalb plattformübergreifender Unity-Projekte.
- Einsatz: Bereitstellung von Anwendungen aus einer gemeinsamen Codebasis.
- Kontext: vrbits GmbH.
### Rust
- Komplexität: Grundlagen der Konsolen- und 3D-Anwendungsentwicklung mit Eingabeverarbeitung, Kontrollfluss, zeitgesteuerter Bewegung und Zustandsverwaltung.
- Einsatz: Zufallszahlenerzeugung mit `rand`, Einlesen von Standardeingaben, Typumwandlung mit `match`-basierter Fehlerbehandlung und Vergleich über `Ordering`; 3D-Spielprototyp mit Spielfeldgrenzen, fallenden Spielsteinen und Gamepad-Eingaben.
- Projekte: Rust-Ratespiel in `rust_guessing_game` (Oktober 2018) und Threetris in `threetris` (November 2018), jeweils durch eigene Commits belegt.
### kiss3d, nalgebra und stick
- Komplexität: Aufbau eines interaktiven 3D-Spielprototyps mit Rendering, mathematischer Positionierung und Gamepad-Steuerung.
- Einsatz: 3D-Fenster, Kamera, Plattform und Würfel mit `kiss3d`; Punkte und Translationen mit `nalgebra`; Abfrage von Gamepad-Eingaben mit `stick`.
- Projekt: Threetris in `threetris`, belegt durch eigene Commits im November 2018.
### 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.
### MediaWiki-API, Requests, Beautiful Soup und html2text
- Komplexität: Authentifizierte API-Integration und automatisierte Inhaltsmigration.
- Einsatz: Paginierter Abruf aller Wiki-Seiten; Login über Token; Auswertung von Kategorien, internen und externen Links, Bildern und Revisionen; Konvertierung von HTML nach Markdown.
- Projekt: MediaWiki-zu-Obsidian-Migration in `ScrapeMediawiki`, belegt durch eigene Commits von August bis Oktober 2024.
### Obsidian und Markdown
- Komplexität: Datenmigration und versionsierte Sicherung von Wissensdaten.
- Einsatz: Konvertierung von MediaWiki-Inhalten nach Markdown für Obsidian; automatisiertes Backup eines Obsidian-Vaults.
- Projekte: `ScrapeMediawiki` (August bis Oktober 2024) und `obsidian-backup` (März 2026), belegt durch eigene Commits.
### Jekyll und Liquid
- Komplexität: Erweiterung einer statischen Website um wiederverwendbare, datengetriebene Seitenelemente.
- Einsatz: Erstellung eines Full-Width-Kartenlayouts und Einbindung von Karten über Liquid-Templates; Pflege von Seiten mit YAML-Front-Matter und Markdown.
- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits von März bis Juli 2022.
### Ruby und Bundler
- Komplexität: Lokale Build- und Entwicklungsumgebung für eine statische Website unter Windows und Linux.
- Einsatz: Gem-basierte Abhängigkeiten, lokale Bundler-Konfiguration und Dokumentation der Ausführung mit `bundle exec jekyll serve`.
- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits im März und Mai 2022.
### Sass
- Komplexität: Responsive Komponenten- und Seiten-Styles innerhalb eines bestehenden Jekyll-Themes.
- Einsatz: Anpassung von Kartenüberschriften, Kartenlayout, Full-Width-Darstellung, Kontaktbereich, Footer und projektspezifischem Farbschema.
- Projekt: Website für den Fuß- und Radentscheid Dresden in `fuss-und-radentscheid-dresden`, belegt durch eigene Commits im Mai und Juli 2022.
### Arduino C
- Komplexität: Firmware-Entwicklung mit Klassenabstraktion, Hardware-Ansteuerung und Netzwerkkommunikation.
- Einsatz: ESP8266-Firmware für einen WLAN-gesteuerten LED-Rahmen; Initialisierung und Ansteuerung eines adressierbaren LED-Streifens sowie HTTP-Routen zur Steuerung von Farben und Effekten.
- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023.
### ESP8266, ESPAsyncTCP und ESPAsyncWebServer
- Komplexität: WLAN- und HTTP-Anbindung eines Mikrocontrollers.
- Einsatz: WLAN-Verbindung, asynchroner HTTP-Server auf Port 80 sowie GET-Routen für die Weboberfläche, direkte Farbsteuerung und Regenbogeneffekt.
- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023.
### Adafruit NeoPixel und WS2811/WS2812
- Komplexität: Einzelpixelsteuerung und Animation eines adressierbaren LED-Streifens.
- Einsatz: Initialisierung eines 80 LEDs umfassenden Streifens, Helligkeitssteuerung, RGB-Farbwerte und Effekte wie Farbwechsel, Lauflicht und Regenbogen.
- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023.
## Web, E-Commerce und Daten
### PHP, JavaScript und MySQL
- Komplexität: E-Commerce- und Warenwirtschaftssysteme sowie komplexe Datenbankmigrationen.
- Einsatz: Webshop-Entwicklung, eigene Lösungen, Migration komplexer Systeme und Datenbanken.
- Kontext: selbstständige Full-Stack-Projekte, 2017 bis 2019.
### 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.
### JavaScript und XMLHttpRequest
- Komplexität: Browserseitige Steuerung eines vernetzten Hardwaregeräts.
- Einsatz: Auslösen parameterisierter HTTP-GET-Anfragen zur Auswahl von LED-Programmen, Farben und Effektgeschwindigkeit.
- Projekt: WLAN-gesteuerter LED-Rahmen in `VRKeting-LED-Rahmen`, belegt durch eigene Commits von September 2022 bis Januar 2023.
### Node.js, React und Vue.js
- Komplexität: Moderne Web- und Frontend-Entwicklung.
- Einsatz: Web- und Full-Stack-Entwicklung.
- Kontext: berufliche Erfahrung in Webentwicklung und Full-Stack-Projekten.
### Shopware und WordPress
- Komplexität: Webshop- und Content-Management-Systeme.
- Einsatz: Entwicklung von Webshops mit Shopware sowie Webentwicklung.
- Kontext: selbstständige Full-Stack-Projekte.
### SQL, CRUD/REST-APIs, JSON und XML
- 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.
## Betrieb, Qualität und Delivery
### Git, GitHub Actions und GameCI
- Komplexität: Continuous Integration für mehrere Zielplattformen.
- Einsatz: CI-Pipelines auf lokalen und Remote-Runnern für sämtliche Zielplattformen.
- Kontext: vrbits GmbH.
### Docker, Linux, POSIX Shell und Systemadministration
- Komplexität: Betrieb und Administration von Entwicklungs- und Serversystemen.
- Einsatz: IT-Support, Systemadministration und Infrastrukturarbeit.
- Kontext: MAGIX Development GmbH, selbstständige Projekte sowie aktuelle Softwareentwicklung.
- Systeme: Debian-Server, Fedora im privaten Einsatz, NixOS, FreeBSD und CentOS.
- Zusätzlicher Einsatz: Eigene Shell-Automatisierung für Backups, Serverwartung und PhotoPrism-Indexierung in Docker.
- Projekt: `lokale-scripte`, November 2018 bis Mai 2026.
### NixOS und Nix
- Komplexität: Modulare, deklarative Konfiguration eines Mehrzweckservers.
- Einsatz: Aufteilung der Systemkonfiguration in Nix-Module für Nutzer, Speicher, Samba, Nextcloud, Tailscale, Cockpit, VeraCrypt und systemnahe Programme; automatische System-Upgrades.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von Januar bis November 2024.
### systemd
- Komplexität: Definition und Terminierung systemnaher Dienste.
- Einsatz: Service und stündlicher Timer für ein rsync-basiertes Backup sowie einmaliger Dienst zur Konfiguration der Festplatten-Energieverwaltung beim Systemstart.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von April bis November 2024.
### ZFS
- Komplexität: Verwaltung mehrerer Storage-Datasets auf einem NixOS-Server.
- Einsatz: Einbindung eines ZFS-Pools und separater Datasets für persönliche und gemeinsam genutzte Dateiablagen.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im Jahr 2024.
### Samba und SMB
- Komplexität: Bereitstellung von Netzwerkfreigaben für heterogene Client-Systeme.
- Einsatz: Konfiguration mehrerer Freigaben mit Berechtigungen; SMB2/SMB3-Protokollvorgaben, SMB-Signierung, Firewall-Freigaben und Windows-Netzwerkerkennung.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits von Januar bis November 2024.
### nginx, ACME und Let's Encrypt
- Komplexität: HTTPS-Bereitstellung und automatisierte Zertifikatsverwaltung für einen Dienst.
- Einsatz: nginx Virtual Host mit HTTPS-Erzwingung und ACME-Zertifikatsautomatisierung für Nextcloud.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im August 2024.
### Tailscale und Cockpit
- Komplexität: Fernzugriff und webbasierte Serveradministration.
- Einsatz: Aktivierung des Tailscale-Dienstes sowie Bereitstellung der Cockpit-Verwaltungsoberfläche.
- Projekt: Deklarative NixOS-Heimserver-Konfiguration in `bfds-configuration.nix`, belegt durch eigene Commits im Januar und November 2024.
### Restic
- Komplexität: Automatisierte, verschlüsselte Backup- und Wiederherstellungsabläufe.
- Einsatz: Sicherung über SFTP, Ausschlusslisten für nicht relevante Daten sowie Skripte für Backup und Wiederherstellung.
- Projekt: Private Infrastruktur- und Backup-Automatisierung in `lokale-scripte`, belegt durch eigene Commits von November 2021 bis Juli 2022.
### rsync und SSH
- Komplexität: Automatisierte, serverübergreifende Dateisynchronisation.
- Einsatz: Nextcloud-Backups über SSH mit dediziertem Schlüssel, Ausschlussregeln und anschließender Berechtigungsanpassung; Offsite-Synchronisation; konfigurationsgesteuertes Obsidian-Backup mit Schlüsseldatei oder benutzerdefiniertem Remote-Shell-Kommando.
- Projekte: Nextcloud-Backup und Betriebsautomatisierung sowie private Backup-Automatisierung in `lokale-scripte` (März 2020 bis Januar 2026) und Obsidian-Backup mit rsync und Git in `obsidian-backup` (März 2026), belegt durch eigene Commits.
### Git
- Komplexität: Versionsierte Backup-Historie mit idempotentem Ablauf.
- Einsatz: Automatische Initialisierung eines Backup-Repositorys und Commit-Erstellung ausschließlich nach erkannten Änderungen aus der rsync-Synchronisation.
- Projekt: Obsidian-Backup mit rsync und Git in `obsidian-backup`, belegt durch eigene Commits im März 2026.
### Nextcloud
- Komplexität: Betrieb und automatisierte Sicherung einer laufenden Instanz.
- Einsatz: Wartungsmodus während Backups, Dateiscans und Aufräumarbeiten; Sicherung von Dateien und Datenbanken.
- Projekt: Nextcloud-Backup und Betriebsautomatisierung in `lokale-scripte`, belegt durch eigene Commits von März 2020 bis Mai 2026.
### MySQL und PHP
- Komplexität: Automatisierte Datenbank-Sicherungen und Archivierung.
- Einsatz: Erstellung von Datenbank-Dumps und Archivierung für Nextcloud-Backups.
- Projekt: Nextcloud-Backup und Betriebsautomatisierung in `lokale-scripte`, belegt durch eigene Commits im Oktober 2023.
### VeraCrypt, Robocopy und Windows Batch/PowerShell
- Komplexität: Verschlüsselte, plattformübergreifende Offsite-Sicherungen.
- Einsatz: Einbinden verschlüsselter Datenträger und Spiegeln von Daten für externe Backups unter Windows.
- Projekt: Private Infrastruktur- und Backup-Automatisierung in `lokale-scripte`, belegt durch eigene Commits im November und Dezember 2024.
### Windows, macOS und Netzwerk
- Komplexität: Arbeit in heterogenen IT- und Client-Umgebungen.
- Einsatz: IT-Support, Systemadministration und plattformübergreifende Entwicklung.
- Kontext: MAGIX Development GmbH, Compaq Computer Corporation und vrbits GmbH.
### Automatisierte Tests und Qualitätssicherung
- Komplexität: Testentwicklung und Qualitätssicherung von Software.
- Einsatz: Softwaretest, automatisierte Testentwicklung und Qualitätssicherung.
- Kontext: MAGIX Development GmbH, 2006 bis 2017.
### PhotoPrism
- Komplexität: Betriebsautomatisierung einer containerisierten Fotoverwaltung.
- Einsatz: Periodische Indexierung aus einem cron-tauglichen Shell-Skript mit Sperrdatei, Signalbehandlung und Log-Rotation.
- Projekt: PhotoPrism-Indexierungsautomatisierung in `lokale-scripte`, belegt durch eigene Commits von Oktober 2025 bis Januar 2026.
## 3D und technische Gestaltung
### OpenSCAD, Blender, OpenGL, 3ds Max und 3D-Druck
- Komplexität: 3D-Bearbeitung und -Entwicklung.
- Einsatz: Im Lebenslauf als 3D-Kenntnisse aufgeführt.
- Kontext: nicht weiter spezifiziert.
## KI und maschinelles Lernen
### ANNs und LLMs
- Komplexität: Anwendung und kontinuierliche Beschäftigung mit maschinellem Lernen und Sprachmodellen.
- Einsatz: ANNs seit 2016; LLMs seit 2020; seit 2025 verstärkter Einsatz von KI im Unternehmenskontext und in der eigenen Softwareentwicklung.
- Kontext: berufliche und private Softwareentwicklung.
### RAG, OpenWebUI, LM Studio, GPUStack, MCP, BMAD, SpecKit, SDD, Context Engineering und Caveman
- Komplexität: Werkzeuge und Methoden für KI-gestützte Softwareentwicklung und LLM-Anwendungen.
- Einsatz: Im Lebenslauf als Kenntnisse aufgeführt.
- Kontext: berufliche und private Softwareentwicklung.
## Werkzeuge
### Jira und Visual Studio Code
- Komplexität: Werkzeuge für Projektarbeit und Softwareentwicklung.
- Einsatz: Im Lebenslauf als Tools aufgeführt.
- Kontext: nicht weiter spezifiziert.