Softwareentwicklung

Durch meine Expertise in der agilen Full-Stack-Softwareentwicklung bin ich in der Lage, maßgeschneiderte Lösungen zu entwickeln, die Ihre individuellen Anforderungen erfüllen. Von der Implementierung ansprechender und anwenderfreundlicher Benutzeroberflächen bis hin zur Umsetzung skalierbarer Back-End-Funktionen - ich sorge dafür, dass Ihre Software Ihren Wünschen und Ihren Geschäftszielen entspricht.

Frontend

React

React eignet sich hervorragend für komplexe Webanwendungen aufgrund der Popularität des Frameworks und dem damit einhergendenden soliden Ökosystem und der großen Anzahl an damit vertrauten Entwicklern. Ich habe diverse Projekte in React (mit Redux als State-Management-Library) umgesetzt (hauptsächlich in der Versicherungsbranche).

Angular und Ionic

Angular wird wie React zur Implementierung von Webanwendungen verwendet. Die Architektur von Angular-Webanwendungen ist restriktiver als die React-Anwendungen, was die Implementierungen vergleichbarer macht. Zudem ist das Framework vollständig und beinhaltet bereits Tooling für Datenbindung, Routing etc. Für die Energiewirtschaft, das Infektionsforschungsinstitut Helmholtz sowie kleinere Start-Ups habe ich Webanwendungen und native Apps in Angular und Ionic (der Counterpart von Angular für mobile Apps) implementiert.

TypeScript

TypeScript ist eine typisierte Obermenge von JavaScript, die optionale statische Typisierung, Interfaces und andere Spracherweiterungen bietet. Damit werden die Entwicklung und die Wartung von Anwendungen erleichtert und das Fehlerpotenzial verringert. Für alle Frontend-Projekte (mit Ausnahme von Flutter) und für die mit NodeJS entwickelten Backend-Projekte bin ich ein Verfechter von striktem Typescript.

Svelte

Vom Design des Frameworks her mein absoluter Favorit bei den Frontend-Frameworks. Ein minimalistisches Framework mit integriertem State-Management-System und einem Server-Side-Rendering-Kit direkt von den Svelte-Entwicklern. Diese Website ist beispielsweise mit Svelte gebaut.

Backend

NodeJS und NestJS

Die Javascript-Runtime NodeJS ermöglicht es JavaScript serverseitig auszuführen. NodeJS bietet ein asynchrones Event-getriebenes I/O-Modell, wodurch es sich besonders für skalierbare Netzwerkanwendungen eignet. NestJS ist ein auf NodeJS basierendes Framework und bietet eine Modulstruktur, Dependency Injection und Dekoratoren. In diesen Punkten orientiert es sich u.a. Framework SpringBoot aus der Java-Welt. Für größere NodeJS-Backends ist NestJS der Standard. Meine Erfahrung mit dieses Technologien reichen von Projekten in der Energiewirtschaft bis hin zu Projekten bei Forschungsinstituten.

Java und SpringBoot

Java ist eine objektorientierte, plattformunabhängige Programmiersprache, bekannt für ihre Portabilität durch den Einsatz von Bytecode, der auf der Java Virtual Machine (JVM) läuft. Spring Boot ist ein Framework innerhalb des Spring-Ökosystems, das den Prozess der Entwicklung und Konfiguration von produktiven Java-Anwendungen unterstützt. SpringBoot fördert eine saubere, klare Codestruktur und den Einsatz von Best Practices. Ich habe Projekte u.a. in der Energiebranche und der Versicherungsbranche mithilfe von SpringBoot erfolgreich und zuverlässig umgesetzt.

Infrastruktur und DevOps

Kubernetes und Docker

Kubernetes ist ein Open-Source-Orchestrierungssystem für Container, das als "Betriebssystem der Cloud" bezeichnet wird, da es das Deployment, die Skalierung und das Management von containerisierten Anwendungen in verteilten Umgebungen automatisiert und standardisiert. In dem Großteil meiner Projekte kam Kubernetes zum Einsatz, um die Bereitstellung, Verwaltung und Skalierung von containerisierte Anwendungen zu automatisieren.

AWS

AWS (Amazon Web Services) ist ein umfangreicher Cloud-Service-Anbieter von Amazon, der eine breite Palette von IaaS-, PaaS- und SaaS-Diensten bietet. Mit AWS können Unternehmen IT-Ressourcen wie Server, Speicher und Datenbanken auf Bedarfsbasis in der Cloud bereitstellen und verwalten, um die Skalierbarkeit, Flexibilität und Zuverlässigkeit zu erhöhen. Für AWS besitze ich neben Projekterfahrung auch das Zertifikat AWS Certified Cloud Practitioner.

Softwarearchitektur

Architektur-Bild

Basierend auf Ihren Anforderungen und Geschäftszielen entwerfe ich Ihnen maßgeschneiderte Cloud-native Softwarearchitekturen, die die Skalierbarkeit und die Robustheit Ihrer Anwendung gewährleisten und somit sowohl Ihre aktuellen als auch zukünftige Bedürfnisse berücksichtigen.

Ich besitze praktische Erfahrungen mit AWS und Kubernetes. Lose gekoppelte Services, die über Message Queues kommunizieren, erlauben eine Skalierbarkeit und Resilienz gegenüber Ausfällen sowie eine Anpassbarkeit der einzelnen Services und damit auch der Gesamtanwendung. Eines meiner Lieblingswerke auf diesem Gebiet ist "Enterprise Integration Patterns" by Gregor Hohpe and Bobby Woolf. Obwohl dieses ursprünglich bereits im Jahr 2003 veröffentlicht wurde, sind die Patterns und Konzepte nach wie vor relevant und eine Grundlage für viele moderne Cloud-Lösungen.

Architektur-Bild

Machine-Learning-Engineer

Machine Learning ist der Schlüssel zur Automatisierung und Verbesserung komplexer Prozesse. Mit meiner Expertise in diesem Bereich entwickle ich intelligente Algorithmen, die es Ihnen ermöglichen, wertvolle Erkenntnisse aus Ihren Daten zu gewinnen und innovative Lösungen zu schaffen. Ob es darum geht, Prognosen zu erstellen, Muster zu erkennen oder automatisierte Entscheidungsprozesse zu entwickeln – ich unterstütze Ihr Unternehmen dabei, KI-Technologien auf Ihre Geschäftsanforderungen abgestimmt einzusetzen.

Deep Learning

Mit PyTorch entwickle ich maßgeschneiderte Deep-Learning-Modelle, die beispielsweise Convolutional Neural Networks (CNNs) oder auch Transformer-Architekturen umfassen. Transformer-Modelle haben seit Ihrer Veröffentlichung mit dem Paper Attention is All You Need (2017) die Landschaft des Deep Learning revolutioniert. Diese Architektur ist der Grundbaustein von LLMs wie OpenAIs ChatGPT. Transformers haben sich als äußerst leistungsfähig für eine Vielzahl von Anwendungen in der natürlichen Sprachverarbeitung (NLP) und darüber hinaus erwiesen. Zu den häufigsten Einsatzgebieten gehören: Textgenerierung, Textklassifizierung, Bilderkennung und Bildverarbeitung.

LLMs

Der Wert von LLMs (Large-Language-Models) wird selbst nach dem aktuellen Hype um ChatGPT gerade bei Unternehmen noch deutlich unterschätzt. KI-Modelle, die aufwändig traniert werden mussten, lassen sich innerhalb von Stunden von LLMs leichter, billiger und vor allem deutlich akkurater lösen, komplett ohne kontext-spezifisches Training: Eine Aufwertung Ihres Chatbots? Das Extrahieren von Empfindungen bei Kundenrezessionen? Die Zusammenfassung und Gliederung von Nutzeranfragen? All dies ist durch die Verwendung von vortrainierten LLMs in kürzester Zeit produktionsbereit.

Im Gegensatz zu ChatGPT gibt es auch Open-Source-LLMs wie das von Meta entwickelte LLaMA, welche lokal betrieben werden können. Dadurch entfallen möglicherweise Datenschutzbedenken der Nutzer, da die Daten nicht an externe Server gesendet, sondern direkt auf Edge-Geräten verarbeitet werden.

Thomas Wangler
Friedrich-Spee-Str. 29
97072 Würzburg