Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Profil
Norman Mendel
Berater und agiler Senior Entwickler für .Net
(Stand: Dezember 2017)
Ausbildung: • Diplom - Informatiker (FH)
• Bürokaufmann
Geburtsjahr: 1980
Projekterfahrung seit:
2003
Nationalität: Deutsch
Sprachen: Deutsch (Muttersprache)
Englisch (gut)
Kompetenzschwerpunkte:
Prozessorentiertes Lösungsdesign und dessen Implementierung, Architektur, Komplexitätsreduktion, Software Design, Test Driven Development/Design, kollaboratives und agiles Arbeiten, Data Integration, Prozessverbesserung, Requirements Engineering, Business Architecture, C#, .NET, Microsoft Technologien und Systeme, Software Qualitätssicherung, Umgang mit Brownfield/Legacy Code, Software Sanierung, Code Auditing, Continuous Improvement, Clean Code Prinzipien, Software Craftmanship, Domain Driven Design
Bisherige Branchen:
Enterprise Kunden in den Bereichen Finanz- und Versicherungsdienstleistungen, Logistik
Softwarehäuser und Bildungswesen
Dienstleister im Bereich Enterprise Business Travel
ERP-Produkthaus im KMU Umfeld
Kontakt Mail [email protected]
Mobile +49 174 / 41 060 32
Verfügbarkeit ab: Aktuell in Festanstellung
Weiterbildung und Zertifizierungen:
Scrum.org: • Professional Scrum Master level 1 (PSM I) (2012) • Professional Scrum Developer (PSD I) (2012)
Microsoft:
• Microsoft Certified Professional (2014) • Microsoft Certified Solutions Developer:
Web Applications (2014) • MSP: Programming in HTML5 with JavaScript and CSS3
Specialist (2014) • MCTS: .Net Framework 2.0: Distributed Applications (2007) • MCTS: .Net Framework 2.0:
Windows Based Client Development (2006) • MCTS: .Net Framework 2.0: Windows Applications (2006)
Schulungen/Workshops:
• Strategic Domain-Driven Design with Eric Evans (2016) • Machine learning and functional programing (Mathias
Brandewinder) (2015) • Experiencing Domain-Driven Design (Mathias Verraes) (2015) • Introduction to functional programming (using C# & F#) by
Scott Wlaschin (2015) • Event-storming by Alberto Brandolini & Marco Heimeshoff
(2014) • Build a Compiler in a Day by Phil Trelford (2014) • Fast Track to F# with Tomas Petricek & Phil Trelford (2013) • Advanced Distributed Systems Design using SOA & DDD (Udi
Dahan) (2013) • Professional Scrum Developer Plus (PSD .NET+) Kurs mit
Visual Studio und TFS 2012 (2012) • Silverlight 3/4 - Einführung Anwendungsentwicklung für Web,
Desktop und Mobile (2010)
Zusammenfassung Herr Mendel ist seit 2003 als Softwareentwickler, Architekt, Coach und Teilprojektleiter in Kundenprojekten tätig. Er verfügt über langjährige Erfahrungen im Microsoft Technologie Umfeld. Durch kontinuierliche Weiterentwicklung und seine sehr gute Vernetzung bleibt er technologisch und methodisch auf dem neusten Stand. Damit unterstützt er seine Kunden in den Bereichen Lösungsdesign, Softwareentwicklung, Architektur, Application Lifecycle Management, Softwaretests und Wissensvermittlung. Einen besonderen Stellenwert hat für ihn dabei die Reduktion von Komplexität und die kontinuierliche Verbesserung der beteiligten Prozesse, Methoden und Softwaresystemen. Herr Mendel hat ein sehr gutes technisches und prozessuales Verständnis und den „Blick über den Tellerrand“. Durch sein strukturiertes und methodisches Vorgehen und sein ausgeprägtes Maß an Kommunikations- und Teamfähigkeit nimmt er zudem häufig eine Vermittlerrolle zwischen der IT- und der Fachabteilung ein.
Feedback « Herr Mendel hat bei allen seinen Aufgaben hervorragende fachliche und
technische Leistungen erbracht.
Herr Mendel war im IT-Team sowohl als kompetenter SW-
Designer/Entwickler als auch als technischer SW-Architekt anerkannt. (...)
Herr Mendel hat sich jederzeit mit den Zielen des Projektes identifiziert,
sich für deren Erreichung persönlich stark engagiert und zielorientiert mit
der IT-Projektleitung intensiv zusammengearbeitet. »
Günter Neuser, IT-Projektleiter, CSC
« Über den Projektverlauf hat sich Herr Mendel als Kunden-,
Ergebnisorientiert und sehr konstruktiv erwiesen. Insbesondere sein
vernetztes Denken hat maßgeblich zum Projekterfolg beigetragen. Die
Zusammenarbeit war durchgehend zielorientiert, so dass Herr Mendel sich
als Kompetenzträger und auch als Ansprechpartner für das Fach-Team
etabliert hat. »
Kim Volkmer, PC-RBW Projektmanager, Commerzbank
« Herr Mendel hat seine umfangreichen Kenntnisse, insbesondere in Bezug
auf Unit-Tests und Testbarkeit des Codes, ins Team eingebracht. Er beteiligt
sich konstruktiv an Diskussionen innerhalb des Entwicklerteams und trägt
so entscheidend zur gemeinsamen Lösungsfindung bei. »
Simone Steuer, IT-Projektleiterin, R+V Allgemeine Versicherung AG
« Herr Mendel hat sich als ein verantwortungsvoller und engagierter
Mitarbeiter erwiesen, der sich problemlos ins Team integrierte und häufig
als Ideengeber gesucht wurde.
Hervorzuheben sind viele Verbesserungsvorschläge, sein angenehmer
Kommunikationsstil und sein eigener hoher Qualitätsanspruch an die
entwickelte Software."»
Jürgen Hasenpflug, Chefentwickler, R+V Allgemeine Versicherung AG
« Herr Mendel ist ein sehr kunden- und ergebnisorientierter Mensch, die
Zusammenarbeit mit ihm ist stets konstruktiv. Sein umfangreiches Denken
und die kontinuierliche zielorientierte Vorgehensweise waren wesentliche
Treiber der Projekterfolge. »
Peter Eckert, PC-PK, VM Direct Banking, Commerzbank
« Ein sehr kompetenter Kollege, der das Projekt-Team mit seinem Wissen
unterstützt und beim Identifizieren von Problemen und Risiken hilft.
Ausgeprägtes Denken über die Projekt-Architektur und automatisierte
Testbarkeit im Projekt. Identifiziert sehr schnell Probleme und Risiken und
löst die Probleme und Aufgaben pragmatisch und effizient. Scheut sich
nicht neue Technologien vorzuschlagen und einzusetzen, sofern sie für das
Projekt mehr Qualität und Zeitersparnis mit sich bringen.»
Valeri Sinner, IT-Berater und Entwickler für Sharepoint, Infopath und BizTalk
«Aufgrund seines fundierten Fachwissens, seiner guten Teamfähigkeit und
seines Engagements, erledigt Herr Mendel die ihm übertragenen Aufgaben
stets erfolgreich. In besonderen Belastungssituationen bewahrt Herr
Mendel den Überblick, kann schwierige Zusammenhänge erfassen und
schnell Lösungen für komplexe Probleme aufzeigen. »
Rolf Melzer, Head of Development, NP4 Gesellschaft für Netzwerk- und Kommunikationssysteme mbH
IT-Kompetenz
(Langjährige Erfahrungen sind fett gekennzeichnet)
Betriebssysteme: Windows, Windows Server, MS-DOS, Linux (Debian/Gentoo), (Free)BSD/UNIX
Programmier-sprachen:
C#, F#, C/C++, VB.NET, JavaScript, PowerShell
Beschreibungs-sprachen:
XML, XSLT, XPath, HTML, XHTML, CSS, SVG XAML, XML-Schema, UML 2, RDF
Datenbanken: MS SQL Server MS SQL Server Compact, RavenDB, MySQL, MS Access, Oracle, HSQL-DB
Netzwerke und Protokolle:
HTTP, TCP/IP, REST, SOAP, FTP, Ethernet
Softwarepakete und Tools:
Microsoft Visual Studio, LinqPAD, MS-Office Suite, Team Foundation Server, Microsoft SQL Server + Management Studio, (My)Eclipse, Visual Source Safe, IIS 6/7, Windows Sharepoint Services/Foundation
Frameworks/APIs: .Net Framework 1.1 – 4.7, LINQ, ASP.Net MVC 3/4, Silverlight 3/4, .Net Compact 2.0 - 3.5, WPF, Workflow Foundation, Entity Framework, MEF, TPL, ADO.Net, WCF, ASP.Net, WebAPI, Razor, MSBuild, TeamBuild, diverse Testframeworks, (N)Hibernate, diverse IoC Frameworks , PostSharp, Win32 Platform SDK, GDS WebService APIs Amadeus/Galileo/Travelport Universal API
Softskills: Kreativität und Innovationsfähigkeit, ganzheitliches und analytisches Denkvermögen, Kunden- und Prozessorientierung, Lernbereitschaft, strukturiertes und methodisches Vorgehen, Selbstreflexionsbereitschaft, Kommunikationsfähigkeit, Kooperationsfähigkeit, Teamfähigkeit, Konfliktlösungsfähigkeit, sehr gutes technisches Verständnis, Transparenz, “Blick über den Tellerrand”, Domain Driven Design, Softwaresanierung, Produktstrategie
Engagement / Community
• F#un and More Rhein-Main (Gründer)
• Frankfurt Software Architecture Meetup (Co Orga)
• .Net User Group Frankfurt, Karlsruhe, Rhein-Neckar
• IT-Stammtisch Darmstadt
• Softwerkskammer (Rhein-Main/Karlsruhe)
• .Net Pro Author
Projekthistorie
05/17 - aktuell Softwarehaus im Bereich ERP für den Mittelstand, MKS Software Management AG
Konzeptionierung, Entwicklung und Test von Komponenten im Bereich der ERP Suite MKS Goliath.Net, Prozessoptimierungen und Entwicklercoaching, Modernisierung eines Legacy System, 100% Remote Work
Aufgaben-beschreibung:
• Ausarbeitung und Durchführung von Workshops für die Themen ◦ Build/Deployment Automatisierung ◦ DDD/Onion Architecture/Clean Code/SOLID Prinzipien ◦ Softwaresanierung/Umgang mit Legacycode/Brownfield
• Organisation und Moderation von Entwicklermeetings eines verteilten Teams ◦ Tägliche Daily Standups ◦ Wöchentliche Entwicklermeetings zum Austausch,
Strategieplanung und Know How Transfer im Bereich Technologie/Methodik und Best Practices
◦ Wöchentliches (remote) Pairprogramming im Bereich (Unit)Testing • Design und Umsetzung von externen Schnittstellen für Datenim/export
◦ DHL Paket Versandlabel via WCF ◦ DHL Retouren Label via classic WS ◦ DHL Abholungsauftrag via CSV/FTP ◦ EDIFACT Rechnungsversand via X400/sFTP Messaging ◦ Artikeldaten Export für eine Webshop Plattform via sFTP
• Entwicklung von Standard Komponenten und Hilfsbibliotheken für Goliath.Net
• Design und Umsetzung einer ETL Anwendung mit Excel basierter Eingangsschnittstelle zur Datenmigration für Neukunden ◦ Aufteilung in Analyse und Bulkimport Komponenten zur Migration
von Stammdaten ◦ Dynamische Ergänzung von Referenzdaten der
Standardinstallation anhand der Eingangsdaten ◦ Ausführliche Integritätsprüfungen und fachliche Protokollierung
• Kundenspezifische Aufbereitung von Eingangsdaten für das ETL Migrationstool
• Umsetzung von Build & Deploymentskripten basierend auf F#/Fake/MSBuild
• Administration und Konfiguration von TFS 2015/2017 für Continuous Integration
• Visual Studio/MSBuild Erweiterungen für statische Codeanalyse von C#/VB.Net mit Roslyn (Analyzer & CodeFix Provider)
Systemumgebung: C#,VB.Net, F#, T-SQL, DevExpress WinForms, StrataFrame Framework, Excel, ADO.Net, Linq2SQL, Entity Framework, Roslyn Analyzer/CodeFix, PetaPoco, NuGet, FAKE, NLog, MSBuild, Polly, Visual Studio 2015/2017/Code, LinqPad, MS SQL Server & Management Studio, MKS Goliath.Net, Domain Driven Design, Software Archäologie/ Softwaresanierung, Remote Working
12/15 – 03/17 Softwarehaus im Bereich Business Travel und Reisedatenmanagement, NP4 Gesellschaft für Netzwerk und Kommunikationssysteme mbh
Entwicklung, Testing, Softwaresanierung & archäologie, Anforderungs Analyse
Aufgaben-beschreibung:
Übernahme, Weiterentwicklung, Redesign und Restrukturierung bestehender Softwarekomponenten und Applikationen im Rahmen von langfristigen Modernisierungsprojekten im Bereich Datenintegration. Anpassungen für die Realisierung von Integrations- und Aktzeptanztests.
• Komponente zum einheitlichen API Zugriff auf unterschiedliche GDS ◦ Umstellung von einem POCO auf ein Domänenmodell ◦ Einheitliche WCF Basisklassen und Funktionalität bspw.
Sessionhandling, Request & Response Protokollierung ◦ API Migration von einer kommandobasierten API zu einer
WebService API für Amadeus ◦ Anbindung von Universal API WebService
• Modernisierung von GDS Datenimport- und abgleichsapplikationen ◦ Ablösung alte C++ Winforms Anwendungen ◦ Umsetzung als Aktoransatz innnerhalb Windowsdienst ◦ Integration neue GDS Komponente ◦ einheitliche Retrystrategien ◦ via DB konfigurierbare Ablaufsteuerung anhand GDS Meldungen ◦ Anbindung bestehender, via DB konfigurierbarer, Datenselektoren
• (Weiter-)entwicklung von mandantenspezifischen Reise-Genehmigungsprozessen basierend auf der internen Produktplatform
• Umsetzung von Build & Paketierungsskripten basierend auf F# & Fake • Bereitstellung der Komponenten als interne NuGet Pakete • Design Workshops • Ideensammlungen für
◦ Prozess- und Methodikverbesserungen ◦ Sanierungsmaßnahmen
• Erstellung/Anpassungen von Stored Procedures und DB Triggern
Systemumgebung: C#, F#, C++, T-SQL, Linq2SQL, NuGet, FAKE, RegEx, NLog, Polly, Visual Studio 2013/Code, LinqPad, MS SQL Server & Management Studio, Resharper, GDS WebService API´s von Amadeus/Galileo und Travelport Universal API
12/14 - 10/15 Finanzdienstleister, Commerzbank
Architektur, Entwicklung, Testing, Requirement Engineering/Analysis, Teamleitung
Projektbeschreibung: Technologische Modernisierung der verwendeten Platformen im Rahmen des Book of Standards, Verbesserung der Entwicklungs- und Kollaborationsprozesse anhand agiler Methoden, Umstellung der Systemarchitektur, des Backends und des DB Schemas um die Fehlertoleranz gegenüber Eingangsdaten sowie die Zukunftsfähigkeit und Wartbarkeit zu erhöhen. Fachliche Anpassungen aufgrund des Strategieprojektes Nav2020.
• Leitung eines kleinen Umsetzungsteams bestehend aus Fachverantwortlichen, Testern und Entwicklern unter Anwendung agiler Methoden im Rahmen eines Pilotprojektes
• Unterstützung der Fachbereiche bei Datenauswertung, Datenkorrelationen und darauf basierender Plausibilisierung über unterschiedliche Kernsysteme der Bank hinweg
• Planung und Durchführung von Explorations- und Design Workshops mit Event Storming
• Migration der Anwendungen auf 64Bit und Windows Server 2008 R2 • Automatisierung von Aktzeptanztest • Konzeptionierung und Umsetzung eines Rewrites der
Systemarchitektur und des Backends/DB Schemas ◦ konzeptionelle Trennung von fachlichen Kontexten (Bounded
Context) ◦ Aufteilung in jeweils optimierte Read/Write Operationen (CQRS) ◦ ETL Pipline für den Datenimport von CSV/DB2 in SQL Server via
Streaming ◦ Datensynchronisierung via SQL MERGE ◦ Schreiboperationen via SQLBulkCopy durch Umstellung auf ein
AppendOnly/EventSourcing Konzept mit Historisierung ◦ Update Bulk Operationen via Table Value Parameter
• Entfernung von technischen Altlasten/Refaktorisierung • Schnittstellenanpassungen zu Hostsystemen
Systemumgebung: C#, .Net 4.0, WinForms, ASP.Net MVC 4, log4net, PostSharp 2.0, Entity Framework 6, LinqToSQL, LINQ, Lambda Expressions, TPL, TFS 2012, Sharepoint Foundation, xUnit, WebDeploy, T-SQL, SQL Server 2008 R2, SQL Server Management Studio 2008, Visual Studio 2010/2012, MS Office 2007, yed GraphEditor, Umgang mit Legacy Systemen, Softwaresanierung, funktionale Programmierung, DI, IoC, Aspektorientierung, Domain Driven Design, Event Storming, Domain Events, CQRS, internal DSLs, Fluent API, (A)TDD/BDD
05/14 – 12/14 Finanzdienstleister, Commerzbank
Architektur, Entwicklung, Testing, Requirement Engineering/Analysis
Projektbeschreibung: Technologische Modernisierung der verwendeten Platformen, Entwicklungs- und Kollaborationsprozesse im Rahmen diverser bankinterner Migrationsprojekte, sowie Verbesserungen der nicht-funktionalen fachlichen Anforderungen und Abläufe
• Umstellung der Projektmethodik auf ein agile/iteratives Vorgehensmodell
• Konfiguration und Administration von Sharepoint 2010 als zentrale Kollaborationsplatform
• Migration von TFS 2008 auf TFS 2012 • Neuimplementierung der Webapplikation in Asp.Net MVC 4 • Redesign und Neuimplementierung des Autorisierungs- und
Navigationsmodell der WebAnwendung • Implementierung eines leichtgewichtigen UI Frameworks als
Erweiterung/Aufsatz zu MVC • Design und Implementierung von Caching und
Performanceoptimierungen • Aufbau einer automatisierten Paktierungs und Deploymentstrecke auf
Basis TFS/TeamBuild • Clusterung von fachlichen Operationen innerhalb der Anwendung für
die Verarbeitung von Massendaten durch den Endanwender • Design und Implementierung eines übergreifenden
Prozessmonitorings, um die Transparenz und Nachverfolgbarkeit von technischen und fachlichen Prozessen innerhalb des Systems zu verbessern
• Automatisierung von Aktzeptanztest • Unterstützung der Fachbereiche bei Datenauswertung,
Datenkorrelationen und darauf basierender Plausibilisierung über unterschiedliche Kernsysteme der Bank hinweg
Systemumgebung: C#, .Net 4.0, WinForms, ASP.Net, ASP.Net MVC 4, Jquery, Jquery UI, Libra.Net 3.6, log4net, MunQ, PostSharp 1.5/2.0, LinqToSQL, LINQ, Lambda Expressions, TPL, TFS 2008/2012, Sharepoint Foundation, MSTest, Windows Installer Xml (Wix), WebDeploy, T-SQL, SQL Server 2008 R2, SQL Server Management Studio 2008, Visual Studio 2010, MS Office 2007, yed GraphEditor, (Service Orientierte) Architektur, Umgang mit Legacy Systemen, Softwaresanierung, funktionale Programmierung, DI, IoC, Aspektorientierung, Domain Driven Design, Domain Events, internal DSLs, Fluent API, (A)TDD
07/13 – 04/14 Finanzdienstleister, Commerzbank
Architektur, Entwicklung, Testing, Requirement Engineering/Analysis, Coaching, Solution Architektur
Projektbeschreibung: Weiterführung des vorherigen Projektes durch eine strategische Neuausrichtung der Bank im Filialgeschäft. Zu den weiteren Tätigkeiten von Herrn Mendel zählten:
• Requirements Engineering mit der Fachseite in Bezug auf ein neues Fachprojekt im Scope von strukturellen Veränderung der Bank
• Begleitung von Projektworkshops von Entwicklerteam und Fachseite • Schreiben von Fachkonzepten und Machbarkeitsanalysen • Unterstützung bei Projektplanung und Aufwandsschätzungen • Support Tools (bspw. TFS Reporting) • Einarbeitung und Coaching des Entwicklerteams und Betreuung eines
Junior-Entwicklers • Organisation und Durchführung von Code Reviews mit dem
Entwicklerteam und den internen IT Ansprechpartnern • Refaktorisierung der Anwendung in Bezug auf
Entkopplung/Serviceorientierung der Kernkomponenten, Komplexitätsreduktion durch veränderte fachliche Rahmenbedingungen, Implementierung eines erweiterten Fehlerbehandlungsmechanismus auf der Basis von Aspekten
• Ablösung von Stored Procedures durch Use Case optimierte LinqToSQL Queries
• Erweiterung der Anwendung durch neue fachliche Rahmenbedingungen
• Implementierung von fachlichen (Regressions-) Testfällen • Weiterentwicklung eines internen Supporttools für den 2./3.-Level
Support zur Datenanzeige und Korrektur • Schaffung von Visualisierungs- und Interaktionsmöglichten mit den
Analyse- und Neuverteilungskomponenten der Anwendung
Systemumgebung: C#, .Net 4.0, WinForms, ASP.Net, Libra.Net 3.6, log4net, MunQ, PostSharp 1.5/2.0, LinqToSQL, Entity Framework 5, LINQ, Lambda Expressions, TPL, TFS, TFS-API, MSTest, T-SQL, SQL Server 2008 R2, SQL Server Management Studio 2008, Visual Studio 2008/2010, MS Office 2007, FreeMind, yed GraphEditor, Design, (Service Orientierte) Architektur, Umgang mit Legacy Systemen, funktionale Programmierung, DI, IoC, Aspektorientierung, Domain Driven Design, Domain Events, internal DSLs, Fluent API, (A)TDD
03/13 - 04/13 Softwarehaus für Logistik
Entwicklung, Testautomatisierung
Projektbeschreibung: Unterstützung in der Endphase eines Produktrelease in den Bereichen Testabdeckung und Automatisierung. Aufgaben:
• Implementierung von Tests für die Erhöhung der Testabdeckung (C1) • Aufbau einer Unit Test Suite • Isolation/Entkopplung von Basiskomponenten • Tool zum Mergen/Verwalten unterschiedlicher Visual Studio Solutions
Systemumgebung: C#, .Net 3.5, LINQ, Visual Studio 2008, Ncover, Moles, MSTest, LinqPAD, TDD
02/13 - 09/13 Versicherung, R+V
Entwicklung, Qualitätsicherung und Automatisierung, Coaching/Training
Projektbeschreibung: Unterstützung für eine Callcenter Applikation im Wartungsmodus in den Bereichen Build/Testautomatisierung und Qualitätsicherung Aufgaben:
• Portierung einer ASP.Net WebSite auf eine ASP.Net Application • Powershell Script Suite für die Testautomatisierung im Daily Build • Bugfixing/Refaktorisierung einer Callcenter Anwendung • Redesign/Reimplementierung eines Tabex Adapters • Tool für die automatisierte Erfassung von zeitabhängigen QA KPIs und
darauf basierenden Reports • Redesign/Implementierung einer UI Test Suite für Regressionstests mit
AutoIT (UI Automatisierung) • Tool für die automatisierte Auswertung der UI Test Suite im Hinblick auf
Use Cases und deren Regressionstests • Redesign/Implementierung einer Testsuite für eine Telefonanlage und
deren Integrationstest in einem stark asynchronen Systemumfeld • Portierung eines Installer Projektes auf Wix 3.6 • Workshops zu den Themen UnitTests, Refaktoring/Restrukturierung,
Umgang mit Legacy Systemen, TPL
Systemumgebung: C#, .Net 4.0, Powershell 2.0, Entity Framework, log4net, TPL, LINQ, FxCop, Visual Studio 2010, NuGet, SQL Server, CCC Harvest, TFS, LinqPAD, AutoIT, TDD, funktionale Programmierung, DDD, Wix Toolset 3.6
08/11 – 12/12 Logistik Dienstleister, DHL
Architektur, Design, Entwicklung, Application Lifecycle Management, Testing, Administration, Coaching/Training
Projektbeschreibung: Unterstützung im Bereich Service Plattformen für das technische Filial Backend in den Bereichen
• ALM ◦ Administration und Konfiguration eines TFS 2010 Build Servers ◦ Migration und Erweiterungen von MSBuild Scripten auf TeamBuild
2010/WF im Zuge einer TFS2008 → TFS2010 Migration für mehrere Großprojekte
◦ Verantwortung für die Builds von mehreren Projekten ◦ Planung und Umsetzung eines Abhängigkeits- und
Versionierungsprozesses von Paketen und Softwaremodulen anhand eines internen NuGet Repositories und TeamBuild
◦ iterative und kontinuierliche Überführung der Service Plattform von nAnt auf TeamBuild 2010 Prozesse und Etablierung einer CI Automatisierung
◦ Tools zur Automatisierung von VS und TFS im Context von Solution/Projektmigrationen
• Wartung und Weiterentwicklung der Service Plattform ◦ Refaktorisierung eines FTP Adapters mit Erweiterungen für SFTP ◦ Bugfixing ◦ Unit Tests mit MSTest ◦ Erstellung eines Regression/Integrationstest Frameworks ◦ Isolation Tests von Legacy Code mithilfe von Moles/Pex
• Komplettes Neudesign und -implementierung eines multi-threaded Recherche und Transformations-Service für beliebig große XML Reports ◦ Isolation der Funktionalität der Altanwendung durch
Refaktorisierung und Isolationstests mit Moles ◦ Umstellung von Threads auf TPL ◦ Umstellung auf eine synchronisierte und gepuffert Stream basierte
Architektur um beliebig große Dateien durch parallele Prozesse verarbeiten zu können
◦ Umstellung eines reflektionbasierten Plugin Mechanismus auf MEF • Design und Implementierung diverser Support Tools für:
◦ teilautomatisiertes Ergänzen von Installations- und Deploymentdokumenten auf der Basis von Build- und Konfigurationsartefakten
◦ Erzeugung von anonymisierten Abzügen aus Produktivdaten basierend auf Ersetzungskonfigurationen
◦ Einspielung von Daten in die Service Plattform, mit optionalen Ersetzungen von fachlich relevanten Informationen basierend auf Ersetzungskonfigurationen, für Last/Regressionstests
• Implementierung eines Webservices für Recherche Template Verwaltung und deren Scheduling
• Architekturredesign und Entwicklungsunterstützung eines Centera Simulators von C++ auf C#
• Coaching von Mitarbeitern im Bereich TDD, C# und ALM mit TFS 2010
Systemumgebung: C#, .Net 4.0, LINQ, TPL, MEF, MSpec, MSTest, MunQ, NuGet, COM Interop, XML, XPath, WF 3, Entity Framework, MSBuild, TeamBuild 2010, Wix 2.5/3.0, Powershell , NuGet, Pex/Moles VS2008/2010, IIS 6/7, SQL Server 2005/2008, Oracle, MS Office 2003, Windows XP/Server 2003/2008, TFS 2007/2010, Sharepoint Foundation, LinqPAD, Parallelisierung und Nebenläufigkeit
08/11 – 09/11 StartUp, Sportmanagement
Design und Entwicklung eines Prototypen für eine Web-Anwendung
Projektbeschreibung: Prototypische Implementierung einer Web-Anwendung zur Organisation von Mannschaften und deren Trainingsplänen.
Systemumgebung: C#, .Net 4.0, LINQ, Entity Framework 4.1 Code First ,Visual Studio 2010, SQL Server Compact, IIS, IIS Express, ASP.Net MVC 3, Razor, MunQ, SqlCE Membership Provider, NuGet, Scaffolding, Windows 7/Server 2008, TFS 2010, funktionale Programmierung, DI, IoC, MVC
04/11 – 07/11 User Group, IT-Stammtisch Darmstadt
Design und Entwicklung einer Web-Anwendung für Veranstaltungsplanungen
Projektbeschreibung: Konzeptionierung und Implementierung einer Web Anwendung für Veranstaltungsplanungen. Dabei wurde Wert auf größtmögliche Flexibilität für den Nutzer und detailierte Reporting Möglichkeiten für die Organisatoren gelegt.
Systemumgebung: C#, .Net 4.0, LINQ, Entity Framework 4.1 Code First ,Visual Studio 2010, SQL Server Compact/2008, IIS, IIS Express, ASP.Net MVC 3, Razor, MunQ, SqlCE Membership Provider, NuGet, Scaffolding, Windows 7/Server 2003, funktionale Programmierung, DI, IoC, MVC, MVVM
07/10 – 07/11 Finanzdienstleister, Commerzbank
Architektur, Entwicklung, Testing, Requirement Engineering/Analysis, Coaching, Teil Projektleitung, Solution Architektur
Projektbeschreibung: Weiterführung des vorherigen Projektes in der Wartungsphase und die Entwicklung eines weiteren Hauptrelease. Themen in Bezug auf die Anwendung waren u.A. Stabilisierung und die Anpassung von Schnittstellen zu den Kernbanksystemen. Des Weiteren wurde aufgrund migrationsbedingter Restrukturierungen der Bank der fachliche Scope der Anwendung erweitert. Zu den weiteren Tätigkeiten von Herrn Mendel zählten:
• Refaktorisierung der Anwendung in Bezug auf Entkopplung/Serviceorientierung der Kernkomponenten, Implementierung eines erweiterten Fehlerbehandlungsmechanismus auf der Basis von Aspekten
• Design/Implementierung einer DSL-Bibliothek für den domänenspezifischen Zugriff auf das Datenmodel der Anwendung für Software Tests
• Implementierung von fachlichen (Regressions-) Testfällen unter Verwendung dieser Bibliothek
• Implementierung eines internen Supporttools für den 2./3.-Level Support zur Datenanzeige und Korrektur
• Implementierung eines internen Supporttools zur Verlinkung von MSTest Klassen und den dazugehörigen WorkItems im TFS
• Requirements Engineering mit der Fachseite in Bezug auf ein neues Fachprojekt im Scope von strukturellen Veränderung der Bank
• Parallelisierung von bestehenden Funktionalitäten mit Hilfe der TPL • Refaktoring, Parallelisierung und Erweiterung von bestehenden
Komponenten zur automatisierten Erkennung von Veränderungsindikatoren und der darauf basierenden Neuverteilung von Kunden
• Schaffung von Visualisierungs- und Interaktionsmöglichten mit den Analyse- und Neuverteilungskomponenten der Anwendung
• Erstellung einer Offline Testumgebung mit portablen DB´s anhand einer Synchronissierungskomponente (DB Schema und Daten)
• Organisation/Begleitung von Projektworkshops von Entwicklerteam und Fachseite
• Konzeptionierung von konzern- systemübergreifenden Prozessen zusammen mit IT- und Fachabteilung der Banken Kernsysteme
• Schreiben von Fachkonzepten und Machbarkeitsanalysen • Projektplanung und Aufwandsschätzungen • Untersützung/Beratung der Fachseite während der organisatorischen
Restrukturierungsphase
Systemumgebung: C#, T-SQL, .Net 3.5, WinForms, ASP.Net, Libra.Net 3.6, log4net, MunQ, PostSharp 1.5/2.0, LinqToSQL, LINQ, Lambda Expressions, TPL, Sync Framework 2.1, COM Interop, WCF, TFS, MSTest, SQL Server 2005, SQL Server Compact 3.5, SQL Server Management Studio 2005, Visual Studio 2008/2010, MS Office 2003, LibreOffice 3.3, FreeMind, yed GraphEditor, Design, (Service Orientierte) Architektur, funktionale Programmierung, DI, IoC, Aspektorientierung, Domain Driven Design, internal DSLs, Fluent API
11/09 - 07/10 Finanzdienstleister, Commerzbank
Technische Teilprojektleitung, Architektur, Entwicklung, Testing, Requirement Engineering/Analysis, Coaching
Projektbeschreibung: Im Rahmen der Integration eines anderen Finanzdienstleisters wurden die notwendigen Prozesse für die Anpassung/Migration von Berater-Kunden-Filial Beziehung zusammen mit dem Fachbereich analysiert und iterativ eine Lösung modelliert. Die jeweiligen Beziehungen können sowohl über einen Human Workflow innerhalb einer ASP.Net Anwendung als auch über einen Optimierungsalgorithmus ausgewählt werden. Aufgrund der dynamischen Anforderungen wurde für die Implementierung ein iterativer und prototypischer Ansatz gewählt. Des Weiteren wurde ein mehrstufiger ETL Prozess entworfen und auf Basis von SSIS und einer .Net Applikation umgesetzt. Dabei lag der Hauptschwerpunkt auf der .Net Applikation welche die Lieferdaten aus unterschiedlichen Liefersystemen (beider Finanzdienstleister mit jeweils unterschiedlichen Strukturen) anhand von diversen Geschäftsregeln in ein einheitliches und fachlich konsistentes DomainModel überführte. Des Weiteren konnten Daten aus den unterschiedlichen Systemen miteinander über unterschiedliche Mechanismen synchronisiert werden. Herr Mendel hat die meisten dieser Prototypen entwickelt und deren Funktionalität in die engültige Applikation überführt. Somit war er für die Kernkomponenten der Know-How Träger. Daraus resultierend haben sich die Kompetenzen und Pflichten von Herrn Mendel im Laufe des Projektes von einer Entwickler zu einer Architektenrolle erweitert. Zu den Tätigkeiten gehörten die folgenden
• Verantwortung im Bereich ALM für Build/Deploymentprozess (Projektanfang)
• Entwicklung von Build Tasks, Scripten (Projektanfang)
• Design/Implementierung des Business/Data Access Layers (BL/DAL)
• Design/Implementierung der applikationsinternen Infrastruktur, u.a. Factories für Repositories, DI Containter, Services und einem internen MessageBus
• Implementierung nichfunktionaler Anforderungen wie bspw. Performancetracing, Logging und Transaktionalität anhand von Aspekten
• Implementierung einer fachlichen Monitoring Infrastruktur anhand von Geschäftsregeln
• Support beim Entwurf des Domain Models und dem Desgin des abgeleiteten DB Schemas
• Design und Implementierung einer fachlich getriebenen ETL Applikation
• Coaching von mehreren Mitarbeitern
• (Teil)Projektplanung für Komponenten und Ressourcen im Bereich BL/DAL/ETL/UnitTests auf Basis MS Project
• Implementierung divereser Prototypen
• Implementierung von Applikationen für unterstützendes Tooling
• Design/Planung/Implementierung von UnitTests/Last/StressTests
Systemumgebung: C#, T-SQL, .Net 3.5, WinForms, ASP.Net, Libra.Net 3.6, log4net, PostSharp 1.5, LinqToSQL, LINQ, Lambda Expressions, COM Interop, WF, WCF, TFS, MSTest, SQL Server 2005, SQL Server Management Studio 2005, Visual Studio 2008/2010, Enterprise Architect, MS Office 2003, MS Project, Design, (Service Orientierte) Architektur, funktionale Programmierung, DI, IoC, Aspektorientierung, Domain Driven Design, internal DSLs
07/09 - 08/09 Cirquent GmbH, internes Projekt
Entwicklung
Projektbeschreibung: Evaluierung von Visual Studio 2010 und der .Net 4.0 Plattform anhand von Prototypen. Implementierung einer modularen WPF Anwendung zur Darstellung von Reports mit dem Managed Extensibility Framework und der Task Parallel Library. Design/Architektur/Implementierung eines „Easy Process“ Workflows mit Winforms, WCF und der Windows Workflow Foundation.
Systemumgebung: C#, .Net 4.0, TPL, (P)LINQ, MEF, WPF, WCF,Windows Workflow Foundation, Microsoft Chart Controls, Visual Studio 2010 Beta1, MSTest, Nunit, MoQ, Design, Architektur, DI, IoC, Repository, MVC, M-VM-M
07/08 – 07/09 Cirquent GmbH, Kundenprojekt Bereich Finanzdienstleister
Integration, Administration, QA, Testing, Change/Releasemanagement, Entwicklung, Technische Konzeption
Projektbeschreibung: Betreuung mehrerer Applikationen im Front Office Umfeld
• Verantwortung für Build/Deploymentprozess
• Entwicklung von Build Tasks, Scripts
• Konfiguration/Administration von Applikations, Datenbank und Buildservern
• Erstellung technischer Konzepte
• Konzeptionierung/Implementierung einer Test Infrastruktur
• Implementierung automatisierter Tests
• Implementierung einer Webapplikation zum Management von Windows Diensten auf unterschiedlichen Testservern
• Design/Architektur/Implementierung eines generischen Cache Services
• Refactoring/Erweiterung von bestehenden Anwendung in Bezug auf Logging und Monitoring, partiell mit Aspekten
• Implementierung einer Logging Komponente für Monitoring und Access Persistierung von Performance KPI´s zur automatisierten Auswertung
• Design/Refactoring/Erweiterung einer Webanwendung
• Design/Refactoring/Erweiterung bestehender Datenadapter
• Design/Architektur/Implementierung einer Monitoring (Heartbeat) Komponente
• technische QA
• Change/Releasemanagement
• Support der internen Deployment und Testprozesse
• Support beim Rollout
• Einarbeitung und Betreuung neuer Teammitglieder
Systemumgebung: C#, C++, .Net 2.0,3.5, WCF, ASP.Net, log4net, Spring.Net, ATL/COM, Sophis Risque (Toolkit) 5.2.4/5.3.3, nUnit, MSTest, MoQ, Batch, MSBuild, TFS-API, PostSharp, TeamBuild, Visual Studio 2003/2005/2008, Team Foundation Server, Windows Server 2003/2008, SQL Server 2005/2008 IIS 6, Trac, Sharepoint, Paketyzer, TDD, AOP, OOP, DI, IoC, Repository
08/07 – 06/08 Cirquent GmbH, Kundenprojekt Bereich Gesundheitswesen
Entwicklung, Technische Konzeption, Administration
Projektbeschreibung: Refactoring und Weiterentwicklung eines Client-Server Systems für die Erfassung, Auswertung und Sychronisierung medizinischer Sachdaten.
• Einführung von Spring.Net
• Einführung von NHibernate
• Einführung von Ingenious-MVC
• Design/Architektur/Implementierung eines UI Frameworks auf Basis von Ingenious-MVC
• Implementierung von Custom Controls auf Basis von Infragistics
• Design/Architektur/Implementierung kompletter fachlicher Domänen (Data, Business und UI Layer)
• Unit Tests
• Administration Cruise Control.NET • Einarbeitung und Betreuung neuer Teammitglieder
Systemumgebung: C#, T-SQL, .Net 2.0, nUnit, Spring.NET, NHibernate, Ingenious-MVC, Windows Forms, Infragistics NetAdvantage for Windows Forms, Visual Studio 2008, MS SQL Server 2005 Express, Cruise Control.NET, Windows Server 2003, Version One, Scrum, Domain/Test Driven/Agile Development, OOP, AOP, TDD, DI, IoC, MVC
04/07 – 07/07 Entory AG, Kundenprojekt Bereich Finanzdienstleister
Entwicklung, Administration, Dokumentation
Projektbeschreibung: Migration eines Reportingsystemes aufgrund der Einführung eines neues Wertpapier Management System.
• Weiterentwicklung einer Reporting Engine
• Design, Implementierung und Dokumentation von Report Assemblies zur Generierung von Excel Reports
• Aufbau einer Unit Test Infrastruktur
• Installation,Administration eines Wiki Systems (MediaWiki)
• Installation,Administration Project Issue Tracking Systems (Trac)
Systemumgebung: C#, SQL, .Net 1.1, ADO.Net, Windows Forms, Nunit, MS-SQL Server, Oracle 9.2, Sim Corp Dimension, Trac, MediaWiki, Apache Tomcat, Visual- Studio 2003, SQL Navigator, Visual Source Safe, Lotus Notes 6.5, OOP, TDD
03/07 - 04/07 Entory AG, Kundenprojekt Bereich Gesundheitswesen
Anforderungsanalyse, Entwicklung
Projektbeschreibung: Anforderungsanalyse und Prototypen Implementierung für eine Webapplikation zur Aufbau und Pflege einer Wissensbasis für ein Expertensystem im medzinischen Umfeld.
• Evaluierung existierender CM Systeme
• Design und Implementierung des Prototypen
• Customizing von OpenCMS
• Erstellung technischer Konzepte
• Organisation/Durchführung von Kunden Meetings
Systemumgebung: Java 1.5, OpenCMS, Eclipse, Agile Development, OOP
07/06 - 03/07 Entory AG, Kundenprojekt Bereich Softwarehaus
Technische Konzeption, Architektur, Entwicklung
Projektbeschreibung: Weiterentwicklung einer Softwareverteilungs/Information Management Plattform
• Migration von .Net 1.1 auf .Net 2.0
• Design/Erweiterung von Kernkomponenten
• Erweiterungen der Management UI
• Erstellung technischer Konzepte
• Unit Tests
• Design/Client Activator mit getunnelten Wake-On-Lan Paketen
• Windows Service zum Konfigurationsabgleich mit Clients via XML
• Support Tools in C#
Systemumgebung: C++, VB.Net, C#, .Net 1.1,2.0, TCP/IP, MS-SQL Server, Windows Forms, ADO.Net, Win32 Platform SDK, Nunit, Nhibernate, Visual- Studio 2003/2005, Visual Source Safe, CruiseControl.NET, UML, TDD, OOP