Link zum Profil: Software Engineer - Java, Scala, Agile Development Software Engineer - Java, Scala, Agile Development Freiberufler Profil zuletzt geändert am: 06.10.2014 Verfügbarkeit: 01.10.2014 Einsatzort: In PLZ 2, Hamburg, Jahrgang: 1984 Schwerpunkt System und Software Engineering, Software Architektur Agile Entwicklung (SCRUM, Kanban) Objektorientierte Analyse & Design (OOA/OOD) Fachkonzeption, Spezifikationen, Modellierung (UML) Prozess-Automatisierung im Bereich Build, Test, Deployment und Release Entwicklungscoaching, Clean Code, XP, Refactoring, Continous Integration/Delivery Qualitäts- und Projektmanagemenz Ausbildung / Weiterbildung www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 1 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Hochschule Heilbronn, Heilbronn Master of Science in Software Engineering and Management 09/2009 – 05/2011 Berufsakademie Mannheim (heute: Duale Hochschule Baden-Württemberg), Mannheim Diplom Informatiker (BA) 10/2005 – 09/2008 Georg-Christoph-Lichtenberg Gymnasium, Kassel Staatlich geprüfter mathematisch-technischer Assistent 08/2004 – 06/2005 Produkte/Standards/Erfahrungen Frameworks und Technologien Spring (Core, MVC, WS, WebFlow, Security, Data), JPA, Hibernate, JSF, Struts, Play, Akka, Central Authentication Service (CAS), Guava, HTML, CSS, AJAX, JQuery, Bootstrap Webservices/-Tools REST, JSON, SOAP, JAX-RS, JAX-WS, JAXB, Jersey, Spring-WS Test-Werkzeuge JUnit, TestNG, Mockito, Hamcrest, Selenium, Cucumber, JMeter, Gatling Modellierung und Code Generierung UML, MDA, DSL, Enterprise Architect (SparxSystems), Xtext, Xtend SW-Qualität und Code-Analyse SonarQube (Sonar), PMD, Checkstyle, FindBugs Projekt- und Build-Management Maven, Ant, Jenkins, Bamboo, Sonatype Nexus, SBT, Gradle www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 2 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Versions-Verwaltungssysteme Git, Subversion (SVN), CVS Entwicklungsumgebungen Eclipse, IntelliJ IDEA Application Server Appache Tomcat, Jetty, WildFly (JBoss AS), Apache HTTP, nginx, JIRA, Confluence, MS Project Betriebssysteme Linux/Unix Mac OS Microsoft Windows Programmiersprachen Java SE/EE (10 Jahre) Scala (2 Jahre), hell-Scripting Ruby JavaScript C++ Datenbanken NoSQL Relationales Datenbankdesign MongoDB Oracle SQL-Server MySQL www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 3 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Weiteres Branchenkenntnisse Airline und Touristik Banken E-Commerce IT Dienstleistung Medien und Verlagswesen Werbung Auslands- und Spracherfahrung Zahlreiche Projekte in englischer Sprache durchgeführt, enge Zusammenarbeit mit Kollegen ohne Deutschkenntnisse Fünfmonatiger Auslandaufenthalt zur Anfertigung der Masterarbeit in Melbourne, Australien, 2010 Dreimonatiger Auslandseinsatz bei Amadeus SAS, Sophia-Antipolis, Frankreich, 2007 Diplomstudium zu 70% in Englisch absolviert Masterstudium zu 100% in Englisch absolviert Sprachen Deutsch Englisch Französisch Projektverlauf 09.2014 - Heute Software Engineer Selbstständiger Unternehmer Software Engineer; Entwicklung, Beratung und Coaching in den Bereichen Software www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 4 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Architektur, Java Enterprise Entwicklung, Scala Entwicklung, Build-, Deployment- und Test-Automatisierung, Optimierung von agilen Qualitäts- und Entwicklungsprozessen 08.2013 - 08.2014 Lead Developer, Architect Medien & Verlagswesen Entwicklung einer Branchenlösung, mit der Verlagshäuser ihr Geschäftsmodell an die Anforderungen des Medienwandels anpassen können. Die Lösung umfasst alle gängigen Paywall-Modelle, einen crossmedialen E-CommerceShop und ermöglicht durch Single-Sign-On Technologien einen 360-Grad-Blick auf den Leser über mehrere Services und Produkte hinweg. Damit erhalten Medienunternehmen die notwendige Infrastruktur für die digitale Transformation. Requirements Engineering; Prüfung, Bewertung und Überführung von Kundenideen und Anforderungen in eine konsistente und widerspruchsfreie Produktspezifikation (später User Stories). Definition der high-level Komponentenarchitektur des Gesamtsystems (verteilte REST ServiceArchitektur) und Design der Schnittstellen zwischen den einzelnen Komponenten. Design, Implementierung und Test zentraler Services und übergreifender Framework Funktionalität. Design und Umsetzung des Kern-Datenmodels sowie der Datenzugriffsschicht basierend auf MongoDB, Morphia und Java. Konzeption und Umsetzung des Test-, Build- und Deployment-Prozesses basierend auf Maven, Nexus, Jenkins, Shell Skripten und Jira. Steuerung und Überwachung des zehnköpfigen Entwicklungs-Teams. www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 5 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Training und Coaching des Entwicklungs-Teams im Bereich Agi|e Entwicklung, Testgetriebene Entwicklung und Continuous Delivery. Sicherstellung der Leistungserbringung gemäß Angebot und fachlichen Anforderungen,GoLive Unterstützung. Benutzte Systeme und Technologien: Java / Java EE, Spring, MongoDB, REST, JSON, JAX-RS, Guava, Freemarker, Selenium, Cucumber, Maven, Nexus, Jenkins, Shell-Scripting, JUnit, Hamcrest, Mockito, SVN, Eclipse, Apache Tomcat, Jetty, Nginx 09.2011 - 07.2013 Lead Developer, Architect, Analyst Banken Technische Migration des bestehenden Online-Banking & Brokerage Frontends auf eine moderne, wartungsfähige und modulare Plattform. Gleichzeitige Einführung von Model-to-Code Prozessen und Tools für die automatisierte Überführung von Fachlichkeit in Software Module. Analyse der bestehenden Geschäfts- und Entwicklungsprozesse mit Hinblick auf potenzielle Optimierung durch einen Model-to-Code Ansatz. Design und Einführung eines fachlichen Modellierungsdialekts auf Basis Enterprise Architekt und UML, sowie einer DSL für die automatisierte Überführung von Fachlichkeit in Code. Konzeption und Umsetzung diverser Code-Generatoren zur Automatisierung der technischen Migration (zunächst mittels Scala, später mit Xtext und Xtend). Modelierung und Implementierung von Order & Banking Use Cases unter Zuhilfename der entwickelten DSL, Generatoren, Enterprise Architect und Java + Spring. Steuerung und Überwachung des vierköpfigen Near-Shore Entwicklungsteams. Sicherstellung der Leistungserbringung gemäß Angebot und fachlichen Anforderungen. Benutzte Systeme und Technologien: www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 6 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Java / Java EE, JSF, Spring, Spring WebFlow, Xtext, Xtend, Scala, Enterprise Architect, UML, JUnit, Hamcrest, Mockito, SVN, Eclipse 09.2011 - 08.2014 Software Architekt / Consultant CGI Deutschland GmbH & Co. KG, Hamburg Software Architekt / Consultant; Beratung mit den Schwerpunkten agile Softwareentwicklung, Softwarearchitekturen, Java Enterprise. Steuerung von Entwicklungs-Teams (lokal, nearshore), technologische Projektverantwortung, Optimierung von Qualitäts- und Entwicklungsprozessen. 09.2011 - 10.2011 Consultant Medien & Verlagswesen Beratung bei der mandantenübergreifenden Einführung eines Single-Sign-On Systems, insbesondere im Bezug auf effiziente und kostengünstige Anbindung neuer Dienste innerhalb des Konzerns. Schulung und Support im Bereich templatebasierter Oberflächenentwicklung (Customizing) für die kundenspezifische SSO Lösung. Migrationsplanung zur Überführung von Bestandsdaten in die neuen Systeme und GoLive Support. Benutzte Systeme und Technologien: Microsoft Project, Microsoft PowerPoint, Freemarker, HTML, CSS www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 7 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development 06.2011 - 08.2011 Software Engineer Smaato Inc.; Hamburg Software Engineer; Entwurf und Implementierung von Komponenten innerhalb eines Hochlast-Java-Server-Systems, Software-Konfigurations-Management, ReleaseManagement. 06.2011 - 08.2011 Developer, Build Engineer Werbung Weiterentwicklung eines bestehenden, hoch-verfügbaren und -skalierbaren JavaServer-Systems zur vollautomatisierten Auslieferung von Mobile-Advertisement Snippets. Sicherstellung der Leistungserbringung gemäß Angebot, Code Review, Implementierung der Business Logik und der Applikationssteuerung, Unterstützung der Entwickler, GoLive Unterstützung. Design, Implementierung und Test von neuen Features innerhalb des bestehenden Java Backend Systems. Konzeption und Umsetzung eines neuen Test-, Build- und Deployment-Prozesses basierend auf Maven, Nexus, Jenkins, Shell Skripten und Amazon EC2. Benutzte Systeme und Technologien: Java / Java EE, JSP, Maven, Nexus, Jenkins, Shell-Scripting, Amazon EC2, JUnit, Hamcrest, Mockito, SVN, Eclipse 11.2010 - 04.2011 Consultant, Architect, Developer www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 8 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development IT Dienstleistungen Proof of Concept / Portierung eines bestehenden Data-Warehouse-Systems aus einer klassischen Java EE Umgebung (Java, JSF, Hibernate, MySQL, Tomcat) in eine Platformas-a-Service Umgebung (Google App Engine). Analyse der Bestandsanwendung und deren Architektur im Bezug auf eine mögliche Portierung auf die Google App Engine (GAE). Design und Umsetzung der neuen Architektur innerhalb der durch die PAAS Lösung vorgegebenen Strukturen. Migration einzelner Use Cases in die neue Architektur (Java, GAE, BigTable, JSF). Identifikation, Abstraktion und Bewertung von kurz- bzw. mittelfristigen Hürden bei der Portierung einer Java EE Anwendung hin zur GAE PAAS Lösung. Benutzte Systeme und Technologien: Java / Java EE, JSF, Hibernate, Google App Engine (GAE), Google Datastore (BigTable), GIT, Eclipse 06.2010 - 09.2010 Software Engineer (Teilzeit/Werkstudent) NovaTec GmbH; Stuttgart Software Engineer (Teilzeit/Werkstudent); Machbarkeitsanalysen und Entwicklung von Prototypen mit Fokus auf Java, SpringSource Technologien und moderne Web Technologien 05.2009 - 09.2009 Developer, Architect IT Dienstleistungen www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 9 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Neuentwicklung einer Web-Anwendung zur Verwaltung von Profil-, Skill-, Projekt- und Kundendaten. Design und Umsetzung der Grundarchitektur der Anwendung basierend auf Java, Spring, JSF, Hibernate und MS SQL Entwurf, Implementierung und Test von Business Funktionalität in serverseitigen Java EE Komponenten mittels Java, Spring, Hibernate und JSF Modellierung und Umsetzung der Persistenz Schicht (Relationaler Datenbank Entwurf und Hibernate Mapping). Anbindung von externen Web Services (SOAP) und LDAP Systemen. Steuerung und Überwachung der Entwicklungstätigkeiten innerhalb des Teams sowie Unterstützung der Entwickler bei Refactorings, Code Reviews und Testautomatisierung. Benutzte Systeme und Technologien: Java / Java EE, Spring, Hibernate, JSF, MS SQL, Web Services, SOAP, LDAP, JUnit, EasyMock, Maven, SVN, Eclipse, Enterprise Architect 01.2009 - 04.2009 Developer, Build Engineer Banken Umsetzung einer ganzheitlichen Erfassungssoftware zur Kontoanlage für minderjährige Privatkunden bei einer namhaften Hamburger Bank. Design und Umsetzung der primären Flusssteuerung durch die Anwendung mittels Spring, Spring WebFlow und Enterprise Architect. Entwurf, Implementierung und Test von Business Funktionalität in serverseitigen Java EE Komponenten mittels Java, Spring, Hibernate und JSF. Aufbau des Buildsystems (Maven), Testautomatisierung (Selenium), und Continuous Integration/Delivery (Maven, Jenkins, Jira, Nexus). Benutzte Systeme und Technologien: www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 10 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Java / Java EE, Spring, Spring WebFlow, Hibernate, JSF, JUnit, EasyMock, Maven, Selenium, SVN, Eclipse, Jetty, Enterprise Architect 11.2008 - 09.2009 Associate Consultant Logica Deutschland GmbH & Co. KG, Hamburg Associate Consultant; Beratung in den Bereichen Softwareentwicklung, Java Technologien (JEE, Spring, Hibernate, JSF, Maven, Jenkins), leichtgewichtige Unternehmensanwendungen und Optimierung von Software-Entwicklungsprozessen 10.2008 - 12.2008 Analyst IT Dienstleistungen Requirements Engineering für eine Java basierte Webanwendung zur Profil-, Skill-, Projekt- und Kundenverwaltung bei einem globalen IT - Dienstleistungskonzern. Aufnahme der fachliche Anforderungen vom Fachbereich sowie Festlegung der nicht funktionalen Anforderungen. Mitarbeit am Pflichtenheft und Lastenheft. Planung der Arbeitspakete und Projekt-Milestones für die zukünftige Umsetzung. Benutzte Systeme und Technologien: Microsoft Word, Microsoft PowerPoint, Enterprise Architect 07.2008 - 09.2008 Developer Airline und Touristik www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 11 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Neuentwicklung einer DLL basierten lokalen Scripting-Schnittstelle unter Verlagerung von C++ Client Funktionalität hin zu Java EE Server Komponenten. Verlagerung von Business Funktionalität aus einem lokalen C++/COM Client in serverseitige Java EE Komponenten. Entwurf, Implementierung und Test eines Web Services, welcher die portierte Geschäftslogik über saubere Schnittstellen zur Verfügung stellt. Entwurf, Implementierung und Test einer clientseitigen Komponenten (DLL), welche die ursprüngliche Client Schnittstelle implementiert und an den Web Service delegiert. Benutzte Systeme und Technologien: C/C++, Java, SOAP, XML, Apache Axis, JUnit, Ant, SVN, Eclipse 01.2008 - 03.2008 Analyst, Architect Airline und Touristik Machbarkeitsstudie zur Erhaltung einer lokalen Windows Schnittstelle (DLL) bei gleichzeitiger Überführung einer Fat-Client Anwendung hin zu einer Client-ServerArchitektur. Analyse der Architektur und der technischen Umsetzung der bestehenden Schnittstelle/DLL. Erarbeitung einer Lösungsarchitektur zur transparenten Ersetzung der Client Bestandteile, basierend auf einer schlanken DLL, WebServices und serverseitiger Geschäftslogik. Erstellung eines Lastenheftes auf Basis der Anforderungen. Benutzte Systeme und Technologien: C/C++, Java, SOAP, XML www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 12 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development 07.2007 - 09.2007 Consultant, Developer Airline und Touristik Proof of Concept / Überprüfung möglicher Produktivitätssteigerungen durch die Umstellung bestehender Anwendungen von Java auf Ruby on Rails. Fachliche Analyse einer bestehenden Webanwendung zur Durchführung von Serverdeploymentsund -sizeing. Nachbildung der Grundfunktionalität in einem Ruby on Rails basierten Prototyp. Pro- und Contra-Analyse mit abschließender Bewertung im Bezug auf Entwicklerproduktivität, Betriebsstabilität und Performance von Ruby on Rails im konkreten Szenario. Durchführung von Ruby on Rails Schulungen und Zusammenstellung von Lehrmaterialien. Benutzte Systeme und Technologien: Ruby, Ruby on Rails, MS SQL, HTML, CSS, Ajax, SVN, IntelliJ IDEA 04.2007 - 06.2007 Analyst, Architect, Developer Bildungswesen Design und Entwicklung einer Raumplanungssoftware für die dezentrale Verwaltung von Universitätsräumen mittel Java EE, Web Services und Swing. Requirements Engineering, Aufnahme der fachliche Anforderungen vom Fachbereich sowie Festlegung der nicht funktionalen Anforderungen. Design der Gesamtarchitektur für das Buchungssystem (Client + Server + Schnittstellen). Implementierung der serverseitigen Geschäftslogik und Web Services mittels Java, Spring und Hibernate. www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 13 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Steuerung des dreiköpfigen Entwicklerteams. Benutzte Systeme und Technologien: Java / Java EE, Spring, Hibernate, Web Services, SOAP, Swing, JUnit, EasyMock, SVN, Eclipse, Apache Tomcat 01.2007 - 08.2008 Selbstständig Kleinunternehmer; IT-Consulting, Softwareentwicklung in den Bereichen Java, Spring, Web 01.2007 - 03.2007 Developer Airline und Touristik Entwicklung eines generischen Datenmigrationstools zur automatisierten Übertragung von Massendaten zwischen verschiedenen Datenquellen innerhalb der Kundensysteme. Aufnahme von funktionalen und nichtfunktionalen Anforderungen. Analyse der bestehenden Datentöpfe, sowie sich daraus ergebene Einschränkungen für den Datenmigrationsprozess. Entwurf und Codierung einer konsolenbasierten Anwendung zur sicheren und effizienten Übertragung und Transformation von mehr als drei Millionen Kundendatensätzen. Benutzte Systeme und Technologien: Java, MySQL, JDBC, JUnit, SVN, Eclipse www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 14 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development 07.2006 - 09.2006 Analyst, Developer Airline und Touristik Entwurf und Umsetzung eines Statistik-Moduls für serverseitiges Live Monitoring innerhalb bestehender Backend-Buchungssysteme. Analyse existierender Komponenten und Festlegung der Zielarchitektur. Entwurf und Umsetzung der Datenzugriffsschicht für die Neuanwendung. Codierung, Test und Dokumentation der Statistik-API unter Verwendung eines firmeninternen Java Enterprise Frameworks, WebWork und JAXP. Benutzte Systeme und Technologien: Java / Java EE, XML, JAXP, SAX, WebWork (Struts), JUnit, CVS, Eclipse 01.2006 - 03.2006 Developer Airline und Touristik Proof of Concept / Prototyp-Migration einer bestehenden Touristikanwendung zur Buchung von Fernverkehrszügen auf ein firmeninternes Java Enterprise Framework. Requirements Engineering anhand der bestehenden Anwendung im Bezug auf funktionale wie nicht-funktionale Anforderungen. Entwurf und Umsetzung der Datenzugriffsschicht für die Neuanwendung. Implementierung von serverseitigen Geschäftsprozessen. Erweiterung der Framework Dokumentation und Erstellung von Schulungsunterlagen. Benutzte Systeme und Technologien: Java / Java EE, XML, JAXP, DOM, iBATIS, MySQL, JUnit, SVN, Eclipse, JBoss AS 08.2005 - 09.2008 Trainee; Softwareentwicklung www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 15 von 16 Link zum Profil: Software Engineer - Java, Scala, Agile Development Amadeus Germany GmbH, Bad Homburg Trainee; Softwareentwicklung, Analyse, Entwurf und Umsetzung von Anforderungen mittels unterschiedlicher Technologien (meist Java, häufig in innovativen, prototypischen Entwicklungsprojekten), Analyse und Optimierung von Unternehmensprozessen in der Softwareentwicklung 08.2005 - 09.2005 Consultant Airline und Touristik Einführung eines firmeninternen Problem-And-Change-Management Tools basierend auf ITIL v3 zur Steigerung der Effizienz in einem etwa siebzigköpfigen Projektteam. Ausarbeitung von Organisationsstrukturen und Richtlinien. Planung und Durchführung von lnformations- und Schulungsveranstaltungen. Vorbereitung der automatischen Installation und Konfiguration von benötigten Softwarekomponenten. Benutzte Systeme und Technologien: Amadeus Approach, MS Project, MS PowerPoint www.expert-profiles.com Link zum Profil: Software Engineer - Java, Scala, Agile Development Seite 16 von 16