Meine Kernkompetenz ist das Konzeptionieren und Entwickeln von hochwertigen (Web-)Anwendungen auf Basis von Kotlin↓ und Java.
Im Bereich der Web-Technologien kenne ich mich neben HTML und CSS auch sehr gut mit den verschiedenen Optimierungsmöglichkeiten der clientseitigen Ladezeit und der Performance auf Server-Seite aus. Sehr wichtig für mich ist auch das Thema Web Security, zu dem ich eine umfassende Schulung absolviert habe.
In der Java / Java EE - Softwareentwicklung habe ich 18 Jahre Erfahrung und mit folgenden Frameworks / Technologien gearbeitet:
- Spring Boot WebMVC / Webflux (asynchronous + non-blocking)
- Spring Security
- Spring Batch
- Spring Web Flow
- Microservice-Architektur
- JPA 3.1 (Hibernate)
- JPA QL (HQL im Speziellen)
- XML, XSL
- JavaScript, jQuery, CSS, HTML
- Java: Multithreading, Concurrency, Functional Programming, Lambdas, Streams, Generics, Reflection, Immutable Datastructures, API-Design
- Kotlin: Coroutines, Ktor, Serialization
- GIS (Geographisches Informationssystem) / Geografische Datenverarbeitung
- Parser (ANTLR)
- Caching
- Test: JUnit, Selenium
- Server: JBoss, Tomcat
- Datenbanken: SQL Allgemein, Oracle, PostgreSQL, MariaDB, H2, Apache Derby
- Entwicklungswerkzeuge: IntelliJ IDEA, Git, SVN, FindBugs, Bugzilla, MediaWiki, Jira...
Seit dem Erscheinen von Kotlin 1.0 im Jahre 2016 verwende ich die funktionale Sprache erfolgreich in immer mehr Projekten. Sie kann leicht in bestehende Java-Anwendungen integriert werden und die Sprache ist in vielen Einsatzbereichen wesentlich mächtiger und auf einem höheren Abstraktionsniveau als Java, wodurch der Entwicklungsaufwand und die Fehlerrate sinkt. Außerdem wird durch KMP die Entwicklung einer Fullstack-Anwendung rein in Kotlin ermöglicht, wodurch sich die Entwicklungszeit für eine Anwendung weiter verkürzt und die Fehlerrate deutlich sinkt:
- Es ist nur noch eine Sprache zu erlernen
- Im Backend und Frontend gibt es die gleichen Datentypen und wenn gewünscht auch die gleichen Business-Klassen
- Derselbe Business-Code (z.B. Validierungen) kann sowohl im Backend als auch im Frontend laufen
- Refactorings können sehr einfach IDE-gestützt über das Backend/Frontend hinweg durchgeführt werden
Meine Aufgaben und Projekte umfassten im Bereich Java und Kotlin insbesondere:
- Entwurf und Implementierung einer Fullstack-Webanwendung auf Basis von Kotlin, Spring Boot und kvision zur Abbildung der Prozesse zur Herstellung von Proteinen und deren Lagerverwaltung in einer Biotechnologie-Firma
- Entwurf und Implementierung von Microservices mittels Spring Boot im Bankenumfeld
- Entwickeln eines umfangreichen Codegenerators (von Clients, Server-Interface und Model-Klassen zu APIs definiert in der OpenAPI-Spezifikation)
- Performance-Optimierungen über/in alle(n) Schichten
- Entwicklung einer hochperformanten GIS-Anwendung inkl. komplexer geografischer Datenverarbeitung
- Design von domänenspezifischen Datentypen (Währungen, Flächen, Prozentwerte etc), mit denen Berechnungen durchgeführt werden, die automatisch typsicher sind (es ist z.B. nicht möglich, einen Flächenwert und einen Euro-Betrag zu addieren) und der Anbindung an Hibernate.
- Konzeptionierung und Implementierung eines allgemeinen Frameworks zum einfachen Konfigurieren (durch XML) von komplexen Suchfunktionen (auf Basis des Hibernate-Objekt-Modells) und autom. Erzeugung der zugehörigen detaillierten Suchmasken
- Automatische Codegenerierungen von verschiedenen Anwendungsteilen (mit verständlichem und lesbarem Code!)
- Prüfung und Umsetzung von Web Security (externe Schulung erhalten)
- Geben von mehrtägigen internen Schulungen / Workshops zu den Themen JSF, Spring Web Flow und Facelets
In Delphi (unter Windows) habe ich ab 1998 unter anderem folgende Programme realisiert:
- Fotobearbeitungsprogramm zur sehr schnellen Stapel-Bearbeitung von z.B. Produktfotos
- Datei-Synchronisations-Programm, dass mit einer Script-Sprache gesteuert wird
- Druckprogramm zum einfachen und schnellen Drucken von Info-Flyern mit Fotos und allen Daten eines Autos für Autohäuser
- Schneller Bildbetrachter mit Diashow-Funktionalität
- Interaktive Visualisierung der Mandelbrot- und Julia-Menge
Weitere Kenntnisse und Sprachen:
- C++, PHP, Perl, Python, Assembler
- Grundlagen: Künstliche Intelligenz / Neuronale Netze
- Bildbearbeitung und Farbmanagement
- Webdesign, Web Usability
- TCP/IP, HTTP
Auf Wunsch sende ich Ihnen gerne mein Profil als PDF per E-Mail zu.
Bei Fragen zu meiner Verfügbarkeit oder zu meinen Erfahrungen: Bitte nehmen Sie Kontakt mit mir auf!