David Rihm nicht verfügbar bis 01.01.2021

David Rihm

IT Berater Anwendungsentwicklung Java und Architektur / Vorstand (sozialversicherungspflichtig)

nicht verfügbar bis 01.01.2021
Profilbild von David Rihm IT Berater Anwendungsentwicklung Java und Architektur / Vorstand (sozialversicherungspflichtig) aus Frankfurt
  • 60486 Frankfurt Freelancer in
  • Abschluss: Master of Science (M.Sc.) Informatik
  • Stunden-/Tagessatz: nicht angegeben
  • Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | russisch (Grundkenntnisse)
  • Letztes Update: 09.04.2020
SCHLAGWORTE
PROFILBILD
Profilbild von David Rihm IT Berater Anwendungsentwicklung Java und Architektur / Vorstand (sozialversicherungspflichtig) aus Frankfurt
SKILLS
Fachlicher Schwerpunkt
  • Software Design und Architektur
  • Software-Entwicklung (Java/JEE/Spring)
Zertifizierungen
  • iSAQB Certified Professional for Software Architecture – Foundation Level (CPSA-F)
  • SAFe® 4 Practitioner
  • SCJP Sun Certified Programmer for Java 6
Technikschwerpunkte:
Programmierung
  • Architektur
  • JEE / Java Entwicklung
  • Software Engineering
  • Technische Konzeption
Projektvorgehensmodelle
  • SCRUM
  • Scaled Agile Framework (SAFe)
  • Kanban
  • VModell XT
  • Wasserfallmodell (Royce/Boehm)
Branchen
  • Dienstleistung: Informationstechnologie
  • Finanzen
  • Information & Medien: Informationstechn. & Internet; Medien und Unterhaltung
  • Telekommunikation
  • Öffentlicher Sektor: Transport
PROJEKTHISTORIE
  • 04/2019 - bis jetzt

    • -
    • >10.000 Mitarbeiter
    • Transport und Logistik
  • Senior Software Developer
  • Projektumfeld

    Die RIS Communicator App wird von ca. 30.000 Anwendern genutzt, ist in jedem Personenzug der Deutschen Bahn an Bord und versorgt die Mitarbeiter mit Reisendeninformation und erleichtert betriebliche Prozesse.

    Ziel des Projektes ist es weitere fachliche Funktionen bereitzustellen. Hierzu muss das Backend (Microservice Architektur) kontinuierlich um neue Services erweitert werden.

    Diese müssen unter anderem den folgenden Anforderungen genügen:

    • Skalierbarkeit
    • Performance
    • Sicherheit
    • Zukunftsfähigkeit

    Vorgehensmodell: SCRUM/Kanban

    Eigene Tätigkeiten

    • Konzeption, Erweiterung und Umsetzung der Schnittstellen (REST)
    • Konzeption und Implementierung von Microservices im Kubernetes Cluster
    • Datenbankentwicklung (JPA, MariaDB, SQL)
    • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito, SOAP-UI)
    • Erstellen von Lasttests (SOAP-UI, JMeter)
    • Aufbau einer CI/CD Pipeline (Jenkins Pipeline Plugin)
    • Dokumentation der Ergebnisse (Confluence)

    Technologien & Tools

    Spring Boot 2, Spring 5, Spring Security OAuth2, Java 8, JSF 2, JoinFaces, Docker, Kubernetes, Ingress, Rancher 2, MariaDB, Mysql,
    Hibernate, MQTT, IBM Watson IOT, Oracle AQ, Gradle, Maven, Jenkins Pipeline, Swagger, Prometheus Monitoring, JMeter, Logback, Flyway DB Migration, AWS Cloud, SOAP-UI, JFrog Artifactory, Grafana


  • 11/2018 - 04/2019

    • -
    • 500-1000 Mitarbeiter
    • Banken und Finanzdienstleistungen
  • Senior Software Developer
  • Projektumfeld

    Ziel: Die „Onlinebestellstrecke“ bietet dem Kunden schon heute die Annehmlichkeit, jederzeit und unabhängig von der Bankfiliale, von Zuhause einen Kredit zu beantragen.

    Das Projekt „Omnikanalekundenreise“ möchte diesen zukunftsfähigen Vertriebskanal um zwei zusätzliche Features erweitern, die es sowohl dem Kunden, als auch dem Bankberater einfacher machen sollen, zwischen den Kanälen „online“ und „persönlich“ zu wechseln. 

    Vorgehensmodell: SCRUM

    Eigene Tätigkeiten

    • Implementierung fachlicher Features
    • Konzeption, Erweiterung und Umsetzung der Schnittstellen (inkl. Schnittstellenbeschreibung)
    • Erweiterung der GUI (JSF, AngularJS)
    • Datenbankanpassungen (JDBC, JPA)
    • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
    • Dokumentation der Ergebnisse (Confluence)

    Technologien & Tools

    JEE 6, JSF, AngularJS 1.6, NodeJS 6, Chai 4, Karma Bootstrap 4.1,  HTML5, Swagger, Apache JMeter, Matomo, PrimeFaces, EJB 3, JPA, JMS, SOAP/Rest WebServices, XSD, XML, Ivy, Ant,  JFrog Artifactory, Mockito, Jira, Confluence, SVN, Oracle Weblogic Application Server 12, Oracle 12 DB, HTML, CSS, SonarQube


  • 04/2018 - 11/2018

    • -
    • 500-1000 Mitarbeiter
    • Banken und Finanzdienstleistungen
  • Senior Software Developer
  • Projektumfeld

    Ziel: Erweiterung des Produktes zur Innovativen Objektfinanzierung (Fachlich und Technisch) bis 750.000€.

    Durchführung eines technischen Refactorings, um die Zukunftsfähigkeit der Anwendung zu gewährleisten.

    Vorgehensmodell: SCRUM

    Eigene Tätigkeiten

    • Implementierung von Berechnungsformeln und Algorithmen für die Objektfinanzierung und Leasinggeschäfte
    • Erweiterung der GUI (JSF)
    • Datenbankanpassungen (JDBC, JPA)
    • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
    • Dokumentation der Ergebnisse (Confluence)
    • Planung und Durchführung eines größeren Refactorings

     

    Technologien & Tools

    JEE 6, JSF, JavaScript, RichFaces, EJB 2 & 3, JPA, JMS, SOAP WebServices, XSD, XML, Ivy, Ant,  JFrog Artifactory, JUnit, Mockito, Jira, Confluence, SVN, Oracle Weblogic Application Server 12, Oracle 12 DB, HTML, CSS, SonarQube, Jenkins


  • 06/2016 - 03/2018

    • -
    • >10.000 Mitarbeiter
    • Transport und Logistik
  • Senior Software Developer und Technical Lead
  • Projektumfeld

    Ziel: Technische und fachliche Entwicklung eines Systems zur Anbindung eines Kapazitäts-Buchungs-Systems

    Als Projektvorgehensmodell wurde SCRUM und SAFe (Scaled Agile Framework) erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers. Die fachlichen Prozesse wurden mittels der Camunda BPMN modelliert. Lieferartefakte wurden per Docker gepackt und ausgeliefert um eine gleichbleibende Qualität der Lieferartefakte gewährleisten zu können. Um eine hohe Skalierbarkeit der verwendeten Umgebungen zu gewährleisten wurden die verschiedenen Umgebungen durch Einsatz von Amazon AWS virtualisiert (Cloud).

    Eigene Tätigkeiten

    • Definition der fachlichen Anforderungen (Use Case Diagramme)
    • Architekturdokumentation (Enterprise Architect)
    • Definition und Anpassung der Prozessmodelle (BPMN Modelle, Camunda)
    • Implementierung der BPMN-Prozesse (Java 8, Camunda)
    • Test der entwickelten Features in UnitTests (Mockito) und Integration Tests (Arquillian)
    • Analyse der fachlichen Anforderungen
    • Entwicklung der fachlichen Anforderungen im SCRUM-Team (SAFe Kontext)
    • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse (Confluence, Jira)
    • Entwicklung von Docker Containern für die Anwendung und Testkomponenten
    • Erarbeitung und Umsetzung einer Datenbankmigrationsstrategie (Flyway DB Migration)
     

    Technologien & Tools

    Java 8, JEE 6, Camunda BPMN, Docker, AWS Amazon Cloud, Jenkins 2, Mockito, Arquillian, JDBC, JPA, H2 DB, Oracle 12, Git, Confluence, Jira, SCRUM, SAFe (Scaled Agile Framework), Eclipse IDE, JBoss EAP 6, Maven, Suse Linux Enterprise Server 12, Flyway DB Migration

  • 01/2016 - 06/2016

    • -
    • >10.000 Mitarbeiter
    • Transport und Logistik
  • Senior Software Developer
  • Projektumfeld

    Ziel: Fachliche und technische Weiterentwicklung des vorhandenen Systems für die Kommunikation einzelner Systeme im Zug.

    Das bestehende System wurde kontinuierlich fachlich und technisch weiterentwickelt.

    Eigene Tätigkeiten

    • Definition der fachlichen Anforderungen (Use Case Diagramme)
    • Definition der technischen Anforderungen in Form von TKSP´s und Schnittstellenbeschreibung (u.a. Enterprise Architect)
    • Analyse der fachlichen Anforderungen
    • Entwicklung der fachlichen Anforderungen
    • Erstellen eines Konzeptes zur Migration von Eclipse Equinox nach Apache Karaf
    • Durchführen der Migration
    • Entwickeln eines Buildsystems mit Maven
    • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse

    Technologien & Tools

    OSGi R4.2 (Equinox), Apache Karaf, Suse Linux Enterprise Server 11/12, Java 6, 7 und 8, Spring 3, Apache Tomcat 7 und 8 Applikationsserver, UML 2.0, JUnit, Mockito, Powermock, JDBC, JPA, MySQL, Oracle 11/12, Eclipse IDE, Jira, TortoiseSVN, Enterprise Architect, Hudson


  • 10/2012 - 01/2016

    • -
    • >10.000 Mitarbeiter
    • Transport und Logistik
  • Senior Software Developer
  • Projektumfeld

    Ziel: Durchführung eines technischen Releases um die fachliche Weiterentwicklung zu ermöglichen.

    Das bestehende System eignete sich nicht für eine effiziente Weiterentwicklung mit einem großen Entwicklerteam, das auf viele kleine SCRUM-Teams verteilt werden sollte. Im Rahmen des Projekts wurde deshalb zunächst ein technisches Release durchgeführt, um die Komponenten entsprechend der fachlichen Schwerpunkte zu schneiden. Vor dem Start der fachlichen Entwicklung wurde ein Last- und PerformanceTest (LuP) durchgeführt. Dieser hatte zum Ziel die Tragfähigkeit des bestehenden Systems bezüglich der fachlichen Anforderungen zu untersuchen. Anschließend konnten die vom Kunden definierten Anforderungen erfolgreich in mehreren SCRUM-Teams parallel durchgeführt werden. Als Projektvorgehensmodell wurde SCRUM erfolgreich eingesetzt und die Entwicklung der fachlichen Features erfolgte mittels Test-Driven-Development. Um eine sehr hohe Code-Qualität zu erreichen und diese über den gesamten Entwicklungszyklus sicherstellen zu können, wurde eine Continuos-Integration-Strategie (CI) eingesetzt. Diese Strategie bestand u.a. in der Nutzung eines Jenkins-CI-Servers und von Werkzeugen für teamübergreifende Code Reviews (Atlassian FishEye und Crucible).
     

    Eigene Tätigkeiten

    Technisches Release:

    • Definition der technischen Anforderungen (UML)
    • Analyse und Evaluation der bestehenden Systemarchitektur hinsichtlich der Tragfähigkeit für kommende fachliche Anforderungen
    • Verbesserung der Testabdeckung des bestehenden Systems (JUnit, Mockito)
    • Vorbereitung, Durchführung und Dokumentation des fachlichen Komponentenschnitts
    • Konzeption eines Last und Performance Tests (LuP) für das bestehende System
    • Entwicklung von Werkzeugen für den LuP
    • Durchführung, Auswertung und Analyse sowie Dokumentation des LuP
    • Vorbereitung, Durchführung und Dokumentation des Technischen Abnahmetest (TAT)
    • Fortwährende Dokumentation der Projektergebnisse (Confluence)

     

    Fachliche Releases:

    • Definition der fachlichen Anforderungen (Use Case Diagramme)
    • Analyse der fachlichen Anforderungen
    • Entwicklung der fachlichen Anforderungen im SCRUM-Team
    • Dokumentation der entwickelten fachlichen Features und weiterer Projektergebnisse

     

    Technologien & Tools

    JBoss EAP 5/6 Applikationsserver, Apache Tomcat 6/7 Applikationsserver, JavaEE EJB 2.1/EJB 3, Spring 3, UML 2.0, JUnit, JMockit, JDBC, Oracle 11, Eclipse IDE, Confluence, Jira, SCRUM, TortoiseSVN, Git, Enterprise Architect, Java Swing, MVC, Jenkins, JPA, FishEye, Crucible


ZEITLICHE UND RÄUMLICHE VERFÜGBARKEIT
Reisebereitschaft Großraum Frankfurt bzw. Rhein-Main Gebiet
Räumlich flexibel
KONTAKTANFRAGE VERSENDEN

Nachricht:

Absenderdaten: