Software Engineer - Java, Scala, Agile Development

Werbung
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
Herunterladen