Development, Architektur
Aktualisiert am 30.07.2024
Profil
Mitarbeiter eines Dienstleisters
Verfügbar ab: 01.08.2024
Verfügbar zu: 100%
davon vor Ort: 100%
Skill-Profil eines fest angestellten Mitarbeiters des Dienstleisters
Deutsch
Muttersprache
Englisch
C2

Einsatzorte

Einsatzorte

Deutschland
nicht möglich

Projekte

Projekte

4 Jahre 3 Monate
2019-11 - 2024-01

SW-Konzeption für einen Demonstrator zur noninvasiven Glukosemessung

Data Analyst, Lead Developer, Solution Architect Forschung Gesundheitswesen Konzeption ...
Data Analyst, Lead Developer, Solution Architect
Der Zweck des Projekts war die Umsetzung eines Patents zur nicht invasiven Blutzuckermessung. Die Entwicklung eines dafür geeigneten Tischgeräts in der Größe eines Midi-PC-Gehäuses wurde als Machbarkeitsstudie konzipiert. Es gibt noch kein vergleichbares Gerät mit der von DIN EN ISO-Norm 15197:2015 geforderten Genauigkeit.
  • Die Funktionssteuerung wurde initial in einer Low-Code Anwendung vorgenommen, da Projektteilnehmer des Fachbereichs in nicht-technischen Bereichen wie Forschung beheimatet waren. Testpersonen konnten eine Hand auf einen Sensor legen und von einer Lichtquelle durchstrahlen lassen. Die resultierenden Messdaten wurden mit Präzisionsdatenerfassungssystemen aufgezeichnet, ausgewertet und in Form von angepassten Steuermodalitäten genutzt. Die Erkenntnisse aus der Analyse ergaben ein tiefgreifendes Problem: Die Werte einer Messreihe wirkten sauber und exakt, jedoch konnten bei Vergleich untereinander Diskrepanzen festgestellt werden, die nicht mit der Logik oder den Versuchspersonen erklärbar waren. Dies führte zum Hinzuziehen eines Spezialisten für Messtechnik. So konnten die Störeinflüsse identifiziert werden und teils durch physische Modifikationen und teils durch geänderte Firmware und Steuerungssoftware eliminiert werden. Die initiale Low-Code-Anwendung wurde später durch Entwicklung einer dedizierten Mikrocontroller-Steuerung nebst mobiler App ergänzt.
  • Das Projekt wurde vom Bundesministerium für Wirtschaft und Klimaschutz gefördert, Projektpartner waren neben dem Kunden noch Patentinhaber, eine private Hochschule, Medizinisches Fachpersonal und ein Hersteller von Messgeräten. Die Firmware des Geräts wurde von drei, Labview von fünf, ESP32 und App von einer Person entwickelt.
  • Erstellung Machbarkeitsstudie anhand Patentidee, Datenlage und Konkurrenz
  • Unterstützung der Entwickler auf Partnerseite bei Firmware und LabView Umgebung
  • Durchführung Eigenversuche an Lebendgewebe
  • Analyse der Messwerte und Nutzung KI-Prozesse (Symbolische Regression u.a. Eureqa, TuringBot, HeuristicLab und pysr)
  • Migration NI DAQ/LabView-Steuerung zu autonomem MicroController (ESP32) mit ext. ADC
  • Erstellung mobiler App als Frontend und Brückenkopf zur Speicherung in der Cloud
Forschung Gesundheitswesen Konzeption Medizin Messtechnik Algorithmenentwicklung Benutzerschnittstellen Handskizzen Softwareauswahlprozess AWS AWS S3 Android Android Studio Arduino C Arduino IDE Backend Development Bluetooth C C++ C/C++ CMake CSV DBeaver Eclipse Eclipse C++ Embedded Software Flutter Frontend Development JAVA JAVA 14 JAVA JDBC Jupyter Notebooks Low-Code Matplotlib Microcontroller Microsoft Teams Notepad++ Python Numpy RESTful API SQL SQLite
Pharma & Gesundheit
4 Jahre 2 Monate
2019-08 - 2023-09

Systemadministration

3rd Level Support, Leiter Administration (IT), Support Manager Gesundheitswesen Benutzerschnittstellen Handskizzen ...
3rd Level Support, Leiter Administration (IT), Support Manager
Das Projekt umfasste die komplette technische Administration einer schlanken Muttergesellschaft. Im Speziellen sind dies u.a. Auswahl, Beschaffung und Verwaltung von Hardware- und Servicelösungen, des Netzwerks, der Zugänge, Webseiten und Domains. Zusätzlich wurden Inhouse IT-Service wie Wiki und Ticketsystem zur Verfügung gestellt.
  • Das Unternehmen begann nach Verkauf seines ursprünglichen Kerngeschäfts wieder von neuem. Das bedeutete neue Geschäftsräume und keine IT. Es mussten Netzwerke erstellt, Internetfähigkeit etabliert werden, PCs und Notebooks angeschafft werden. Bei IT-Dienstleistungen wurde besonderer Augenmerk auf DSVGO-Konformität gelegt, daher musste stets besondere Sorgfalt bzgl. Balance Nutzerfreundlichkeit und Rechtsprechung gelegt werden. Aufgrund fehlender Kapazitäten waren z.B. eine Cloud-Speicherlösung und ein VPS als Installationsziel für Vertriebssteuerungssoftware nötig und eine Webseite musste betrieben werden. Auch so einfache Tätigkeiten wie die Anpassung von PDFs um den Anforderungen des Bundesanzeigers zu genügen gehörten dazu, wie generelle Hilfestellung bei allen IT-Fragen. Die Aufgabe wurde vom Kandidaten alleine getragen.
  • Auswahl IT-Equipment für Mitarbeiter Notebooks, Smartphones, Router
  • Beratung bei Auswahl Telekommunikationsanbieter
  • Verwaltung Microsoft365/Office365 Tenant und DSVGO-Cloudspeicher
  • Verwaltung internes Netzwerk, Telefonanlage
  • VPS-Administration für IBM-Planning Analytics inkl. Mirantis (Docker) auf Windows Server
  • Verwaltung Webseite: Domänenanbieter, Wordpress
  • Anpassung der PDFs für Bundesanzeigerberichte
  • Einrichtung und Verwaltung Ticketsystem (Redmine) und Wiki (Mediawiki) auf Debian-Linux
  • VPS Migration von einem Angebot zum Anderen mittels Acronis Cloud Backup
Gesundheitswesen Benutzerschnittstellen Handskizzen Softwareauswahlprozess Ticket Management Apache-Webserver Docker Docker CLI Linux MediaWiki Microsoft Teams Microsoft Windows Server Redmine Windows CMD Batch WordPress
Pharma & Gesundheit
5 Monate
2019-03 - 2019-07

Entwicklung eines Bestelltools für verschiedene Werkstattsysteme

Fachverantwortlicher, Lead Developer, Solution Architect Automotive Agile Develpoment Architekturentwurfsprozess ...
Fachverantwortlicher, Lead Developer, Solution Architect
Ein Bestelltool für OEM-Autoteile war der Kern des Projektes. Dies umfasste sowohl Konzeption als auch Entwicklung in Form von Software für die Servicemitarbeiter.
  • Hintergrund war das freie Werkstätten sich die Möglichkeit OEM-Teile von Autoherstellern zu erwerben wünschen. Dies ist meist nur über deren Vertragswerkstätten möglich. Die elektronische Anbindung dieser Marktteilnehmer stellt eines der Hauptprobleme dar. Einerseits sind die Teilekataloge sehr heterogen was Aufteilung und Bezeichnungen angeht, andererseits sind die Systeme der Werkstätten nicht auf Interoperabilität ausgelegt und abgeschottet. Ausgangslage war dass die freien Werkstätten mit den Servicemitarbeitern telefonierten und Ihren Wunsch angaben. Mal exakt mit Teilenummer, mal als Beschreibung, so dass in dem Fall die Servicemitarbeiter Kataloge danach durchsuchten. Jede Partner-Vertragswerkstatt die solche Teile liefern konnte hingegen musste ein VPN, bzw. gar ein eigenes Notebook pro Servicemitarbeiter zur Verfügung stellen. Die bisherige Vorgehensweise skalierte also nicht.
  • Eine Analyse des Ist-Zustandes und der zur Verfügung stehenden Schnittstellen ergab einen Aufgabenkatalog, dessen Bestandteile von "zwingend notwenig und zu 100% machbar" bis zu "nice to have mit fragwürdiger Realisierbarkeit" bewertet wurden. Notwendig z.B., so lange die Quellkunden nicht auch elektronisch angebunden waren, war die Eingabe und Anpassung von Bestelldaten. Dies konnte durch eine CRUD-Applikation in Form einer Java EE - Anwendung zur Verfügung gestellt werden. Die nötigen Felder wurden auf Basis der bekannten Werkstattsysteme auf Partnerseite ermittelt. Weiterhin wurde die zukünftige Erweiterung der Software geplant, neben den Anschlüssen etwa auch das Kunden Management.
  • Das Team bestand neben dem Architekten noch aus drei Automotive-Fachleuten und einem zusätzlichen Entwickler.
  • Prozessanalyse, Beratung mit Geschäftsführer und Fachbereich zu realistischen Zielen
  • Erstellung eines Katalogs an Anforderungen für Schnittstellen der Anbieter
  • Parallel dazu Konzeption eines einfachen Inhouse Systems zur Bearbeitung
  • Aufbau Datenbankschema
  • Erstellung Prototyp Bestelleingabe
  • Konzeption Erweiterung zur Nutzung als KMS mit Anbindung zu Mitarbeiter VOIP-Telefonen
Automotive Agile Develpoment Architekturentwurfsprozess Benutzerschnittstellen Bug-Tracking-Systeme Entity Relationship Diagramme Manuelle Tests Backend Development CDI Docker Docker CLI Docker Compose Docker for Desktop Frontend Development Hibernate JAVA 11 JBoss Wildfly Java EE Java EJB CDI Java JPA NetBeans Redmine Vaadin yED Graph Editor
Automotive
1 Monat
2019-02 - 2019-02

Zusatzfunktionalität für einen Kafka - Consumer

Software Developer Gesundheitswesen Bug-Tracking-Systeme Unit-Testing ...
Software Developer
Das Projekt befasste sich mit der Erweiterung eines Kafka-Consumers um dynamische SQL-Ausführung.
  • Im Fachbereich kam der Wunsch beliebige SQL-Statement verwenden zu können, ohne jedes Mail eine Neuimplementation zu beantragen. Die Steuerung sollte über Pipeline-Parameter erfolgen. Bei der Umsetzung ergab sich das Problem dass manche Parameter bei der Konfiguration noch nicht feststehen aber während der Laufzeit zur Verfügung stehen. Beispielsweise sollte eine Vertrag_ID zur Verfügung stehen können. Bei der Umsetzung wurde analog zu Preparedstatements ein Parametersystem entwickelt. Die bekannten fixen Möglichkeiten wurden fest hinterlegt, in der Art "#V" für Vertrag_ID, jedoch sollten Daten auch beliebig dynamisch aus Datenbank und Umgebungsvariablen bezogen werden können. Es wurde daher die Funktionalität geschaffen, bestimmte Quellen als extra-Platzhalter in den SQL-Abfragen zu hinterlegen und die tatsächliche Bezeichnung aus einem weiteren Parameter zu beziehen.
  • Das Projekt wurde vom Kandidaten alleine umgesetzt.
  • Analyse Problemstellung mit Fachbereich
  • Demonstration einer Lösungsmöglichkeit an einfachem Beispiel
  • Implementation mit einer Auswahl an Platzhalter-Parametern und der Möglichkeit dynamisch beliebig viele weitere Parameter/Umgebungs- Variablen/ Quellen einzubinden
Gesundheitswesen Bug-Tracking-Systeme Unit-Testing Wasserfall Apache Kafka Atlassian Confluence Atlassian JIRA Backend Development JAVA JAVA 11 JUnit5 Jenkins Kafka Streams Micronaut Microservice Architektur Oracle RDBMS SQL Vagrant
Pharma & Gesundheit
3 Jahre 4 Monate
2015-10 - 2019-01

Anbindung Krankenhäuser/Lieferanten an System per EDI

Lead Developer, Solution Architect Gesundheitswesen Reverse Engineering Bug-Tracking-Systeme ...
Lead Developer, Solution Architect
Im Rahmen des fortlaufenden Projektes wurden Kunden, Krankenhäuser und Medikallieferanten, an das Bestellsystem elektronisch angebunden (EDI). Die Kunden befanden sich in der DACH-Region und hatten sehr unterschiedliche Materialwirtschaftssysteme wie SAP, Agfa-GWI, Aescudata und MS Dynamics NAV.
  • Das Gesundheitswesen war digital sehr heterogen aufgestellt, Bestellungen wurden größtenteils per Fax getätigt. Krankenhäuser- und Lieferanten konnten nicht direkt miteinander kommunizieren. Die Dateiformate sind untereinander inkompatibel, z.B.: EANCOM, GS1XML, SAP-XML, iDoc und CSV. Jedes davon hat viele Datenfelder, die teils in Spezifikationen, samt Verifikationsschema vorlagen, teils aber auch ohne jegliche Dokumentation aus einigen aussagekräftigen Beispielen ermittelt werden musste. Die Daten selbst wiederum mussten umgeschlüsselt werden, z.B. die Materialnr., die Bündelungsstufe und die Adress-Identifier. Standards wie EAN und GS1-Einheiten wurden in Kundensystemen kaum/fehlerhaft genutzt. Zu dem ist es üblich dass die Kunden ihre Systeme und Dateischnittstellen an ihre Bedürfnisse angepasst haben und so vom Standard abweichen und Spezialbehandlungen erfordern, beispielsweise Nutzung eines Kommentarfelds für strukturierte Information. Die genannten Probleme betrafen sowohl den Hinweg (Bestellungen, Konsignationen) als auch den Rückweg (Auftragsbestätigung, Lieferavis, Rechnung, usw.). Die Kunden waren auf unterschiedlichste Weise angebunden, z.B.: SOAP, FTP, FTPs, sFTP, X400, AS2 und Fax.
  • Daher wurde für jeden Kunden einzeln, eine individuelle Anbindung mit eigenen Workflows gebraucht.
  • Die Aufgaben umfassten das Parsen der Bestellungen, Überführen in ein einheitliches (internes) Format, Erkennung und Ersetzung der Materialnummern und -bündelungen mit einer internen GruppenID und je nach Adressat Ausgabe in einem bestimmten Format, wiederum ersetzten IDs und evtl. Adressen (elektronisch: GLN, EID, etc.). Die gleiche Arbeit in umgekehrter Reihenfolge war für die o.g. Rückdokumente nötig.
  • An dem Projekt arbeiteten durchschnittlich vier Entwickler gleichzeitig, mit einem Team an Katalogexperten und Servicemitarbeitern von etwa 20 Personen.
  • Interpretation Spezifikation des Dateiformats (so vorhanden) in Code
  • Reverse Engineering Spezifikation bei nicht vorhandener Dokumentation
  • Implementation kundenspezifischer Besonderheiten außerhalb der Spezifikation
  • Anpassung der Workflowpipeline kundenspezifische Behandlungen
  • Realisierung kundenspezifische Fax-Outputs
  • Zyklisches Refactoring basierend auf neuer Funktionalität
  • Evtl. zur Verfügungstellung spezieller Kommunikationsroutinen z.B. Curl-Skripte, Soap-Funktionalität, etc.
  • Einführung Rückdokumente-Funktionalität
Gesundheitswesen Reverse Engineering Bug-Tracking-Systeme Continuous Delivery Continuous Deployment Continuous Integration Datenanalyse Refactoring Software Architektur Statische Code-Analyse Wasserfall Bash Checkstyle Curl Dynamische PDF-Erzeugung Eclipse FindBugs JAVA 8 JAVA JAX-WS JAVA JAXB JAVA JAXP JAVA JDBC JAVA JMX Java JavaDoc Linux Microsoft Windows Server Oracle RDBMS Pmd SOAP SQL SQLPlus Toad WSDL Windows CMD Batch
Pharma & Gesundheit
2 Jahre 1 Monat
2013-09 - 2015-09

Migration onPremise Legacy Anwendung zu paralleler neuer Plattform

Backend Developer Gesundheitswesen Agile Develpoment Continuous Delivery ...
Backend Developer
Eine Java-Legacyanwendung zur Bestellabwicklung mit hohem Serviceaufwand sollte in die Cloud verschoben werden. Die Funktionalität wurde von Grund auf neu entwickelt, es kam ein Applikationsserver, No-SQL-Datenbanken und Suchindizes mit Redundanzen zum Einsatz. Das neue System lief parallel zum bestehenden und es wurde verglichen.
  • Hauptgrund war die nicht mehr skalierbare Verbindung von der Anzahl der Servicemitarbeiter mit wachsender Kundenzahl. Das manuelle Anpassen von Materialstammdaten des Kunden führte zu enormen Aufwänden. Der Kunde selbst sollte die Möglichkeit erhalten, seine Daten zu bereinigen. Das Projekt beinhaltet Ein-/Ausgabe von Bestellungen und Rückdokumenten (z.B. Rechnungen), Katalogimport, Bestellbearbeitung, Monitoring. Parallel dazu lief das alte System weiter und neue Kunden/Auftragsarten mussten auf beiden Systemen fortlaufend angepasst werden.
  • Der Fokus wurde auf die Cloud gelegt, so dass von "außen" auch auf die Bestellungen zugegriffen werden konnte. Es wurde AWS als Anbieter gewählt und dann die Basisfunktionalität des alten Systems mit Hilfe von Wildfly als Applikationsserver, AngularJS als Frontendtechnologie nachgestellt. Aus Performancegründen kamen neben den relationalen Datenbanken aus MongoDB und Solr zum Einsatz. Für die Ausgabeformate konnte als Template-Engine FreeMarker verwendet werden.
  • Das Team bestand aus mehr als zehn Entwicklern verteilt auf Deutschland und Rumänien, Projektsprache war Englisch.
  • Implementierung Backend
Gesundheitswesen Agile Develpoment Continuous Delivery Continuous Deployment Continuous Integration Kanban Scrum Unit-Testing AWS AWS EC2 AngularJS Apache Maven Apache Solr Arquillian Atlassian Confluence Atlassian Crucible Atlassian JIRA Backend Development FreeMarker Frontend Development IntelliJ JAVA JAVA 8 JBoss Wildfly JUnit JUnit4 MongoDB Node NPM Node Package Manager Node.js PostgreSQL bower
Pharma & Gesundheit
2 Jahre 10 Monate
2011-02 - 2013-11

Refactoring Legacy Projekt-Sammlung zu modularem Monolithen

Senior Software Engineer Gesundheitswesen Bug-Tracking-Systeme Continuous Delivery ...
Senior Software Engineer
Das Projekt befasste sich mit dem Refactoring eines historischen Monolithen hin zu besserer Wartbarkeit und Erweiterungsmöglichkeiten. Dies umfasste auch eine automatisierte Veröffentlichung und Nutzung von Codeänderungen, statt wie vorher die Binaries auf Entwicklermaschinen manuell zu erstellen und auf die Produktionsmaschinen zu kopieren.
  • Das ursprüngliche System war über Generationen von Entwicklern unterschiedlicher Erfahrungsstufen erstellt worden. Mehrfachimplementation der gleichen Funktionalität, zyklische Abhängigkeiten und fehlende Architekturvision erschwerten Fortführung des Tagesgeschäfts. Primärziel war die erleichterte Erweiterbarkeit. Die in kurzen Abständen neu zu integrierenden Kundensysteme und Funktionalitäten sollten sich verzögerungsfrei und ohne gegenseitige Blockade implementieren lassen. 15+ Teil-Projekten die bei jeder Änderung allesamt angefasst werden mussten, konnten auf neun besser isolierte reduziert werden. Zwei davon, grafische Frontends für Service und Admins gestartet über Webstart, konnten erst jetzt wieder, nach Jahren des Stillstands erweitert werden. Z.B. funktionierte das Auslesen von XML mittels JAXB vorher nicht mehr bei Installation/Update der JRE-Umgebung durch Mitarbeiter. Die Einführung von CI/CD erleichterte und beschleunigte das Produktivnehmen neuer Features und mittels Bugtracking waren Änderungen im nachhinein nachvollziehbar. Die Umstellung auf verteilte Versionskontrolle ermöglichte leichtere Behebung von Merge-Konflikten, welche auch durch o.g. Konzentrierung und Isolierung der Teilprojekten fast gänzlich verhindert wurden. Das Team bestand im Schnitt aus vier Entwicklern.
  • Analyse des tatsächlichen Workflows
  • Zentrierung gemeinsam genutzter Funktionalitäten
  • Refactoring von 15+ Einzel-Projekten auf 9 Module
  • Migration Java5 zu Java6, große Codeänderungen wg. JAXB-Integration in V6 nötig
  • Reverse Engineering eines .NET Rand-Projekts und Neuimplementierung als Java-Modul
  • Verantwortung Auswahl und Einführung Bug-Tracking-System (Redmine/ Chiliproject)
  • Verantwortung Auswahl und Einführung Buildserver (Hudson/ Jenkins)
  • Verantwortung Auswahl Versionskontrollsystem als Ersatz für SVN (git)
Gesundheitswesen Bug-Tracking-Systeme Continuous Delivery Continuous Deployment Continuous Integration Recherche Refactoring Ticket Management UML Unit-Testing .NET AWT Apache Ant Apache CSV Backend Development C# CI/CD Checkstyle Eclipse FindBugs Frontend Development GIT JAVA 5 JAVA 6 JAVA JAXB JAVA JDBC JAVA JMX JUnit Java Swing Java Webstart Jenkins MediaWiki Oracle RDBMS Pmd Redmine SQLPlus Subversion (SVN) Windows CMD Batch XML
Pharma & Gesundheit
1 Jahr 10 Monate
2009-04 - 2011-01

Monitoring Bestell- & Systemfehler, 3rd Level Support für Kunden

3rd Level Support Gesundheitswesen Bug-Tracking-Systeme Ticket Management ...
3rd Level Support
Das Projekt beinhaltete das Administrieren und Monitoren aller Hard- und Software-Komponenten des Bestellsystems. Der 3rd-Level-Support bei Kundenanfragen und die Verantwortung der Notfallbenachrichtigungen gehörte auch in den Aufgabenbereich
  • In dem Unternehmen war ein dedizierter IT-Beauftragter vorgesehen, die Tätigkeit wurde schichtweise auf mehrere Mitarbeiter verteilt. Diese überwachten das System und behoben im (technischen) Fehlerfall Probleme an Hard-/Software und mussten ggfs. direkt auf der Datenbank Einträge korrigieren. Die Verwaltung des Mail-Verteiler zur Benachrichtigung von Kunden bei Ausfällen oder Notsituationen oblag ihrer Verantwortung. Außerhalb der Schicht dienten die Experten als letzte Eskalationsstufe bei Problemen/Anfragen der Kunden, die nicht vom Bestellservice gelöst werden können.
  • Für diese Aufgabe sind insgesamt sechs Personen vorhanden gewesen, von denen mindestens einer zu jeder Zeit zwischen 07:30 und 18:00 die Rolle übernahm.
  • Aktives Monitoring Bestellprozesse
  • Problemlösung in Bestellung, Code, Datenbank und mit Kundenkontakt, inkl. Hoch-/Runterfahren der Systeme
  • Betreuung E-Mail Notverteiler
  • 3rd Level Kundenservice bei schwerwiegenden Problemen im Bestellprozess
  • Passives Monitoring der Server, u.a. Hardware, Software, Mail, Nagios (Icinga Vorläufer)
Gesundheitswesen Bug-Tracking-Systeme Ticket Management Apache-Webserver Eclipse Icinga JAVA JAVA 6 JAVA JMX Jenkins Linux MediaWiki Microsoft SQL Server Microsoft Windows Server Oracle RDBMS Redmine SQL Toad Windows CMD Batch XML
Pharma & Gesundheit
1 Jahr 6 Monate
2007-10 - 2009-03

Abrechnung von Telekommunikationsdaten

Database Developer, Software Developer Telekommunikation V-Modell/ V-Modell XT Backend Development ...
Database Developer, Software Developer
Der Telekommunikationsanbieter benötigt zur Abrechnung seiner Dienstleistung die Zuordnung Rohdaten zu Kunden und Tarif. Das Projekt dient als täglicher Sammelpunkt der verschiedenen Quelldaten aus Verbindungs- und Vertragsinformationen, verbindet diese und erstellt in Zusammenhang mit dem Datum (Tarife, Feiertage, MwSt.-Änderungen, etc) den nötigen Zwischenschritt für die Rechnungsstellung am Ende des Abrechnungszeitraum.
  • Die Quelldaten wie z.B.: bei DSL-Anschlüssen "die letzte Meile" der Telekom beinhalten Leitungs-IDs und Zeitstempel. Diese müssen anhand verschiedener Kriterien spezifischen Kunden zugeordnet, transformiert und entsprechend des Vertrags tarifiert werden. Dazu kam mehrere Java-SE-Anwendungen zum Einsatz, zu der Zeit auf 32-Bit-Serverarchitektur, mit 3-4 GB-Arbeitsspeicherlimit. Daher musste sehr effizient programmiert werden. Bei mehreren Millionen Datensätzen pro Tag die mit umfangreichen Datenbankoperationen Informationen sammeln kommt es schnell zu einem erhöhten Speicherbedarf. Es kamen mehrere Optimierungsstrategien zum Einsatz, Nutzung von der MyISAM-Engine in MySQL um die benötigten Daten der Sybase Hauptdatenbank zu "cachen". Realisiert wurde das durch einen permanente Prozess der relevante Änderungen durch DB-Trigger erkannte und die benötigten Daten replizierte. So konnte dann der Hauptprozess in einem Batch-Verfahren effizienter arbeiten.
  • Implementation Formatreader
  • Refactoring wegen kritischer Performance beu Millionen Datensätzen täglich auf 32Bit JVM (3-4GB-Grenze)
  • Implementation Tariflogik (Feiertage, Tageszeit, Mindestvertragslaufzeit, etc.)
  • Maintenance und Upgrade des Sybase -> MySQL Replikators auf Java 6
  • Profiling und Fehlerbehebung
Telekommunikation V-Modell/ V-Modell XT Backend Development Bugzilla DbUnit Eclipse JAVA JAVA 6 JAVA JDBC JAVA JMX JProfiler JUnit MySQL SQL Sybase TWiki
Telekommunikation
6 Monate
2007-04 - 2007-09

Tool zur Bearbeitung/Erstellung von abrechnungsrelevanten DB-Einträgen

Software Developer Telekommunikation V-Modell/ V-Modell XT Bugzilla ...
Software Developer
Das Projekt hatte ein CRUD-Tool zugeschnitten auf den Fachbereich für Tarifkonditionen zum Zweck. Bis dahin mussten die Mitarbeiter entweder extra Tickets erstellen damit die IT die notwendigen Datenbankänderungen vornahm oder ein veraltetes Vorgängerprogramm nutzen, dessen Anzeige nicht den Gegebenheiten der Datenbank entsprach. Nebenbei diente das Programm als Hibernate Pilotprojekt um die Eignung im Unternehmenseinsatz zu testen.
  • Die Aufgabenstellung war klar, fast 1:1 die entsprechenden Datenbanktabellen als View anzeigen und Änderungen erlauben. Es gab eine Vielzahl von Tabellen und es wäre sehr zeitaufwendig gewesen jede davon einzeln zu erstellen. Daher wurde zweigleisig verfahren. Einerseits wurden aus der Datenbank Entities generiert und aus denen mit Hilfe eines selbstgeschriebenen Mini-Tools automatisch generische Swing-Oberflächen erzeugt, parallel dazu wurde die Möglichkeit geschaffen per XML in einer einfachen Art eigene Views zu erstellen und die automatischen zu ersetzen.
  • Implementation Frontendview-Generator, der automatisch aus Modellen eine Swing-Oberfläche erstellt
  • Implementation Backend, Modelle fast 1:1 den DB-Tabellen entsprechend
  • Implementation Frontend mithilfe der vorherigen Views und Anbindung an Models
  • Demonstration vor Fachbereich
Telekommunikation V-Modell/ V-Modell XT Bugzilla Eclipse Frontend Development Hibernate JAVA JAVA 6 Java Swing SQL Sybase TWiki XML
Telekommunikation
6 Monate
2006-10 - 2007-03

DB Funktionalität für Kundenportal

Database Developer Telekommunikation Bug-Tracking-Systeme V-Modell/ V-Modell XT ...
Database Developer
Das Projekt stellt die Backend-Funktionalität für das Kunden-Frontend eines Telekommunikationsanbieters zur Verfügung. Das Kundenportal bietet neben üblichen Vorgänge wie Anpassung Adresse auch Anzeigen an, wie etwa Rechnungsübersicht, Vertragstarif und aktueller Abrechnungszeitraum.
  • Die Daten für das Frontend wurden aus der Datenbank bezogen, mittels Aufruf von Stored Procedures auf T-SQL (Sybase) Basis. Die Skripte sind seit Jahrzehnten von unterschiedlichen Entwickler erstellt und gepflegt worden. Eine Beispielfunktionalität könnte sein: "Gib mir die Vertragsdaten für VertragID X bei Kunde Y". Dafür werden die Informationen aus den DB-Tabellen zusammengesucht und nachdem es als Stored Procedure hinterlegt ist, kann das Frontend darauf zugreifen.
  • Für die Skripte generell gab es Dutzende Entwickler, während der Projektdauer war der Kandidat alleine für den beschriebenen Bereich zuständig.
  • Bearbeitung von Tickets als Auftragsgrundlage
  • Implementierung der benötigten Funktionalität in SQL
  • Manueller Test der Funktionalität und Prüfung auf Nebenwirkungen
  • Abgleich mit Fachabteilung auf Vollständigkeit
Telekommunikation Bug-Tracking-Systeme V-Modell/ V-Modell XT Backend Development Bugzilla CVS SQL Sybase TWiki
Telekommunikation
3 Monate
2006-07 - 2006-09

Einführung Mobilfunkabrechnung in DSL-Umgebung

Software Developer Telekommunikation Bug-Tracking-Systeme Manuelle Tests ...
Software Developer
Einführung Mobilfunkdatenabrechnung bei Anbieter von Telekommunikationsleistungen
  • Der Projektkunde war bereits Deutschlandweit als Anbieter von DSL und Festnetz etabliert. Hinzu kam neu die Option auf Mobilfunk. Dies musste analog zu bisherigen Produkten abgerechnet werden können. Da Mobilfunk zu dem Zeitpunkt auf anderer Abrechnungsmodalität beruhte (keine Flatrates, Sekunden-, bzw. Bytegenaue Abrechnung) musste das zugrunde liegende System grundlegend angepasst werden, insbesondere neue Tarifmodell-Optionen und Berechnungsmodelle.
  • Analyse Abrechnungsmodell des Partnermobilfunkunternehmens anhand der Spezifikation
  • Anpassung DB-Schema auf neue Erfordernisse
  • Implementierung Abrechnungslogik in Java, Unit-Tests
  • Refactoring System zu parallelen Queues um Durchsatz zu erhöhen
Telekommunikation Bug-Tracking-Systeme Manuelle Tests Unit-Testing V-Modell/ V-Modell XT Backend Development Bugzilla JAVA JAVA JDBC MySQL SQL Sybase TWiki
Telekommunikation
5 Monate
2005-04 - 2005-08

Robotik mit Mustererkennung

Software Developer Forschung Kunst und Kultur Algorithmenentwicklung ...
Software Developer
Eine Roboter Performance für eine Ausstellung in der Kunstakademie.
  • Es sollte eine Kunst-Performance aus zwei Robotern der Active Media Robotics erstellt werden. Sie flanierten entlang der Gallery, schauten sich um und kommunizierten sowohl miteinander als auch mit einer Installation von Rückprojektionswänden. Es sollte eine Erfahrung von menschlichen Museumsbesuchern nachempfunden werden. Konzept war vorgegeben und von der FH-Trier als Bachelor Abschlussarbeit akzeptiert. Das Projekt wurde ausgestellt in der Kunstakademie Trier im Rahmen des Kultursommers 2005.
  • Die Entwicklungsarbeit wurde vom Kandidaten allein geleistet.
  • Implementation Robotersteuerung mit Markov Navigation in C++ mit Saphira/Aria-Framework
  • Implementation Kamerasteuerung mit Gesichtserkennung durch OpenCV in C++
  • Implementation Socket-Kommunikation in C++
  • Ausgestaltung als B.Sc. Abschlussarbeit
Forschung Kunst und Kultur Algorithmenentwicklung Handskizzen Manuelle Tests Backend Development C C++ C/C++ Microsoft Visual Studio OpenCV
Gesellschaft
5 Monate
2003-05 - 2003-09

Anpassung Oberfläche Java Tool

Software Developer IT-Dienstleistung UI Design AWT ...
Software Developer
Projektinhalt war Wartung und Anpassung eines Inhouse entwickelten Standalone Java Projekts für Stammdaten- und Vertragspflege. Dies umfasste auch die Migration von IDE-gebundener Layout-Technologie hin zu Standards.
  • Das Datenmodell stand fest und das Datenbinding fand mittels proprietärer Softwarelösung eines benachbarten Unternehmens statt. Die Arbeit konzentrierte sich vornehmlich um das optische Verfeinern oder manuelles Theming ohne Engine. Ein besonderer Aufgabenpunkt stellte die Umstellung auf Java SE 1.2 AWT und Swing-Elemente dar.
  • Das Frontend-Team bestand aus zwei Entwicklern.
  • Implementation/Erweiterung Frontend in Java
  • Migration Oberflächen von Borland XY-Layout zu Java Swing Standards
IT-Dienstleistung UI Design AWT CVS Frontend Development JAVA JBuilder Java Swing
Dienstleistungen & Handwerk
4 Monate
2000-04 - 2000-07

Eckenerkennung in Bildern

Software Developer Forschung Handskizzen Backend Development ...
Software Developer
Erweiterung eines Grafik-Demonstrationstools um Eckenerkennung. Das Programm diente an der Universität als C++ Übungsumgebung. Die Aufgabe konzentrierte sich darauf verschiedene Eckendetektoren zu nutzen wie z.B.: Rosenfeld oder CS99
  • Der Sourcecode lag als Microsoft Visual Studio 6.0 Projekt vor. Die visuellen Elemente waren bereits in QT und OpenGL verfasst. Die Projektarbeit bestand darin selbstständig Informationen über existierende Möglichkeiten und Algorithmen zu finden, diese in C++ umzusetzen und in das Programm einzubinden. Als Quelle dienten hauptsächlich wissenschaftliche Papers. Als Abschluss wurde die Funktionalität demonstriert und in einer Fachdiskussion verteidigt.
  • Das Team bestand aus zwei Informatikstudenten.
  • Informationsbeschaffung zu existierenden Möglichkeiten, Studium der Fach-Papers
  • Implementierung einer aussagekräftigen Auswahl an Algorithmen
  • Vorführung und Verteidigung der Ergebnisse
Forschung Handskizzen Backend Development C++ C/C++ Doxygen Microsoft Visual C++ Microsoft Visual Studio OpenGL Qt Qt C++
Gesellschaft

Aus- und Weiterbildung

Aus- und Weiterbildung

Studium - Informatik
Abschluss: B.Sc.

Zertifikate
  • Green Software for Practitioners (LFC 131)
  • Cambridge English: Proficiency (CPE)
  • Der agile Softwarearchitekt

Position

Position

  • Backend Developer
  • Database Developer
  • Developer
  • Entwickler
  • Fachverantwortlicher
  • Lead Developer
  • Mobile Developer
  • Senior Software Engineer
  • Software Architect
  • Software Developer
  • Solution Architect
  • Solution Designer

Kompetenzen

Kompetenzen

Schwerpunkte

Solutiondesign
Legacy-Refactoring und -Migration
Java-Backend Entwicklung

Produkte / Standards / Erfahrungen / Methoden

Profil
Der Mitarbeiter verfügt über einen breiten Erfahrungsschatz in IT-Projekten und überzeugt durch sein ausgeprägtes technisches Verständnis. Komplexe Problemstellungen sieht er als Herausforderung, die er mit zielorientierter Determination angeht. Gerade bei Modernisierung oder Architekturpflege von Legacy-Projekten zahlt sich seine planvolle Sorgfalt aus. Durch Eigeninitiative und teamorientierte Werthaltung schafft er dauerhafte Mitarbeitermotivation auch bei schwierigen Situationen. Er bietet bei Projektplanungen nachvollziehbare Analysen und Qualität der Architektur. In kritischen Notfällen hingegen zahlt sich sein breit gefächerter Hintergrund in Form von Pragmatismus aus. Er zeichnet sich ebenso für analytische Planungsaufgaben mit Qualitätsanspruch wie auch bei Burning Plattforms aus.

Persönliche Stärken
  • Analytische Denkweise
  • Technologieagnostische Lösungsfindung

Fachlichkeit
  • Allgemein
    • Anwendungsmodernisierung
    • CSV (comma-separated values)
    • Datenaggregation
    • Datenaustausch
    • Datenmigration
    • Datensicherung
    • Datenvisualisierung
    • Embedded
    • Entscheidungsfindung
    • Forschung
    • Frontendentwicklung
    • Green IT
    • Hardware
    • IT Infrastruktur
    • IT-Dienstleistung
    • Internet of Things
    • KI
    • Kollaborationswerkzeuge
    • Konzeption
    • Maintenance
    • Mitarbeiter App
    • Mobile App Entwicklung
    • Monitoring
    • Nachhaltige Softwareentwicklung
    • Netzinfrastruktur
    • Pharma
    • Produktentwicklung
    • Reverse Engineering
    • Robotik
    • SOAP
    • Softwareentwicklung
    • Softwaremigration
    • Support
    • Systemadministration
    • Telekommunikation
    • Teleservices
    • V-Modell
  • Automotive
    • Automotive, Workshop Tools
  • IT-Architektur
    • Ablösung von Legacy-Systemen
    • Architektur großer Software-Systeme
    • Cloud Services (SaaS, IaaS, PaaS, Faas)
    • Cloud-Migration
    • IT-Modernisierung (Proof of Concept, Planung, Migration)
    • Prototyping
    • Verbesserung und Erweiterung von Architekturen
  • Soziales
    • Gesundheitswesen
  • Travel, Transport & Logistics
    • Billing

Methoden
  • Agile
    • Agile Develpoment
    • DevOps
    • Scrum
  • Beratung/ Consulting
    • Benutzerschnittstellen
  • Dokumentation
    • Entity Relationship Diagramme
    • Recherche
    • UML
  • IT-Architektur Vorgehensweisen
    • Architekturentwurfsprozess
  • Projektmanagement
    • Ticket Management
  • Qualitätssicherung
    • Bug-Tracking-Systeme
    • Clean Code
    • Code Coverage
    • Code Review
    • Continuous Deployment
    • Continuous Integration
    • Fehleranalyse
    • Manuelle Tests
    • Pair Programming
    • Statische Code-Analyse
    • Unit-Testing
    • User Testing
  • Requirements
    • Anforderungsanalyse & -management
    • Datenanalyse
    • Domain Driven Design (DDD)

Technologien & Tools
  • AI/ML
    • Pandas
  • Application Server
    • Apache Tomcat
    • Apache-Webserver
    • JBoss Wildfly
  • Applikationen (Office, Adobe, ...)
    • GIMP
    • Microsoft Excel
    • Microsoft Office
    • Microsoft Outlook
    • Microsoft Powerpoint
    • Microsoft Word
    • Vim
    • yED Graph Editor
  • BPMN und Geschäftsprozesse
    • Low-Code
  • C/C++ Frameworks und Technologien
    • C/C++
    • CppUnit
    • LLVM
    • gcc
  • Cloud
    • AWS
    • AWS EC2
    • AWS S3
  • Container; Containertools; Containerplattformen
    • Docker
    • Docker CLI
    • Docker Compose
    • Docker for Desktop
    • Podman
  • Content Management
    • WordPress
  • DevOps
    • Ansible
    • CI/CD
    • Cruisecontrol
    • Hudson
    • Jenkins
    • PUTTY
    • Puppet
    • RedHat Package Manager (RPM)
    • Shell Scripting
    • WinSCP
    • Jira
  • Dokumentation
    • Doxygen
    • Unified Modeling Language (UML)
  • Entwicklungstooling
    • Android SDK
    • Apache Ant
    • CMake
    • Eclipse Memory Analyzer
    • JProfiler
    • JRebel
    • MarkDown
    • Maven
    • PlatformIO
    • Postman
    • SciTE
    • bower
  • Entwicklungsumgebungen
    • Borland C++ Builder
    • Eclipse
    • Eclipse C++
    • Emacs
    • IntelliJ
    • JBuilder
    • Jupyter Notebooks
    • Microsoft Visual Studio
    • Microsoft Visual Studio Code
    • NetBeans
  • Hardwareinfrastruktur
    • LAN-Architekturen
    • WLAN Architekturen
  • Identity Access Management
    • KeePass
    • Keycloak
    • LDAP
  • Integrationsplattformen und Technologien (Messaging; API)
    • Apache HTTP Server
    • SOAP
    • WSDL
  • IoT
    • Arduino C
    • Arduino IDE
    • Arduino Uno
    • Microcontroller
    • Mikrocontroller
  • Java Frameworks & Standards
    • AspectJ
    • FreeMarker
    • GraalVM
    • JAVA JAXB
    • JAVA JDBC
    • JAVA JMX
    • JSoup
    • Java EE
    • Java EJB
    • Java EJB CDI
    • Java EJB3
    • Java FX
    • Java JEE
    • Java JPA
    • Java Swing
    • OpenCV
    • StAX
    • Vaadin
  • JavaScript Frontend Frameworks
    • AngularJS
    • Node NPM Node Package Manager
  • Kollaborationswerkzeuge
    • MediaWiki
    • Microsoft Teams
    • Redmine
    • TWiki
  • Microsoft Frameworks & Technologien
    • .NET
    • .NET Core
    • PowerShell
  • Mobile
    • Android
    • Bluetooth
    • Flutter
  • Muster, Programmiermodelle & Standards
    • Backend Development
    • CQRS
    • MVC
    • MVP
    • Microprofile
    • Microservice Architektur
  • Python Frameworks
    • Matplotlib
    • NumPy
    • Pip
    • Python Numpy
    • Python OpenCV
    • SciPy
  • Qualitätssicherungs- und Performance Tooling
    • Atlassian Crucible
    • Checkstyle
    • FindBugs
    • Pmd
    • SonarQube
  • Security Frameworks, Tooling & Standards
    • Open SSH
    • OpenSSL
    • PKI
    • Two-factor authentication (2FA)
    • Verschlüsselungsverfahren
    • WireShark
  • Sonstige
    • Blockchain
    • Domain Specific Language
    • Embedded Software
    • Netzwerkarchitektur
    • Notepad++
    • SVG
    • TCP/IP
  • Sourcecodeverwaltung
    • CVS
    • GIT
    • GitHub
    • GitLab
    • GitLab CI
    • Github Actions
    • Subversion (SVN)
  • Testframeworks
    • Arquillian
    • DB Unit
    • DbUnit
    • JUnit
    • JUnit4
    • JUnit5
  • Virtualisierung
    • Oracle VM VirtualBox
  • Web Frontend
    • CSS
    • HTML/CSS

Betriebssysteme

Linux Fedora
Linux Debian
Linux
GNU/Linux
DOS
Curl
Bash
Linux Knoppix
Linux Sound Alsa
Linux Sound Pulse Audio
Linux Ubuntu
Microsoft Windows
Microsoft Windows Server
Win/NT
Windows CMD Batch
Windows Subsystem for Linux
awk
vi
sed

Programmiersprachen

Assembler
C
C#
C++
Groovy
IBM RPG
JAVA
11, 17, 18, 5, 6, 8
JavaScript
LUA
Microsoft Visual C
Microsoft Visual C++
Turbo Pascal
JavaFx
YAML
XSD
XML
SQL
JSON
HTML
CSV
LaTeX

Datenbanken

Apache Solr
MongoDB
Toad
Flyway DB Migration
Mybatis Migrations
ODBC
Oracle PL/SQL
PL/SQL
DBeaver
SQuirreL
Sybase
SQLite
PostgreSQL
NoSQL
MySQL
Oracle RDBMS
Microsoft SQL Server
Maria DB
Heidi SQL
H2 Database

Einsatzorte

Einsatzorte

Deutschland
nicht möglich

Projekte

Projekte

4 Jahre 3 Monate
2019-11 - 2024-01

SW-Konzeption für einen Demonstrator zur noninvasiven Glukosemessung

Data Analyst, Lead Developer, Solution Architect Forschung Gesundheitswesen Konzeption ...
Data Analyst, Lead Developer, Solution Architect
Der Zweck des Projekts war die Umsetzung eines Patents zur nicht invasiven Blutzuckermessung. Die Entwicklung eines dafür geeigneten Tischgeräts in der Größe eines Midi-PC-Gehäuses wurde als Machbarkeitsstudie konzipiert. Es gibt noch kein vergleichbares Gerät mit der von DIN EN ISO-Norm 15197:2015 geforderten Genauigkeit.
  • Die Funktionssteuerung wurde initial in einer Low-Code Anwendung vorgenommen, da Projektteilnehmer des Fachbereichs in nicht-technischen Bereichen wie Forschung beheimatet waren. Testpersonen konnten eine Hand auf einen Sensor legen und von einer Lichtquelle durchstrahlen lassen. Die resultierenden Messdaten wurden mit Präzisionsdatenerfassungssystemen aufgezeichnet, ausgewertet und in Form von angepassten Steuermodalitäten genutzt. Die Erkenntnisse aus der Analyse ergaben ein tiefgreifendes Problem: Die Werte einer Messreihe wirkten sauber und exakt, jedoch konnten bei Vergleich untereinander Diskrepanzen festgestellt werden, die nicht mit der Logik oder den Versuchspersonen erklärbar waren. Dies führte zum Hinzuziehen eines Spezialisten für Messtechnik. So konnten die Störeinflüsse identifiziert werden und teils durch physische Modifikationen und teils durch geänderte Firmware und Steuerungssoftware eliminiert werden. Die initiale Low-Code-Anwendung wurde später durch Entwicklung einer dedizierten Mikrocontroller-Steuerung nebst mobiler App ergänzt.
  • Das Projekt wurde vom Bundesministerium für Wirtschaft und Klimaschutz gefördert, Projektpartner waren neben dem Kunden noch Patentinhaber, eine private Hochschule, Medizinisches Fachpersonal und ein Hersteller von Messgeräten. Die Firmware des Geräts wurde von drei, Labview von fünf, ESP32 und App von einer Person entwickelt.
  • Erstellung Machbarkeitsstudie anhand Patentidee, Datenlage und Konkurrenz
  • Unterstützung der Entwickler auf Partnerseite bei Firmware und LabView Umgebung
  • Durchführung Eigenversuche an Lebendgewebe
  • Analyse der Messwerte und Nutzung KI-Prozesse (Symbolische Regression u.a. Eureqa, TuringBot, HeuristicLab und pysr)
  • Migration NI DAQ/LabView-Steuerung zu autonomem MicroController (ESP32) mit ext. ADC
  • Erstellung mobiler App als Frontend und Brückenkopf zur Speicherung in der Cloud
Forschung Gesundheitswesen Konzeption Medizin Messtechnik Algorithmenentwicklung Benutzerschnittstellen Handskizzen Softwareauswahlprozess AWS AWS S3 Android Android Studio Arduino C Arduino IDE Backend Development Bluetooth C C++ C/C++ CMake CSV DBeaver Eclipse Eclipse C++ Embedded Software Flutter Frontend Development JAVA JAVA 14 JAVA JDBC Jupyter Notebooks Low-Code Matplotlib Microcontroller Microsoft Teams Notepad++ Python Numpy RESTful API SQL SQLite
Pharma & Gesundheit
4 Jahre 2 Monate
2019-08 - 2023-09

Systemadministration

3rd Level Support, Leiter Administration (IT), Support Manager Gesundheitswesen Benutzerschnittstellen Handskizzen ...
3rd Level Support, Leiter Administration (IT), Support Manager
Das Projekt umfasste die komplette technische Administration einer schlanken Muttergesellschaft. Im Speziellen sind dies u.a. Auswahl, Beschaffung und Verwaltung von Hardware- und Servicelösungen, des Netzwerks, der Zugänge, Webseiten und Domains. Zusätzlich wurden Inhouse IT-Service wie Wiki und Ticketsystem zur Verfügung gestellt.
  • Das Unternehmen begann nach Verkauf seines ursprünglichen Kerngeschäfts wieder von neuem. Das bedeutete neue Geschäftsräume und keine IT. Es mussten Netzwerke erstellt, Internetfähigkeit etabliert werden, PCs und Notebooks angeschafft werden. Bei IT-Dienstleistungen wurde besonderer Augenmerk auf DSVGO-Konformität gelegt, daher musste stets besondere Sorgfalt bzgl. Balance Nutzerfreundlichkeit und Rechtsprechung gelegt werden. Aufgrund fehlender Kapazitäten waren z.B. eine Cloud-Speicherlösung und ein VPS als Installationsziel für Vertriebssteuerungssoftware nötig und eine Webseite musste betrieben werden. Auch so einfache Tätigkeiten wie die Anpassung von PDFs um den Anforderungen des Bundesanzeigers zu genügen gehörten dazu, wie generelle Hilfestellung bei allen IT-Fragen. Die Aufgabe wurde vom Kandidaten alleine getragen.
  • Auswahl IT-Equipment für Mitarbeiter Notebooks, Smartphones, Router
  • Beratung bei Auswahl Telekommunikationsanbieter
  • Verwaltung Microsoft365/Office365 Tenant und DSVGO-Cloudspeicher
  • Verwaltung internes Netzwerk, Telefonanlage
  • VPS-Administration für IBM-Planning Analytics inkl. Mirantis (Docker) auf Windows Server
  • Verwaltung Webseite: Domänenanbieter, Wordpress
  • Anpassung der PDFs für Bundesanzeigerberichte
  • Einrichtung und Verwaltung Ticketsystem (Redmine) und Wiki (Mediawiki) auf Debian-Linux
  • VPS Migration von einem Angebot zum Anderen mittels Acronis Cloud Backup
Gesundheitswesen Benutzerschnittstellen Handskizzen Softwareauswahlprozess Ticket Management Apache-Webserver Docker Docker CLI Linux MediaWiki Microsoft Teams Microsoft Windows Server Redmine Windows CMD Batch WordPress
Pharma & Gesundheit
5 Monate
2019-03 - 2019-07

Entwicklung eines Bestelltools für verschiedene Werkstattsysteme

Fachverantwortlicher, Lead Developer, Solution Architect Automotive Agile Develpoment Architekturentwurfsprozess ...
Fachverantwortlicher, Lead Developer, Solution Architect
Ein Bestelltool für OEM-Autoteile war der Kern des Projektes. Dies umfasste sowohl Konzeption als auch Entwicklung in Form von Software für die Servicemitarbeiter.
  • Hintergrund war das freie Werkstätten sich die Möglichkeit OEM-Teile von Autoherstellern zu erwerben wünschen. Dies ist meist nur über deren Vertragswerkstätten möglich. Die elektronische Anbindung dieser Marktteilnehmer stellt eines der Hauptprobleme dar. Einerseits sind die Teilekataloge sehr heterogen was Aufteilung und Bezeichnungen angeht, andererseits sind die Systeme der Werkstätten nicht auf Interoperabilität ausgelegt und abgeschottet. Ausgangslage war dass die freien Werkstätten mit den Servicemitarbeitern telefonierten und Ihren Wunsch angaben. Mal exakt mit Teilenummer, mal als Beschreibung, so dass in dem Fall die Servicemitarbeiter Kataloge danach durchsuchten. Jede Partner-Vertragswerkstatt die solche Teile liefern konnte hingegen musste ein VPN, bzw. gar ein eigenes Notebook pro Servicemitarbeiter zur Verfügung stellen. Die bisherige Vorgehensweise skalierte also nicht.
  • Eine Analyse des Ist-Zustandes und der zur Verfügung stehenden Schnittstellen ergab einen Aufgabenkatalog, dessen Bestandteile von "zwingend notwenig und zu 100% machbar" bis zu "nice to have mit fragwürdiger Realisierbarkeit" bewertet wurden. Notwendig z.B., so lange die Quellkunden nicht auch elektronisch angebunden waren, war die Eingabe und Anpassung von Bestelldaten. Dies konnte durch eine CRUD-Applikation in Form einer Java EE - Anwendung zur Verfügung gestellt werden. Die nötigen Felder wurden auf Basis der bekannten Werkstattsysteme auf Partnerseite ermittelt. Weiterhin wurde die zukünftige Erweiterung der Software geplant, neben den Anschlüssen etwa auch das Kunden Management.
  • Das Team bestand neben dem Architekten noch aus drei Automotive-Fachleuten und einem zusätzlichen Entwickler.
  • Prozessanalyse, Beratung mit Geschäftsführer und Fachbereich zu realistischen Zielen
  • Erstellung eines Katalogs an Anforderungen für Schnittstellen der Anbieter
  • Parallel dazu Konzeption eines einfachen Inhouse Systems zur Bearbeitung
  • Aufbau Datenbankschema
  • Erstellung Prototyp Bestelleingabe
  • Konzeption Erweiterung zur Nutzung als KMS mit Anbindung zu Mitarbeiter VOIP-Telefonen
Automotive Agile Develpoment Architekturentwurfsprozess Benutzerschnittstellen Bug-Tracking-Systeme Entity Relationship Diagramme Manuelle Tests Backend Development CDI Docker Docker CLI Docker Compose Docker for Desktop Frontend Development Hibernate JAVA 11 JBoss Wildfly Java EE Java EJB CDI Java JPA NetBeans Redmine Vaadin yED Graph Editor
Automotive
1 Monat
2019-02 - 2019-02

Zusatzfunktionalität für einen Kafka - Consumer

Software Developer Gesundheitswesen Bug-Tracking-Systeme Unit-Testing ...
Software Developer
Das Projekt befasste sich mit der Erweiterung eines Kafka-Consumers um dynamische SQL-Ausführung.
  • Im Fachbereich kam der Wunsch beliebige SQL-Statement verwenden zu können, ohne jedes Mail eine Neuimplementation zu beantragen. Die Steuerung sollte über Pipeline-Parameter erfolgen. Bei der Umsetzung ergab sich das Problem dass manche Parameter bei der Konfiguration noch nicht feststehen aber während der Laufzeit zur Verfügung stehen. Beispielsweise sollte eine Vertrag_ID zur Verfügung stehen können. Bei der Umsetzung wurde analog zu Preparedstatements ein Parametersystem entwickelt. Die bekannten fixen Möglichkeiten wurden fest hinterlegt, in der Art "#V" für Vertrag_ID, jedoch sollten Daten auch beliebig dynamisch aus Datenbank und Umgebungsvariablen bezogen werden können. Es wurde daher die Funktionalität geschaffen, bestimmte Quellen als extra-Platzhalter in den SQL-Abfragen zu hinterlegen und die tatsächliche Bezeichnung aus einem weiteren Parameter zu beziehen.
  • Das Projekt wurde vom Kandidaten alleine umgesetzt.
  • Analyse Problemstellung mit Fachbereich
  • Demonstration einer Lösungsmöglichkeit an einfachem Beispiel
  • Implementation mit einer Auswahl an Platzhalter-Parametern und der Möglichkeit dynamisch beliebig viele weitere Parameter/Umgebungs- Variablen/ Quellen einzubinden
Gesundheitswesen Bug-Tracking-Systeme Unit-Testing Wasserfall Apache Kafka Atlassian Confluence Atlassian JIRA Backend Development JAVA JAVA 11 JUnit5 Jenkins Kafka Streams Micronaut Microservice Architektur Oracle RDBMS SQL Vagrant
Pharma & Gesundheit
3 Jahre 4 Monate
2015-10 - 2019-01

Anbindung Krankenhäuser/Lieferanten an System per EDI

Lead Developer, Solution Architect Gesundheitswesen Reverse Engineering Bug-Tracking-Systeme ...
Lead Developer, Solution Architect
Im Rahmen des fortlaufenden Projektes wurden Kunden, Krankenhäuser und Medikallieferanten, an das Bestellsystem elektronisch angebunden (EDI). Die Kunden befanden sich in der DACH-Region und hatten sehr unterschiedliche Materialwirtschaftssysteme wie SAP, Agfa-GWI, Aescudata und MS Dynamics NAV.
  • Das Gesundheitswesen war digital sehr heterogen aufgestellt, Bestellungen wurden größtenteils per Fax getätigt. Krankenhäuser- und Lieferanten konnten nicht direkt miteinander kommunizieren. Die Dateiformate sind untereinander inkompatibel, z.B.: EANCOM, GS1XML, SAP-XML, iDoc und CSV. Jedes davon hat viele Datenfelder, die teils in Spezifikationen, samt Verifikationsschema vorlagen, teils aber auch ohne jegliche Dokumentation aus einigen aussagekräftigen Beispielen ermittelt werden musste. Die Daten selbst wiederum mussten umgeschlüsselt werden, z.B. die Materialnr., die Bündelungsstufe und die Adress-Identifier. Standards wie EAN und GS1-Einheiten wurden in Kundensystemen kaum/fehlerhaft genutzt. Zu dem ist es üblich dass die Kunden ihre Systeme und Dateischnittstellen an ihre Bedürfnisse angepasst haben und so vom Standard abweichen und Spezialbehandlungen erfordern, beispielsweise Nutzung eines Kommentarfelds für strukturierte Information. Die genannten Probleme betrafen sowohl den Hinweg (Bestellungen, Konsignationen) als auch den Rückweg (Auftragsbestätigung, Lieferavis, Rechnung, usw.). Die Kunden waren auf unterschiedlichste Weise angebunden, z.B.: SOAP, FTP, FTPs, sFTP, X400, AS2 und Fax.
  • Daher wurde für jeden Kunden einzeln, eine individuelle Anbindung mit eigenen Workflows gebraucht.
  • Die Aufgaben umfassten das Parsen der Bestellungen, Überführen in ein einheitliches (internes) Format, Erkennung und Ersetzung der Materialnummern und -bündelungen mit einer internen GruppenID und je nach Adressat Ausgabe in einem bestimmten Format, wiederum ersetzten IDs und evtl. Adressen (elektronisch: GLN, EID, etc.). Die gleiche Arbeit in umgekehrter Reihenfolge war für die o.g. Rückdokumente nötig.
  • An dem Projekt arbeiteten durchschnittlich vier Entwickler gleichzeitig, mit einem Team an Katalogexperten und Servicemitarbeitern von etwa 20 Personen.
  • Interpretation Spezifikation des Dateiformats (so vorhanden) in Code
  • Reverse Engineering Spezifikation bei nicht vorhandener Dokumentation
  • Implementation kundenspezifischer Besonderheiten außerhalb der Spezifikation
  • Anpassung der Workflowpipeline kundenspezifische Behandlungen
  • Realisierung kundenspezifische Fax-Outputs
  • Zyklisches Refactoring basierend auf neuer Funktionalität
  • Evtl. zur Verfügungstellung spezieller Kommunikationsroutinen z.B. Curl-Skripte, Soap-Funktionalität, etc.
  • Einführung Rückdokumente-Funktionalität
Gesundheitswesen Reverse Engineering Bug-Tracking-Systeme Continuous Delivery Continuous Deployment Continuous Integration Datenanalyse Refactoring Software Architektur Statische Code-Analyse Wasserfall Bash Checkstyle Curl Dynamische PDF-Erzeugung Eclipse FindBugs JAVA 8 JAVA JAX-WS JAVA JAXB JAVA JAXP JAVA JDBC JAVA JMX Java JavaDoc Linux Microsoft Windows Server Oracle RDBMS Pmd SOAP SQL SQLPlus Toad WSDL Windows CMD Batch
Pharma & Gesundheit
2 Jahre 1 Monat
2013-09 - 2015-09

Migration onPremise Legacy Anwendung zu paralleler neuer Plattform

Backend Developer Gesundheitswesen Agile Develpoment Continuous Delivery ...
Backend Developer
Eine Java-Legacyanwendung zur Bestellabwicklung mit hohem Serviceaufwand sollte in die Cloud verschoben werden. Die Funktionalität wurde von Grund auf neu entwickelt, es kam ein Applikationsserver, No-SQL-Datenbanken und Suchindizes mit Redundanzen zum Einsatz. Das neue System lief parallel zum bestehenden und es wurde verglichen.
  • Hauptgrund war die nicht mehr skalierbare Verbindung von der Anzahl der Servicemitarbeiter mit wachsender Kundenzahl. Das manuelle Anpassen von Materialstammdaten des Kunden führte zu enormen Aufwänden. Der Kunde selbst sollte die Möglichkeit erhalten, seine Daten zu bereinigen. Das Projekt beinhaltet Ein-/Ausgabe von Bestellungen und Rückdokumenten (z.B. Rechnungen), Katalogimport, Bestellbearbeitung, Monitoring. Parallel dazu lief das alte System weiter und neue Kunden/Auftragsarten mussten auf beiden Systemen fortlaufend angepasst werden.
  • Der Fokus wurde auf die Cloud gelegt, so dass von "außen" auch auf die Bestellungen zugegriffen werden konnte. Es wurde AWS als Anbieter gewählt und dann die Basisfunktionalität des alten Systems mit Hilfe von Wildfly als Applikationsserver, AngularJS als Frontendtechnologie nachgestellt. Aus Performancegründen kamen neben den relationalen Datenbanken aus MongoDB und Solr zum Einsatz. Für die Ausgabeformate konnte als Template-Engine FreeMarker verwendet werden.
  • Das Team bestand aus mehr als zehn Entwicklern verteilt auf Deutschland und Rumänien, Projektsprache war Englisch.
  • Implementierung Backend
Gesundheitswesen Agile Develpoment Continuous Delivery Continuous Deployment Continuous Integration Kanban Scrum Unit-Testing AWS AWS EC2 AngularJS Apache Maven Apache Solr Arquillian Atlassian Confluence Atlassian Crucible Atlassian JIRA Backend Development FreeMarker Frontend Development IntelliJ JAVA JAVA 8 JBoss Wildfly JUnit JUnit4 MongoDB Node NPM Node Package Manager Node.js PostgreSQL bower
Pharma & Gesundheit
2 Jahre 10 Monate
2011-02 - 2013-11

Refactoring Legacy Projekt-Sammlung zu modularem Monolithen

Senior Software Engineer Gesundheitswesen Bug-Tracking-Systeme Continuous Delivery ...
Senior Software Engineer
Das Projekt befasste sich mit dem Refactoring eines historischen Monolithen hin zu besserer Wartbarkeit und Erweiterungsmöglichkeiten. Dies umfasste auch eine automatisierte Veröffentlichung und Nutzung von Codeänderungen, statt wie vorher die Binaries auf Entwicklermaschinen manuell zu erstellen und auf die Produktionsmaschinen zu kopieren.
  • Das ursprüngliche System war über Generationen von Entwicklern unterschiedlicher Erfahrungsstufen erstellt worden. Mehrfachimplementation der gleichen Funktionalität, zyklische Abhängigkeiten und fehlende Architekturvision erschwerten Fortführung des Tagesgeschäfts. Primärziel war die erleichterte Erweiterbarkeit. Die in kurzen Abständen neu zu integrierenden Kundensysteme und Funktionalitäten sollten sich verzögerungsfrei und ohne gegenseitige Blockade implementieren lassen. 15+ Teil-Projekten die bei jeder Änderung allesamt angefasst werden mussten, konnten auf neun besser isolierte reduziert werden. Zwei davon, grafische Frontends für Service und Admins gestartet über Webstart, konnten erst jetzt wieder, nach Jahren des Stillstands erweitert werden. Z.B. funktionierte das Auslesen von XML mittels JAXB vorher nicht mehr bei Installation/Update der JRE-Umgebung durch Mitarbeiter. Die Einführung von CI/CD erleichterte und beschleunigte das Produktivnehmen neuer Features und mittels Bugtracking waren Änderungen im nachhinein nachvollziehbar. Die Umstellung auf verteilte Versionskontrolle ermöglichte leichtere Behebung von Merge-Konflikten, welche auch durch o.g. Konzentrierung und Isolierung der Teilprojekten fast gänzlich verhindert wurden. Das Team bestand im Schnitt aus vier Entwicklern.
  • Analyse des tatsächlichen Workflows
  • Zentrierung gemeinsam genutzter Funktionalitäten
  • Refactoring von 15+ Einzel-Projekten auf 9 Module
  • Migration Java5 zu Java6, große Codeänderungen wg. JAXB-Integration in V6 nötig
  • Reverse Engineering eines .NET Rand-Projekts und Neuimplementierung als Java-Modul
  • Verantwortung Auswahl und Einführung Bug-Tracking-System (Redmine/ Chiliproject)
  • Verantwortung Auswahl und Einführung Buildserver (Hudson/ Jenkins)
  • Verantwortung Auswahl Versionskontrollsystem als Ersatz für SVN (git)
Gesundheitswesen Bug-Tracking-Systeme Continuous Delivery Continuous Deployment Continuous Integration Recherche Refactoring Ticket Management UML Unit-Testing .NET AWT Apache Ant Apache CSV Backend Development C# CI/CD Checkstyle Eclipse FindBugs Frontend Development GIT JAVA 5 JAVA 6 JAVA JAXB JAVA JDBC JAVA JMX JUnit Java Swing Java Webstart Jenkins MediaWiki Oracle RDBMS Pmd Redmine SQLPlus Subversion (SVN) Windows CMD Batch XML
Pharma & Gesundheit
1 Jahr 10 Monate
2009-04 - 2011-01

Monitoring Bestell- & Systemfehler, 3rd Level Support für Kunden

3rd Level Support Gesundheitswesen Bug-Tracking-Systeme Ticket Management ...
3rd Level Support
Das Projekt beinhaltete das Administrieren und Monitoren aller Hard- und Software-Komponenten des Bestellsystems. Der 3rd-Level-Support bei Kundenanfragen und die Verantwortung der Notfallbenachrichtigungen gehörte auch in den Aufgabenbereich
  • In dem Unternehmen war ein dedizierter IT-Beauftragter vorgesehen, die Tätigkeit wurde schichtweise auf mehrere Mitarbeiter verteilt. Diese überwachten das System und behoben im (technischen) Fehlerfall Probleme an Hard-/Software und mussten ggfs. direkt auf der Datenbank Einträge korrigieren. Die Verwaltung des Mail-Verteiler zur Benachrichtigung von Kunden bei Ausfällen oder Notsituationen oblag ihrer Verantwortung. Außerhalb der Schicht dienten die Experten als letzte Eskalationsstufe bei Problemen/Anfragen der Kunden, die nicht vom Bestellservice gelöst werden können.
  • Für diese Aufgabe sind insgesamt sechs Personen vorhanden gewesen, von denen mindestens einer zu jeder Zeit zwischen 07:30 und 18:00 die Rolle übernahm.
  • Aktives Monitoring Bestellprozesse
  • Problemlösung in Bestellung, Code, Datenbank und mit Kundenkontakt, inkl. Hoch-/Runterfahren der Systeme
  • Betreuung E-Mail Notverteiler
  • 3rd Level Kundenservice bei schwerwiegenden Problemen im Bestellprozess
  • Passives Monitoring der Server, u.a. Hardware, Software, Mail, Nagios (Icinga Vorläufer)
Gesundheitswesen Bug-Tracking-Systeme Ticket Management Apache-Webserver Eclipse Icinga JAVA JAVA 6 JAVA JMX Jenkins Linux MediaWiki Microsoft SQL Server Microsoft Windows Server Oracle RDBMS Redmine SQL Toad Windows CMD Batch XML
Pharma & Gesundheit
1 Jahr 6 Monate
2007-10 - 2009-03

Abrechnung von Telekommunikationsdaten

Database Developer, Software Developer Telekommunikation V-Modell/ V-Modell XT Backend Development ...
Database Developer, Software Developer
Der Telekommunikationsanbieter benötigt zur Abrechnung seiner Dienstleistung die Zuordnung Rohdaten zu Kunden und Tarif. Das Projekt dient als täglicher Sammelpunkt der verschiedenen Quelldaten aus Verbindungs- und Vertragsinformationen, verbindet diese und erstellt in Zusammenhang mit dem Datum (Tarife, Feiertage, MwSt.-Änderungen, etc) den nötigen Zwischenschritt für die Rechnungsstellung am Ende des Abrechnungszeitraum.
  • Die Quelldaten wie z.B.: bei DSL-Anschlüssen "die letzte Meile" der Telekom beinhalten Leitungs-IDs und Zeitstempel. Diese müssen anhand verschiedener Kriterien spezifischen Kunden zugeordnet, transformiert und entsprechend des Vertrags tarifiert werden. Dazu kam mehrere Java-SE-Anwendungen zum Einsatz, zu der Zeit auf 32-Bit-Serverarchitektur, mit 3-4 GB-Arbeitsspeicherlimit. Daher musste sehr effizient programmiert werden. Bei mehreren Millionen Datensätzen pro Tag die mit umfangreichen Datenbankoperationen Informationen sammeln kommt es schnell zu einem erhöhten Speicherbedarf. Es kamen mehrere Optimierungsstrategien zum Einsatz, Nutzung von der MyISAM-Engine in MySQL um die benötigten Daten der Sybase Hauptdatenbank zu "cachen". Realisiert wurde das durch einen permanente Prozess der relevante Änderungen durch DB-Trigger erkannte und die benötigten Daten replizierte. So konnte dann der Hauptprozess in einem Batch-Verfahren effizienter arbeiten.
  • Implementation Formatreader
  • Refactoring wegen kritischer Performance beu Millionen Datensätzen täglich auf 32Bit JVM (3-4GB-Grenze)
  • Implementation Tariflogik (Feiertage, Tageszeit, Mindestvertragslaufzeit, etc.)
  • Maintenance und Upgrade des Sybase -> MySQL Replikators auf Java 6
  • Profiling und Fehlerbehebung
Telekommunikation V-Modell/ V-Modell XT Backend Development Bugzilla DbUnit Eclipse JAVA JAVA 6 JAVA JDBC JAVA JMX JProfiler JUnit MySQL SQL Sybase TWiki
Telekommunikation
6 Monate
2007-04 - 2007-09

Tool zur Bearbeitung/Erstellung von abrechnungsrelevanten DB-Einträgen

Software Developer Telekommunikation V-Modell/ V-Modell XT Bugzilla ...
Software Developer
Das Projekt hatte ein CRUD-Tool zugeschnitten auf den Fachbereich für Tarifkonditionen zum Zweck. Bis dahin mussten die Mitarbeiter entweder extra Tickets erstellen damit die IT die notwendigen Datenbankänderungen vornahm oder ein veraltetes Vorgängerprogramm nutzen, dessen Anzeige nicht den Gegebenheiten der Datenbank entsprach. Nebenbei diente das Programm als Hibernate Pilotprojekt um die Eignung im Unternehmenseinsatz zu testen.
  • Die Aufgabenstellung war klar, fast 1:1 die entsprechenden Datenbanktabellen als View anzeigen und Änderungen erlauben. Es gab eine Vielzahl von Tabellen und es wäre sehr zeitaufwendig gewesen jede davon einzeln zu erstellen. Daher wurde zweigleisig verfahren. Einerseits wurden aus der Datenbank Entities generiert und aus denen mit Hilfe eines selbstgeschriebenen Mini-Tools automatisch generische Swing-Oberflächen erzeugt, parallel dazu wurde die Möglichkeit geschaffen per XML in einer einfachen Art eigene Views zu erstellen und die automatischen zu ersetzen.
  • Implementation Frontendview-Generator, der automatisch aus Modellen eine Swing-Oberfläche erstellt
  • Implementation Backend, Modelle fast 1:1 den DB-Tabellen entsprechend
  • Implementation Frontend mithilfe der vorherigen Views und Anbindung an Models
  • Demonstration vor Fachbereich
Telekommunikation V-Modell/ V-Modell XT Bugzilla Eclipse Frontend Development Hibernate JAVA JAVA 6 Java Swing SQL Sybase TWiki XML
Telekommunikation
6 Monate
2006-10 - 2007-03

DB Funktionalität für Kundenportal

Database Developer Telekommunikation Bug-Tracking-Systeme V-Modell/ V-Modell XT ...
Database Developer
Das Projekt stellt die Backend-Funktionalität für das Kunden-Frontend eines Telekommunikationsanbieters zur Verfügung. Das Kundenportal bietet neben üblichen Vorgänge wie Anpassung Adresse auch Anzeigen an, wie etwa Rechnungsübersicht, Vertragstarif und aktueller Abrechnungszeitraum.
  • Die Daten für das Frontend wurden aus der Datenbank bezogen, mittels Aufruf von Stored Procedures auf T-SQL (Sybase) Basis. Die Skripte sind seit Jahrzehnten von unterschiedlichen Entwickler erstellt und gepflegt worden. Eine Beispielfunktionalität könnte sein: "Gib mir die Vertragsdaten für VertragID X bei Kunde Y". Dafür werden die Informationen aus den DB-Tabellen zusammengesucht und nachdem es als Stored Procedure hinterlegt ist, kann das Frontend darauf zugreifen.
  • Für die Skripte generell gab es Dutzende Entwickler, während der Projektdauer war der Kandidat alleine für den beschriebenen Bereich zuständig.
  • Bearbeitung von Tickets als Auftragsgrundlage
  • Implementierung der benötigten Funktionalität in SQL
  • Manueller Test der Funktionalität und Prüfung auf Nebenwirkungen
  • Abgleich mit Fachabteilung auf Vollständigkeit
Telekommunikation Bug-Tracking-Systeme V-Modell/ V-Modell XT Backend Development Bugzilla CVS SQL Sybase TWiki
Telekommunikation
3 Monate
2006-07 - 2006-09

Einführung Mobilfunkabrechnung in DSL-Umgebung

Software Developer Telekommunikation Bug-Tracking-Systeme Manuelle Tests ...
Software Developer
Einführung Mobilfunkdatenabrechnung bei Anbieter von Telekommunikationsleistungen
  • Der Projektkunde war bereits Deutschlandweit als Anbieter von DSL und Festnetz etabliert. Hinzu kam neu die Option auf Mobilfunk. Dies musste analog zu bisherigen Produkten abgerechnet werden können. Da Mobilfunk zu dem Zeitpunkt auf anderer Abrechnungsmodalität beruhte (keine Flatrates, Sekunden-, bzw. Bytegenaue Abrechnung) musste das zugrunde liegende System grundlegend angepasst werden, insbesondere neue Tarifmodell-Optionen und Berechnungsmodelle.
  • Analyse Abrechnungsmodell des Partnermobilfunkunternehmens anhand der Spezifikation
  • Anpassung DB-Schema auf neue Erfordernisse
  • Implementierung Abrechnungslogik in Java, Unit-Tests
  • Refactoring System zu parallelen Queues um Durchsatz zu erhöhen
Telekommunikation Bug-Tracking-Systeme Manuelle Tests Unit-Testing V-Modell/ V-Modell XT Backend Development Bugzilla JAVA JAVA JDBC MySQL SQL Sybase TWiki
Telekommunikation
5 Monate
2005-04 - 2005-08

Robotik mit Mustererkennung

Software Developer Forschung Kunst und Kultur Algorithmenentwicklung ...
Software Developer
Eine Roboter Performance für eine Ausstellung in der Kunstakademie.
  • Es sollte eine Kunst-Performance aus zwei Robotern der Active Media Robotics erstellt werden. Sie flanierten entlang der Gallery, schauten sich um und kommunizierten sowohl miteinander als auch mit einer Installation von Rückprojektionswänden. Es sollte eine Erfahrung von menschlichen Museumsbesuchern nachempfunden werden. Konzept war vorgegeben und von der FH-Trier als Bachelor Abschlussarbeit akzeptiert. Das Projekt wurde ausgestellt in der Kunstakademie Trier im Rahmen des Kultursommers 2005.
  • Die Entwicklungsarbeit wurde vom Kandidaten allein geleistet.
  • Implementation Robotersteuerung mit Markov Navigation in C++ mit Saphira/Aria-Framework
  • Implementation Kamerasteuerung mit Gesichtserkennung durch OpenCV in C++
  • Implementation Socket-Kommunikation in C++
  • Ausgestaltung als B.Sc. Abschlussarbeit
Forschung Kunst und Kultur Algorithmenentwicklung Handskizzen Manuelle Tests Backend Development C C++ C/C++ Microsoft Visual Studio OpenCV
Gesellschaft
5 Monate
2003-05 - 2003-09

Anpassung Oberfläche Java Tool

Software Developer IT-Dienstleistung UI Design AWT ...
Software Developer
Projektinhalt war Wartung und Anpassung eines Inhouse entwickelten Standalone Java Projekts für Stammdaten- und Vertragspflege. Dies umfasste auch die Migration von IDE-gebundener Layout-Technologie hin zu Standards.
  • Das Datenmodell stand fest und das Datenbinding fand mittels proprietärer Softwarelösung eines benachbarten Unternehmens statt. Die Arbeit konzentrierte sich vornehmlich um das optische Verfeinern oder manuelles Theming ohne Engine. Ein besonderer Aufgabenpunkt stellte die Umstellung auf Java SE 1.2 AWT und Swing-Elemente dar.
  • Das Frontend-Team bestand aus zwei Entwicklern.
  • Implementation/Erweiterung Frontend in Java
  • Migration Oberflächen von Borland XY-Layout zu Java Swing Standards
IT-Dienstleistung UI Design AWT CVS Frontend Development JAVA JBuilder Java Swing
Dienstleistungen & Handwerk
4 Monate
2000-04 - 2000-07

Eckenerkennung in Bildern

Software Developer Forschung Handskizzen Backend Development ...
Software Developer
Erweiterung eines Grafik-Demonstrationstools um Eckenerkennung. Das Programm diente an der Universität als C++ Übungsumgebung. Die Aufgabe konzentrierte sich darauf verschiedene Eckendetektoren zu nutzen wie z.B.: Rosenfeld oder CS99
  • Der Sourcecode lag als Microsoft Visual Studio 6.0 Projekt vor. Die visuellen Elemente waren bereits in QT und OpenGL verfasst. Die Projektarbeit bestand darin selbstständig Informationen über existierende Möglichkeiten und Algorithmen zu finden, diese in C++ umzusetzen und in das Programm einzubinden. Als Quelle dienten hauptsächlich wissenschaftliche Papers. Als Abschluss wurde die Funktionalität demonstriert und in einer Fachdiskussion verteidigt.
  • Das Team bestand aus zwei Informatikstudenten.
  • Informationsbeschaffung zu existierenden Möglichkeiten, Studium der Fach-Papers
  • Implementierung einer aussagekräftigen Auswahl an Algorithmen
  • Vorführung und Verteidigung der Ergebnisse
Forschung Handskizzen Backend Development C++ C/C++ Doxygen Microsoft Visual C++ Microsoft Visual Studio OpenGL Qt Qt C++
Gesellschaft

Aus- und Weiterbildung

Aus- und Weiterbildung

Studium - Informatik
Abschluss: B.Sc.

Zertifikate
  • Green Software for Practitioners (LFC 131)
  • Cambridge English: Proficiency (CPE)
  • Der agile Softwarearchitekt

Position

Position

  • Backend Developer
  • Database Developer
  • Developer
  • Entwickler
  • Fachverantwortlicher
  • Lead Developer
  • Mobile Developer
  • Senior Software Engineer
  • Software Architect
  • Software Developer
  • Solution Architect
  • Solution Designer

Kompetenzen

Kompetenzen

Schwerpunkte

Solutiondesign
Legacy-Refactoring und -Migration
Java-Backend Entwicklung

Produkte / Standards / Erfahrungen / Methoden

Profil
Der Mitarbeiter verfügt über einen breiten Erfahrungsschatz in IT-Projekten und überzeugt durch sein ausgeprägtes technisches Verständnis. Komplexe Problemstellungen sieht er als Herausforderung, die er mit zielorientierter Determination angeht. Gerade bei Modernisierung oder Architekturpflege von Legacy-Projekten zahlt sich seine planvolle Sorgfalt aus. Durch Eigeninitiative und teamorientierte Werthaltung schafft er dauerhafte Mitarbeitermotivation auch bei schwierigen Situationen. Er bietet bei Projektplanungen nachvollziehbare Analysen und Qualität der Architektur. In kritischen Notfällen hingegen zahlt sich sein breit gefächerter Hintergrund in Form von Pragmatismus aus. Er zeichnet sich ebenso für analytische Planungsaufgaben mit Qualitätsanspruch wie auch bei Burning Plattforms aus.

Persönliche Stärken
  • Analytische Denkweise
  • Technologieagnostische Lösungsfindung

Fachlichkeit
  • Allgemein
    • Anwendungsmodernisierung
    • CSV (comma-separated values)
    • Datenaggregation
    • Datenaustausch
    • Datenmigration
    • Datensicherung
    • Datenvisualisierung
    • Embedded
    • Entscheidungsfindung
    • Forschung
    • Frontendentwicklung
    • Green IT
    • Hardware
    • IT Infrastruktur
    • IT-Dienstleistung
    • Internet of Things
    • KI
    • Kollaborationswerkzeuge
    • Konzeption
    • Maintenance
    • Mitarbeiter App
    • Mobile App Entwicklung
    • Monitoring
    • Nachhaltige Softwareentwicklung
    • Netzinfrastruktur
    • Pharma
    • Produktentwicklung
    • Reverse Engineering
    • Robotik
    • SOAP
    • Softwareentwicklung
    • Softwaremigration
    • Support
    • Systemadministration
    • Telekommunikation
    • Teleservices
    • V-Modell
  • Automotive
    • Automotive, Workshop Tools
  • IT-Architektur
    • Ablösung von Legacy-Systemen
    • Architektur großer Software-Systeme
    • Cloud Services (SaaS, IaaS, PaaS, Faas)
    • Cloud-Migration
    • IT-Modernisierung (Proof of Concept, Planung, Migration)
    • Prototyping
    • Verbesserung und Erweiterung von Architekturen
  • Soziales
    • Gesundheitswesen
  • Travel, Transport & Logistics
    • Billing

Methoden
  • Agile
    • Agile Develpoment
    • DevOps
    • Scrum
  • Beratung/ Consulting
    • Benutzerschnittstellen
  • Dokumentation
    • Entity Relationship Diagramme
    • Recherche
    • UML
  • IT-Architektur Vorgehensweisen
    • Architekturentwurfsprozess
  • Projektmanagement
    • Ticket Management
  • Qualitätssicherung
    • Bug-Tracking-Systeme
    • Clean Code
    • Code Coverage
    • Code Review
    • Continuous Deployment
    • Continuous Integration
    • Fehleranalyse
    • Manuelle Tests
    • Pair Programming
    • Statische Code-Analyse
    • Unit-Testing
    • User Testing
  • Requirements
    • Anforderungsanalyse & -management
    • Datenanalyse
    • Domain Driven Design (DDD)

Technologien & Tools
  • AI/ML
    • Pandas
  • Application Server
    • Apache Tomcat
    • Apache-Webserver
    • JBoss Wildfly
  • Applikationen (Office, Adobe, ...)
    • GIMP
    • Microsoft Excel
    • Microsoft Office
    • Microsoft Outlook
    • Microsoft Powerpoint
    • Microsoft Word
    • Vim
    • yED Graph Editor
  • BPMN und Geschäftsprozesse
    • Low-Code
  • C/C++ Frameworks und Technologien
    • C/C++
    • CppUnit
    • LLVM
    • gcc
  • Cloud
    • AWS
    • AWS EC2
    • AWS S3
  • Container; Containertools; Containerplattformen
    • Docker
    • Docker CLI
    • Docker Compose
    • Docker for Desktop
    • Podman
  • Content Management
    • WordPress
  • DevOps
    • Ansible
    • CI/CD
    • Cruisecontrol
    • Hudson
    • Jenkins
    • PUTTY
    • Puppet
    • RedHat Package Manager (RPM)
    • Shell Scripting
    • WinSCP
    • Jira
  • Dokumentation
    • Doxygen
    • Unified Modeling Language (UML)
  • Entwicklungstooling
    • Android SDK
    • Apache Ant
    • CMake
    • Eclipse Memory Analyzer
    • JProfiler
    • JRebel
    • MarkDown
    • Maven
    • PlatformIO
    • Postman
    • SciTE
    • bower
  • Entwicklungsumgebungen
    • Borland C++ Builder
    • Eclipse
    • Eclipse C++
    • Emacs
    • IntelliJ
    • JBuilder
    • Jupyter Notebooks
    • Microsoft Visual Studio
    • Microsoft Visual Studio Code
    • NetBeans
  • Hardwareinfrastruktur
    • LAN-Architekturen
    • WLAN Architekturen
  • Identity Access Management
    • KeePass
    • Keycloak
    • LDAP
  • Integrationsplattformen und Technologien (Messaging; API)
    • Apache HTTP Server
    • SOAP
    • WSDL
  • IoT
    • Arduino C
    • Arduino IDE
    • Arduino Uno
    • Microcontroller
    • Mikrocontroller
  • Java Frameworks & Standards
    • AspectJ
    • FreeMarker
    • GraalVM
    • JAVA JAXB
    • JAVA JDBC
    • JAVA JMX
    • JSoup
    • Java EE
    • Java EJB
    • Java EJB CDI
    • Java EJB3
    • Java FX
    • Java JEE
    • Java JPA
    • Java Swing
    • OpenCV
    • StAX
    • Vaadin
  • JavaScript Frontend Frameworks
    • AngularJS
    • Node NPM Node Package Manager
  • Kollaborationswerkzeuge
    • MediaWiki
    • Microsoft Teams
    • Redmine
    • TWiki
  • Microsoft Frameworks & Technologien
    • .NET
    • .NET Core
    • PowerShell
  • Mobile
    • Android
    • Bluetooth
    • Flutter
  • Muster, Programmiermodelle & Standards
    • Backend Development
    • CQRS
    • MVC
    • MVP
    • Microprofile
    • Microservice Architektur
  • Python Frameworks
    • Matplotlib
    • NumPy
    • Pip
    • Python Numpy
    • Python OpenCV
    • SciPy
  • Qualitätssicherungs- und Performance Tooling
    • Atlassian Crucible
    • Checkstyle
    • FindBugs
    • Pmd
    • SonarQube
  • Security Frameworks, Tooling & Standards
    • Open SSH
    • OpenSSL
    • PKI
    • Two-factor authentication (2FA)
    • Verschlüsselungsverfahren
    • WireShark
  • Sonstige
    • Blockchain
    • Domain Specific Language
    • Embedded Software
    • Netzwerkarchitektur
    • Notepad++
    • SVG
    • TCP/IP
  • Sourcecodeverwaltung
    • CVS
    • GIT
    • GitHub
    • GitLab
    • GitLab CI
    • Github Actions
    • Subversion (SVN)
  • Testframeworks
    • Arquillian
    • DB Unit
    • DbUnit
    • JUnit
    • JUnit4
    • JUnit5
  • Virtualisierung
    • Oracle VM VirtualBox
  • Web Frontend
    • CSS
    • HTML/CSS

Betriebssysteme

Linux Fedora
Linux Debian
Linux
GNU/Linux
DOS
Curl
Bash
Linux Knoppix
Linux Sound Alsa
Linux Sound Pulse Audio
Linux Ubuntu
Microsoft Windows
Microsoft Windows Server
Win/NT
Windows CMD Batch
Windows Subsystem for Linux
awk
vi
sed

Programmiersprachen

Assembler
C
C#
C++
Groovy
IBM RPG
JAVA
11, 17, 18, 5, 6, 8
JavaScript
LUA
Microsoft Visual C
Microsoft Visual C++
Turbo Pascal
JavaFx
YAML
XSD
XML
SQL
JSON
HTML
CSV
LaTeX

Datenbanken

Apache Solr
MongoDB
Toad
Flyway DB Migration
Mybatis Migrations
ODBC
Oracle PL/SQL
PL/SQL
DBeaver
SQuirreL
Sybase
SQLite
PostgreSQL
NoSQL
MySQL
Oracle RDBMS
Microsoft SQL Server
Maria DB
Heidi SQL
H2 Database

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.