IT & Software-Entwicklung

Photo by Fotis Fotopoulos / Unsplash

Beruflich bin ich Software-Entwickler mit Schwerpunkt in der Backendentwicklung in C++, C, Golang und PHP mit zusätzlicher Expertise in den Bereichen Linux-Administration, Datenbanken, Virtualisierung und Cloud-Umgebungen, sowie Anhänger von Open Source, Open Data und offenen Standards.

Software und IT

Als erfahrener Senior Software-Engineer entwickle ich Backend-Lösungen für komplexe Anforderungen mit PHP, Golang und C++. In diesen Sprachen habe ich mehrjährige Erfahrung in datenintensiven Projekten von großer Komplexität. Zu den dabei genutzten Bibliotheken und Frameworks gehören Protobuf und gRPC, Asio, GoogleTest und Google Benchmark, Apache Parquet, Laminas (Zend Framework), TYPO3, Magento und viele mehr. Für verschiedenste Aufgaben rund um die Softwareentwicklung nutze ich SQL, Bash, Python, Javascript, Flux.

Der Schwerpunkt bei der Datenhaltung liegt auf MySQL und MariaDB mit Datenbankclustern. Erfahrungen habe ich mit Datenbankgrößen von etlichen TB und einem Durchsatz von vielen GB pro Tag in Produktion. Eine Big Data-Lösung umfasste unter meiner Mitwirkung 500GB Datendurchsatz pro Tag. Für Statistiken und Analyse von Prozessdaten griff ich bisher stets auf InfluxDB in Verbindung mit Grafana zurück.

Neben der Softwareentwicklung war ich stets auch bei der Einrichtung und Wartung der IT-Infrastruktur involviert. Hier biete ich Expertise im Bereich der Administration von Linux-Systemen und Linux-Netzwerken an. Als Provisionionierungswerkzeuge empfehle ich Ansible, aber auch Saltstack ist mir vertraut. Zur Virtualisierung nutze ich Docker und Docker-Compose, Virtualbox und Vagrant. Bei der Cloud-Infrastruktur setze ich auf die Services der AWS, von S3 und EC2 für die Skalierung von WebServices bis zu Glue, Kinesis und Athena für die Bereitstellung und Aufbereitung der Daten für BI und Data Science.

Ich unterstütze gerne auch bei der Konzeption des Projekts und der Wahl der entsprechenden (Open Source-) Technologien. Mir liegt eine nachhaltige, robuste und wartbare System- und Softwarelandschaft am Herzen, die sich auch zukünftigen Anforderungen gewachsen zeigt.

Werdegang

Meinen Einstieg in die Softwareentwicklung fand ich 2015 als Autodidakt, der sich zuvor mit PHP, Javascript, HTML, CSS und MySQL vertraut gemacht hatte. Zunächst startete ich in einer Leipziger Digitalagentur, die sowohl Webseiten für kleinere Unternehmen betreute als auch anspruchsvolle B2B-Lösungen und komplexe Internet-Booking-Engines für namhafte Unternehmen der Tourismusbranche entwickelte. Zugute kam mir, dass ich bereits zuvor viele Jahre lang im Privaten ausschließlich Linux einsetzte. So konnte ich mich nicht nur in der Backend-Entwicklung einbringen, sondern war auch von Anfang an Teil der Bemühungen, stärker auf DevOps zu setzen.

Bei Netresearch wurde ich nach wenigen Monaten vom Trainee zum Junior und schließlich zum Professional-Entwickler befördert, bevor ich nach insgesamt zwei Jahren als Senior Backend-Entwickler zu CHECK24 wechselte. Seit 2021 gehöre ich zu einem kleinen Team von C++-Entwicklern, die sich um Applikationen mit besonderen Performance-Anforderungen kümmern. Wir entwickeln dort in C++, wo jeder Teil der Anwendung so hohen Anforderungen an Schnelligkeit und Verfügbarkeit unterliegt, dass sich selbst die Sprache Golang als nicht ausreichend erwiesen hat.

Vor meinem Einstieg in die Softwareentwicklung war ich wissenschaftlicher Mitarbeiter und Lehrbeauftragter im Fach Philosophie an den Universitäten Bochum, Braunschweig und Leipzig. Ganz bewusst hatte ich für mich entschieden, nach meiner Promotion die akademische Laufbahn zu verlassen und nochmal etwas gänzlich Neues anzufangen. Nachdem ich meine Dissertation 2015 an der Universität Luxemburg eingereicht und erfolgreich verteidigt hatte, war es dann soweit. An meiner Begeisterungsfähigkeit und Lernbereitschaft hat sich seither freilich nichts geändert. Sie richtet sich heute auf technische und architektonische Facetten der Softwareentwicklung, darauf, wie sich nachhaltige, robuste, wartbare Softwarelandschaften entwickeln lassen.