Steffen Jacobs Brigittenstraße 9, 20359 Hamburg Telefon +49 (0) 176 225 127 98 E-Mail [email protected] Webseite www.steffenjacobs.de Persönliche Daten Geburtsdatum 06.02.1979 Geburtsort Dannenberg / Elbe Nationalität deutsch Familienstand ledig Fremdsprachen englisch Über mich Als ausgebildeter Diplom-Informatiker beschäftige ich mich seit mehr als vier Jahren mit Open-Source-Technologien für die Erstellung von komplexen Unternehmens-Webseiten. Von 2008 bis heute arbeitete ich zunächst drei Jahre als angestellter JEE-Berater für diverse Kunden in unterschiedlichen Branchen bevor ich mich 2011 selbständig machte. Durch meine Tätigkeit als Berater bin ich erfahren in der Entwicklung von B2B- und B2C-Anwendungen, kann bei Architektur-Entscheidungen auf verschiedene Infrastrukturen flexibel reagieren und weiß, wie man die typischen Kommunikationsbarrieren zwischen Fachbereich und Technik durchbricht. Ich bin strukturiert, besitze eine schnelle Auffassungsgabe, spreche Probleme offen an und lege großen Wert auf eine transparente Arbeitsweise. Nicht zuletzt werden Sie mich als offenen, selbstkritischen und empathischen Menschen kennenlernen, der auch in schwierigen Projektphasen einen kühlen Kopf behält. Berufserfahrung seit 2011 selbständig Hamburg Freiberuflicher IT-Berater Softwareentwicklung Technische Konzeption Erfahrung in Großprojekten (Budget > 2Mio) Internationale Projekterfahrung gesammelt 2008 - 2011 Acando GmbH Hamburg Internationale Management- und IT-Beratung mit Schwerpunkten Microsoft, Java und SAP. Tätig als IT-Consultant Softwareentwicklung Technische Konzeption Technische Projektleitung Studium 2000 - 2008 Christian-Albrechts-Universität zu Kiel Diplom in Informatik und Betriebswirtschaft. Abschlussnote „gut“. Diplomarbeit „Automatische Validierung von Modulkonfigurationen in der Integrierten Modularen Avionik“ für Airbus Deutschland GmbH. Note „sehr gut“. Kiel Branchenerfahrung Banken, Luftfahrtindustrie, Telekommunikation, Verlagswesen, E-Commerce, Softwarehersteller Arbeitsschwerpunkte Softwareentwicklung Java (SE/EE), OOP, TDD, Spring, AngularJS, Server (Tomcat, JBoss, WebSphere), Versionsmanagement (Git, Subversion, CVS), Build -Tools (Maven, SBT, Ant), CI (Jenkins, Go), Docker, Ansible, Bug-Tracking (Jira, Rally, Mingle, Mantis), OOP/Design-Patterns, Datenbanken (PostgreSQL, Oracle, MySQL), Linux-Administration Konzeption Anforderungsanalyse und -management, Konzeption von Software- und Systemarchitektur, Unterstützung der Technologieauswahl, Schulung der Fachabteilungen Agiles Vorgehen Scrum, Pair-Programming, Daily StandUps, Retrospektiven Zertifikate Sun Certified Programmer for Java 2 Platform CoreMedia Certified Delivery Developer Publikationen Ein Open-Source-Editor zur modellbasierten Validierung von Geschäftsprozessen Jacobs, Steffen; Feja, Sven: Ein Open-Source-Editor zur modellbasierten Validierung von Geschäftsprozessen. In: Klaus -Peter Fähnrich; Stefan Kühne; Maik Thränert: Model-Driven Integration Engineering - Modellierung, Validierung und Transformation zur Integration betrieblicher Anwendungssysteme, S. 81-91. Eigenverlag Leipziger Informatik-Verbund (LIV), September 2008. ISBN: 978 -3-941152-02-1 Projekte Mai 2012 – Sep. 2015 Pflege und Weiterentwicklung einer Online-Lotterie Plattform E-Commerce Über einen längeren Zeitraum konnte ich in diesem Projekt nahezu alle Bereiche einer Plattform für Online-Lotterie-Produkte kennenlernen. Im Laufe der Zeit war ich Teil unterschiedlicher Teams innerhalb der Organisation. Meine Aufgaben lagen weitgehend in der Verbesserung des Online-Shops, in der Implementierung neuer Bezahlmethoden, der Pflege des Kundenbereichs, inklusive Registrierung, Altersverifikation, Betrugsprävention und Kundenkommunikation per E-Mail und SMS. Dazu gehörte auch die Pflege, sowie Neuentwicklung des Frontends mit AngularJS, JQuery, HTML und CSS. Im späteren Projektverlauf war ich aktiv an der Einführung einer Microservice-Architektur mit Hilfe von Docker und Ansible beteiligt. Java-Entwicklung, Unit- und Integrationstests Sowohl backend-, als auch frontenseitige Entwicklung Mitglied internationaler Scrum-Projektteams Erstellung von Architektur, Software-Design und Technologie-Auswahl für die Neugestaltung des gesamten Frontends für ein neues „Responsive Design“ (Java, Maven/Gradle, Git/Subversion, Spring Boot, Geb/Cucumber, Spring MVC, Hibernate, Thymeleaf, Play2 Framework, Docker, Ansible, AngularJS, HTML, CSS, Grunt, SASS, Oracle DB, MongoDB, ActiveMQ, REST, Scrum, Pair Programming, TDD, Jenkins CI, “Microservices”, Webtrekk, Maxymiser) Jan. 2012 – Okt. 2012 Ein Geschäfts- und Endkundenportal zur Überwachung von Photovoltaik-Anlagen Photovoltaik/Monitoring Das Projekt umfasste die Weiterentwicklung eines Internet -Portals zur Analyse und Überwachung von Photovoltaikanlagen für End - und Geschäftskunden. Für ein Monitoring der beim Kunden installierten Anlagen werden diese mit einem zusätzlichen Gerät (sog. Datenlogger) ausgestattet, das in viertelstündigen Abständen Wechselrichter -Informationen wie Verbrauchs- und Einspeiseströme misst und über einen Kommunikationskanal an das Backend des Portals weiterleitet. Bei mehreren tausend Geräten im Markt und bei einer Laufzeit über mehrere Jahre fallen somit hunderte Millionen Datensätze an, die dem Benutzer im Portal in Diagrammen präsentier t werden. Die hohen Ansprüche an das Datenbankmodell hinsichtlich Performance und Skalierbarkeit konnten letztendlich durch den richtigen Einsatz von Hibernate und Spring erfüllt werden. Entwicklung, Deployment, Unit- und Integrationstests Linux-Server- und DB-Administration (Selenium, HTML/CSS/JQuery, JavaServer Faces 2.0, JBoss RichFaces, Hibernate, Spring Framework, PostgreSQL, CI mit Jenkins und FlyWay , Tomcat 6) Jul. 2011 – Dez. 2011 E-Commerce-Plattform im Verlagswesen Verlagswesen/E-Commerce Als Teil eines internationalen Projektteams wurde ein neues E -CommercePortal für einen der weltweit renommiertesten Wissenschaftsverlage entwickelt. Für den Entwicklungsprozess wurde eine Kombination aus SCRUM und KANBAN eingesetzt. Authentifizierung, Zugriffs- und Benutzermanagement mit OpenAM Definition Umsetzung der User-Stories für das Identity-Management Integration in den „Continuous Build“. Anbindung an das SAP-Backend Unterstützung des Deployment-Prozesses (Java, Spring, OpenAM, CXF, SOAP, RESTful, Scala, Ruby, Capistrano, Chef, Go CI, Mingle) Feb. 2011 – Okt. 2011 Ein Web-Portal zur unternehmensweiten Verwaltung von Applikationen Luftfahrtindustrie Für ein weltweit agierendes Luftfahrtunternehmen wurde ein existierendes Web-Portal für Unternehmensapplikationen weiter modernisiert, personalisiert und um neue Anwendungsfälle ergänzt. Unser agiles Vorgehensmodell mit täglichen Statusmeetings minderte das Projektrisiko für den Kunden und legte den Grundstein für den Projekterfolg. Als Ergebnis konnten wir in kürzester Zeit eine leistungsfähigere, robustere und benutzerfreundlichere Plattform präsentieren und somit die Anforderungen des Kunden vollends erfüllen. Umsetzung der Anforderungen in enger Zusammenarbeit mit dem Kunden Implementierung der Geschäftslogik mit Struts, Spring und iBATIS Implementierung der Präsentationsschicht mit unterschiedlichen WebTechnologien Entwickler- und Integrationstests (Testdriven development) Dokumentation, Fehlerbehandlung Unterstützung des Deployment-Prozesses (Struts, Spring, iBATIS, Oracle DB, JasperReports, Quartz, OpenSSO, Ajax, Prototype, Yahoo! User Interface Library (YUI), jQuery, HTML, CSS) Jan. 2011 – Apr. 2011 Ein Frühwarnsystem für Bonitätsrisiken Finanzdienstleister/Banken Um die Risiken im Kreditgeschäft zu identifizieren, zu steuern und zu überwachen wurde ein automatisches Frühwarnsystem für ein großes deutsches Kreditinstitut konzipiert und realisiert. Ziel war es, sämtliche Marktsegmente der Bank regelmäßig durch das System automatisch mit geeigneten Algorithmen zu analysieren, um frühzeitig Gegenmaßnahmen ergreifen zu können. Zurückgegriffen wurde dafür auf täglich, monatlich oder jährlich aktualisierte Kennzahlen aus den jeweiligen Märkten. Beispiele für solche Kennzahlen sind aktuelle Wetterdaten für eine Effizienzanalyse von Windkraftparks, Mietpreise für Immobilien, aktuelle Aktienkurse und Auslastungskennzahlen für Airlines. Aus den komplexen, fachlichen Zusammenhängen und Algorithmen wurden gemeinsam mit den Fachbereichen Anforderun gen definiert und das technische Konzept herausgearbeitet. Die Umsetzung erfolgte in einem kleinen Entwickler-Team innerhalb weniger Monate und das Frühwarnsystem konnte rechtzeitig zum geplanten Zeitpunkt zum Einsatz kommen. Technische Konzeption Teilprojektleitung Entwicklung Deployment (BEA WebLogic AS, Enterprise Java Beans, JPA / Hibernate Batch Processing, Oracle PL/SQL) Nov. 2010 – Dez. 2010 B2B-Relaunch mit FirstSpirit CMS Einzelhandel Für ein großes deutsches Einzelhandelsunternehmen wurde die bestehende B2B-Webpräsentation auf ein modernes Content Management System migriert. Insbesondere wurde für die neue Webseite eine komplexe Volltextsuche mit unterschiedlichen Kategorien, Autovervollständigung umgesetzt und erfolgreich in FirstSpirit integ riert. Implementierung der Volltextsuche/Autovervollständigung mit Solr/Lucene Integration der Suche in FirstSpirit Entwickler- und Integrationstests Dokumentation, Mitarbeiterschulung Unterstützung des Deployment-Prozesses (Spring, Lucene, Solr, FirstSpirit CMS, Tomcat) Aug. 2010 – Sep. 2010 Ein Ärzte-Portal mit dem CoreMedia CMS Gesundheitswesen Für einen Kunden im staatlichen Gesundheitswesen wurde die Neugestaltung der Internetpräsentation demonstriert und prototypisch umgesetzt. Hierbei galt es vor allem, die Stärken des CMS und die redaktionelle Arbeit in einer den Kundenwünschen angepassten Umgebung zu präsentieren. Überführung des vorhandenen Designs in CoreMedia Templates Erstellung von (Beispiel-)Inhalten Umsetzung des Layouts mit YAML CSS (Java, CoreMedia CMS, HTML, YAML CSS, Tomcat) Mär. 2010 – Jun. 2010 Integration heterogener Softwarekomponenten in eine service orientierte Architektur Telekommunikation Eine vorhandene serviceorientierte Systemlandschaft wurde in mehreren Projekten um weitere Module ergänzt, die es erlauben, die Verfügbarkeit einzelner Telekommunikationsdienste für den Kunden direkt aus dem CRM System zu steuern und zu testen. Die entwickelten Komponenten bieten dabei eine einheitliche Webservice-Schnittelle zu einer Vielzahl heterogener Subsysteme (außerhalb der Service-Landschaft) an. Neben den fachlichen Anforderungen bestand eine weitere erfolgreich gelöste Aufgabe darin, das Gesamtsystem durch automatische Fehlerbehandlungsroutinen möglichst robust gegenüber vorübergehend ausfallender Kommunikation zu entwickeln und eine leichte Erweiterbarkeit zu gewährleisten. Entwicklung der Geschäftslogik mit Datenbankanbindung Implementierung der Webservice-Schnittstellen Anpassung einzelner Submodule Gestaltung und Implementierung einer grafischen Benutzeroberfläche mit Datenbankanbindung Unterstützung der Tests Deployment (JBoss Server, SOA, Oracle, Hibernate, Spring, Quartz, Struts, JSP, JavaScript, CXF, Perl, CGI) Jan. 2010 – Feb. 2010 Dynamische Kundenkommunikation mit Hilfe einer Business-RuleEngine Telekommunikation Eine bestehende Applikation, die in einer Webservice -basierten Architektur zur automatisierten Kommunikation mit dem Kunden eingesetzt wird, wurde um eine weitere Schnittstelle für den E-Mail-Nachrichtenversand erweitert. Das System erlaubt hierbei das Versenden von personalisierten Nachrichten und lässt sich zur Laufzeit mit Hilfe einer Regel-Engine dynamisch konfigurieren und steuern. Erweiterung der bestehenden WSDL -Schnittstelle für den Eingangskanal zur Kommunikation mit Siebel CRM Hinzufügen eines zusätzlichen Kommunikationskanals für den ausgehenden Email-Versand Realisierung der Anwendungslogik zur ein- und ausgehenden Webservice-Kommunikation Erstellen von DROOLS-Regeln Unterstützung bei der Einrichtung einer Testumgebung Durchführung von Tests und Deployment (WebServices, WSDL, SOAP, JBoss DROOLS, Hibernate, Oracle DB, Spring, Unit-Tests, Tomcat, Velocity) Nov. 2009 – Dez. 2009 Eine Applikation zur Integration einer Volltextsuche in einer Internetpräsentation Beratung/Software Eine mit einem Content Management System verwaltete Internetpräsentation mit mehreren hundert Seiten sollte um eine Suchmöglichkeit für Kunden erweitert werden. Die Herausforderungen bestanden dabei aus der Analyse und Indizierung der dynamisch generierten Inhalte der CMS-Seiten sowie die Darstellung von sinnvollen Ergebnislisten, wie man sie von herkömmlichen Suchmaschinen kennt. Integration der Daten-Indizierung und -Suche in eine Gauss VIP WebCMS-Umgebung Entwicklung der Applikationslogik mit Java und Apache Lucene (Gauss VIP Web Content Management System, Apache Lucene) Apr. 2009 – Okt. 2009 Elektronischer Austausch von Portierungsdaten durch Webservices Telekommunikation Im Bereich der Telekommunikation ist es mittlerweile gängige Praxis, dass bei einem Anbieterwechsel von Seiten des Kunden (sog. Portierung), die Kundendaten zwischen den beteiligten Providern eigenständig ausgetauscht werden. Die herkömmliche Kommunikation mit Hilfe von Fax -Nachrichten sollte in diesem Projekt durch eine flexiblere Lösung auf Basis einer Serviceorientierten Architektur (SOA) ersetzt werden. Dafür wurde eine webbasierte Benutzeroberfläche für das Kundencenter weiterentwickelt, die Lösung an das bestehende CRM-System gekoppelt und die WebserviceKommunikation implementiert. Entwicklung von UI-Komponenten und -Seiten mit Struts Anpassung der WSDL-Spezifikation und Synchronisierung mit den verantwortlichen Fachbereichen Implementierung von Webservice-Kommunikation und Business-Logik Im-/Export der Daten zu Siebel CRM (Struts, JavaServer Pages, SOAP, Spring, Siebel CRM) Jan. 2009 – Feb. 2009 Web-Applikation zur Verwaltung von Mitarbeiterdaten Beratung/Software Für die Verwaltung externer Mitarbeiter wurde eine sogenannte CRUD Applikation auf Java-Basis benötigt, die das Speichern, Bearbeiten und Finden von Mitarbeiter-Daten über eine grafische Web -Oberfläche ermöglicht. Für die Umsetzung der Präsentations-, Business- und Datenbank-Schicht sollten dabei aktuelle Technologien wie JavaServer Faces, Hibernate und Spring eingesetzt werden. Entwicklung und Design der Präsentation Realisierung der Anwendungslogik Einrichtung und Konfiguration der Datenbank Konfiguration der Anwendung mit Spring Konfiguration und Installation des Tomcat Servers (Java EE, Tomcat Server, Hibernate, Spring, JavaServer Faces 1.2, MySQL) Okt. 2007 – Apr. 2008 Automatisierte Validierung von Modul-Konfigurationen Luftfahrtindustrie Im Rahmen des Validierungs- und Integrationsprozesses bei der Integrierten Modularen Avionik (IMA) - einem gängigen Standard aus der Luftfahrt - wurden bestehende Arbeitsabläufe analysiert und automatisiert. In diesen fachspezifischen Prozessen wurde der XML -Standard als Dokumentensprache zur Schnittstellenkommunikation eingeführt und ein Werkzeug zur regelbasierten Validierung von Konfigurationsparametern in Java realisiert. Dabei wurden sämtliche Komponenten so konzipiert, dass sie nahtlos in die bestehenden Arbeitsabläufe integriert werden konnten. Analyse und Identifikation von Problemen innerhalb des bestehenden Validierungsprozesses. Automatisierung von manuellen Arbeitsabläufen Entwicklung eines strukturbasierten Editors zur Erstellung von Validierungsregeln Einführung von XML als Dokumentenformat zur Kommunikation zwischen unterschiedlichen Verantwortungsbereichen (XML, XML-Schema, XPath, XSLT, XSL-FO, Perl, Modellgetriebene Entwicklung mit Eclipse EMF und Java) Jun. 2007 – Aug. 2007 Entwicklung und Entwurf eines grafischen Editors zur modellbasierten Validierung von Geschäftsprozessen Beratung/Software In diesem Projekt wurde eine Architektur zur Orchestrierung und Validierung von Web-Services in geschäftskritischen eBusiness -Umgebungen konzipiert und realisiert. Ein Ziel war die Umsetzung eines Werkzeugs zur Identifizierung struktureller, semantischer und pragmatischer Fehler bei der Modellierung von Geschäftsprozessen. In einem modellgetriebenen Ansatz wurde eine Anwendung entwickelt, die es erlaubt, formale Geschäftsprozessmodelle (EPK) zu erstellen und diese werkzeugunterstützt gegenüber modellierten Anforderungen zu validieren. Konzeption und Realisierung eines Eclipse -Plug-Ins zur Modellierung ereignisgesteuerter Prozessketten (EPK) Konzeption und Realisierung einer Komponente zur Modellierung formaler Anforderungen (Eclipse Rich Client Platform , Eclipse Plug -In-Development Environment, Eclipse Modeling Framework, Graphical Modeling Framework) Feb. 2007 – Mai 2007 Visualisierung von Simulationsdaten in Modellierungswerkzeugen Wissenschaft/Universitäten Das Projekt beinhaltete eine Erweiterung des Funktionsumfangs der generischen Modellierungswerkzeuge MATLAB Simulink und Esterel SCADE. Über eine TCP/IP-Schnittstelle wurden Simulationsdaten abgefragt und grafisch dargestellt. Ziel war es dabei, die Fehlererke nnung bei modellierten, sicherheitskritischen Anwendungen zu verbessern. Durch den Einsatz einer modularen und komponentenbasierten Architektur wurde eine hohe Wiederverwendbarkeit und Flexibilität gewährleistet. Evaluation von einsetzbaren Technologien Konzeption der Software-Architektur Implementierung, Dokumentation Anwenderbetreuung und Wartung (GUI Entwicklung mit Swing, Client-Server-Programmierung über TCP/IP, XML, XML-Schema, Apache Batik SVG Toolkit, Esterel SCADE, MATLAB Simulink/Stateflow) Mär. 2005 – Jun. 2005 Entwicklung einer Webanwendung zur Erfassung und Auswertung von Produktionsmengen in der Milchwirtschaft Agrarindustrie Zur elektronischen Datenerfassung und für die Bereitstellung von statistischen Analysen wurde eine Webanwendung erste llt. Aufgrund des nicht-technischen Hintergrunds der potentiellen Nutzer stand die Entwicklung eines ergonomischen und intuitiven Designs im Vordergrund. Design und Ergonomie der Präsentationsschicht Verarbeitung von Benutzeranfragen und skriptbasierte Gen erierung von Webseiten Konkrete Realisierung (HTML, CSS, JavaScript, PostgreSQL)