NILS SCHMIDT

Werbung
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
ANGABEN ZUR PERSON
Name
Anschrift
Telefonnummer
E-mail
Staatsangehörigkeit
Geburtsdatum
Schmidt, Nils
Heußweg 89, 20255 Hamburg
+49 151 42231035
[email protected]
Deutsch
09. März 1984
BERUFSERFAHRUNG
Datum
Arbeitgeber
Funktion und Tätigkeit
Datum
Arbeitgeber
Funktion und Tätigkeit
Datum
Arbeitgeber
Funktion und Tätigkeit
Datum
Arbeitgeber
Funktion und Tätigkeit
Datum
Arbeitgeber
Funktion und Tätigkeiten
Datum
Arbeitgeber
Funktion und Tätigkeiten
Datum
Arbeitgeber
Funktion und Tätigkeiten
09/2014 – heute
Selbstständiger Unternehmer
Software Engineer; Entwicklung, Beratung und Coaching in den Bereichen Software Architektur,
Java Enterprise Entwicklung, Scala Entwicklung, Build-, Deployment- und Test-Automatisierung,
Optimierung von agilen Qualitäts- und Entwicklungsprozessen
09/2011 – 08/2014
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
06/2011 – 08/2011
Smaato Inc.; Hamburg
Software Engineer; Entwurf und Implementierung von Komponenten innerhalb eines HochlastJava-Server-Systems, Software-Konfigurations-Management, Release-Management
06/2010 – 09/2010
NovaTec GmbH; Stuttgart
Software Engineer (Teilzeit/Werkstudent); Machbarkeitsanalysen und Entwicklung von Prototypen mit Fokus auf Java, SpringSource Technologien und moderne Web Technologien
11/2008 – 09/2009
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
08/2005 – 09/2008
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
01/2007 – 08/2008
Selbstständig (Teilzeit)
Kleinunternehmer; IT-Consulting, Softwareentwicklung in den Bereichen Java, Spring, Web
1/7
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
SCHUL- UND BERUFSBILDUNG
Datum
Bildungseinrichtung
Erworbene Qualifikation
Datum
Bildungseinrichtung
Erworbene Qualifikation
Datum
Bildungseinrichtung
Erworbene Qualifikation
Datum
Bildungseinrichtung
Erworbene Qualifikation
09/2009 – 05/2011
Hochschule Heilbronn, Heilbronn
Master of Science in Software Engineering and Management (Abschlussnote: 1,0)
10/2005 – 09/2008
Berufsakademie Mannheim (heute: Duale Hochschule Baden-Württemberg), Mannheim
Diplom Informatiker (BA) (Abschlussnote: 1,3)
08/2004 – 06/2005
Georg-Christoph-Lichtenberg Gymnasium, Kassel
Staatlich geprüfter mathematisch-technischer Assistent
09/2001 – 06/2004
Georg-Christoph-Lichtenberg Gymnasium, Kassel
Allgemeine Hochschulreife
2/7
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
IT ERFAHRUNG UND
PERSÖNLICHE KOMPETENZEN
Methoden und Prozesse
Programmiersprachen
Frameworks und Technologien
Webservices/-Tools
Test-Werkzeuge
Modellierung und Code Generierung
Datenbanken
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 Projektmanagement
Java SE/EE (10 Jahre), Scala (2 Jahre), Shell-Scripting, Ruby, JavaScript, C++
Spring (Core, MVC, WS, WebFlow, Security, Data), JPA, Hibernate, JSF, Struts, Play, Akka,
Central Authentication Service (CAS), Guava, Swing, HTML, CSS, AJAX, JQuery, Bootstrap
REST, JSON, SOAP, JAX-RS, JAX-WS, JAXB, Jersey, Spring-WS
JUnit, TestNG, Mockito, Hamcrest,
Selenium, Cucumber, JMeter, Gatling
UML, MDA, DSL,
Enterprise Architect (SparxSystems), Xtext, Xtend
NoSQL, Relationales Datenbankdesign,
MongoDB, Oracle, SQL-Server, MySQL
SW-Qualität und Code-Analyse
SonarQube (Sonar), PMD, Checkstyle, FindBugs
Projekt- und Build-Management
Maven, Ant, Jenkins, Bamboo, Sonatype Nexus, SBT, Gradle,
JIRA, Confluence, MS Project
Versions-Verwaltungssysteme
Entwicklungsumgebungen
Application Server
Betriebssysteme
Git, Subversion (SVN), CVS
Eclipse, IntelliJ IDEA
Appache Tomcat, Jetty, WildFly (JBoss AS), Apache HTTP, nginx
Linux/Unix, Mac OS, Windows
SONSTIGE FÄHIGKEITEN UND
KOMPETENZEN
Branchenkenntnisse
Fremdsprachen
Auslands- und Spracherfahrung
Führerschein
Airline und Touristik, Banken, E-Commerce, IT Dienstleistung, Medien und Verlagswesen, Werbung
Englisch – Verhandlungssicher
Französisch – Grundkenntnisse
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
Klasse B
3/7
NILS SCHMIDT
27. November 2014
SOFTWARE ENGINEER
PROJEKTERFAHRUNGEN
UND REFERENZEN
08/2013 – 08/2014
Medien & Verlagswesen
Lead Developer, Architect
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 PaywallModelle, einen crossmedialen E-Commerce-Shop 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 Service Architektur) 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
• 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
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
Banken
Lead Developer, Architect, Analyst
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
Java / Java EE, JSF, Spring, Spring WebFlow, Xtext, Xtend, Scala, Enterprise Architect, UML,
JUnit, Hamcrest, Mockito, SVN, Eclipse
4/7
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
09/2011 – 10/2011
Medien & Verlagswesen
Consultant
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 Go-Live
Support
MS Project, MS PowerPoint, Freemarker, HTML, CSS
06/2011 – 8/2011
Werbung
Developer, Build Engineer
Weiterentwicklung eines bestehenden, hoch-verfügbaren und -skalierbaren Java-ServerSystems 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
Java / Java EE, JSP, Maven, Nexus, Jenkins, Shell-Scripting, Amazon EC2, JUnit, Hamcrest,
Mockito, SVN, Eclipse
11/2010 – 4/2011
IT Dienstleistungen
Consultant, Architect, Developer
Proof of Concept / Portierung eines bestehenden Data-Warehouse-Systems aus einer klassischen Java EE Umgebung (Java, JSF, Hibernate, MySQL, Tomcat) in eine Platform-as-aService 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
Java / Java EE, JSF, Hibernate, Google App Engine (GAE), Google Datastore (BigTable), GIT,
Eclipse
05/2009 – 09/2009
IT Dienstleistungen
Developer, Architect
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
Java / Java EE, Spring, Hibernate, JSF, MS SQL, Web Services, SOAP, LDAP, JUnit, EasyMock, Maven, SVN, Eclipse, Enterprise Architect
5/7
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
01/2009 – 04/2009
Banken
Developer, Build Engineer
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)
Java / Java EE, Spring, Spring WebFlow, Hibernate, JSF, JUnit, EasyMock, Maven, Selenium,
SVN, Eclipse, Jetty, Enterprise Architect
10/2008 – 12/2008
IT Dienstleistungen
Analyst
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
MS Word, MS PowerPoint, Enterprise Architect
07/2008 – 09/2008
Airline und Touristik
Developer
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
C/C++, Java, SOAP, XML, Apache Axis, JUnit, Ant, SVN, Eclipse
01/2008 – 03/2008
Airline und Touristik
Analyst, Architect
Machbarkeitsstudie zur Erhaltung einer lokalen Windows Schnittstelle (DLL) bei gleichzeitiger
Überführung einer Fat-Client Anwendung hin zu einer Client-Server-Architektur.
• 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
C/C++, Java, SOAP, XML
07/2007 – 09/2007
Airline und Touristik
Consultant, Developer
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 Serverdeployments und -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
Ruby, Ruby on Rails, MS SQL, HTML, CSS, Ajax, SVN, IntelliJ IDEA
6/7
27. November 2014
NILS SCHMIDT
SOFTWARE ENGINEER
04/2007 – 06/2007
Bildungswesen
Analyst, Architect, Developer
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
• Steuerung des dreiköpfigen Entwicklerteams
Java / Java EE, Spring, Hibernate, Web Services, SOAP, Swing, JUnit, EasyMock, SVN, Eclipse, Apache Tomcat
01/2007 – 03/2007
Airline und Touristik
Developer
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
Java, MySQL, JDBC, JUnit, SVN, Eclipse
07/2006 – 09/2006
Airline und Touristik
Analyst, Developer
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
Java / Java EE, XML, JAXP, SAX, WebWork (Struts), JUnit, CVS, Eclipse
01/2006 – 03/2006
Airline und Touristik
Developer
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
Java / Java EE, XML, JAXP, DOM, iBATIS, MySQL, JUnit, SVN, Eclipse, JBoss AS
08/2005 – 09/2005
Airline und Touristik
Consultant
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
Amadeus Approach, MS Project, MS PowerPoint
Hinweis: Dieses Profil (Lebenslauf + Projekthistorie) ist vertraulich und darf nicht ohne vorherige, schriftliche Genehmigung des Autors reproduziert, zusammengefasst
und/oder an Dritte weitergegeben werden. Dies gilt für die Unterlagen als Ganzes wie auch in Teilen.
7/7
Herunterladen