Share with your friends










Submit
09/15 – 06/17 NXP Semiconductors Germany GmbH, Hamburg
Test Center Europe, Hamburg (GNTC-H) (50% Auslastung, teilweise remote)

Entwurf und Implementierung verschiedener Software-Komponenten zur Standardisierung, Automatisierung und Optimierung der Prozesskette im Bereich Wafer- und IC-Testing.

NXP Semiconductors ist der größte Halbleiterhersteller Europas (weltweit > 30.000 Mitarbeiter, Umsatz ca. 9.5 Mrd. USD in 2016) und bietet Systemlösungen v.a. in den Bereichen Automotive, Cyber-Sicherheit und IoT.

Das Projekt, welches ich federführend durchführte, war im Konzern-Bereich Probing & Qualification angesiedelt. Hier werden Testverfahren für die Massenproduktion entwickelt und standardisiert, wozu die IC-Prototypen mechanischen, thermischen, chemischen und elektrischen Tests unterzogen werden. Dabei fallen Millionen von Datenpunkten an, die dann zur Berechnung verschiedener Kennzahlen und statistischer Auswertungen dienen. Projektziel war die Automatisierung und Visualisierung dieser Berechnungen und Statistiken.

Im Wesentlichen hatte meine Tätigkeit drei Schwerpunkte:

– Entwicklung/Erstellung eines modular erweiterbaren Kommandozeilenprogramms, welches die Logdaten der verschiedenen eingesetzten Messanlagen effizient einliest und die Daten dann in eine Oracle-Datenbank schreibt. Dieses Programm wird auf einem zentralen Server automatisch zeitgesteuert ausgeführt.

– Entwicklung/Erstellung eines Intranet-Portals (ASP.NET MVC) zur Durchführung verschiedener Analysen der so gewonnenen Daten. Dies beinhaltet insbesondere deren Verwaltung und Auswahl, die Durchführung mathematischer, geometrischer und statistischer Berechnungen, sowie die Darstellung der Ergebnisse sowohl in Tabellen als auch in grafischer Form mittels verschiedener Diagramm-Typen.

– Projektmanagement, Installation der Software in der konzerneigenen Produktionsumgebung und konzernweites Rollout.

Eingesetzte Tools/Technologien:

MS Visual Studio 2012/15, ASP.NET MVC 4, HTML 5, JavaScript, jQuery, ReSharper, Oracle, MS Entity Framework, CSS, JSON, AJAX, Highcharts, SlickGrid, jqGrid, SVN, Git, NUnit, Moq, NLog, TDD, MS Office-Integration

04/15 – 08/15 Bruker AXS GmbH, Karlsruhe
Entwicklung verschiedener Komponenten und Services, Weiterentwicklung und Wartung bestehender Software (Windows Desktop mit WinForms, DevExpress Controls und MS Composite Application Block).

Bruker ist ein Hersteller von hochspezialisierten Analysegeräten, hauptsächlich im Bereich Röntgendiffraktometrie. Eingesetzt werden diese Geräte z.B. bei der Qualitätsprüfung von Wavern. Zur Ansteuerung/Datenauswertung kommt dabei eine Embedded/Server/Desktop-Lösung zum Einsatz, die auf .NET basiert und clientseitig auf die WinForms – UI-Technologie und das MS CAB-Framework aufsetzt.

Konkret gehörte zu meinen Aufgaben:

– Entwicklung/Erstellung eines Datenbankmoduls zur Strukturierung, Verarbeitung und Speicherung von im Messgerät gewonnen Daten sowohl in einer Datenbank (PostGreSQL, NHibernate) als auch alternativ als serialisiertes XML.

– Entwicklung/Erstellung eines umfangreichen Workflow/UserGuidance – Systems (als CAB-Service) zur Automatisierung der gesamten bestehenden Applikation (ähnlich des Makro- und Skript – Systems, das man aus MS Office – Programmen kennt).

Eingesetzte Tools/Technologien:

MS WinForms, MS CAB, DevExpress Control Library, PostGreSQL, NHibernate, NLog, NUnit, Moq, CVS, TFS, MS Visual Studio 2013.

02/14 – 11/14 Carl Zeiss SMT GmbH, Oberkochen (b. Ulm)
Erstellung mehrerer verschiedener Software-Komponenten auf Werkvertrags-Basis (vorwiegend im Home Office):

– Lightswitch-Screen, welcher ein komplexes Custom Control zur Verarbeitung unterschiedlicher Datentypen enthält.

– Lightswitch-Screen, der ein Modul zur automatischen Verarbeitung von Emails und Email-Attachments zur Verfügung stellt.

– Asynchroner WCF-Service, der die Anbindung an den konzerneigenen Exchange-Server bereitstellt.

– Excel-Addin zur Bearbeitung von Produktionsdaten, die aus einer SQL-Server-Datenbank stammen.

Eingesetzte Tools/Technologien:

MS Visual Studio 2012, VSTO, MS LightSwitch, WCF, C# 5.0, .NET 4.5, XAML, ReSharper, MS Entity Framework, MS SQL Server 2012, T-SQL, Subversion, MS Exchange.

04/14 – 08/14 Smarthouse Media GmbH, Karlsruhe
Entwicklung komplexer Web-Anwendungen im Banken-Umfeld

Mitarbeit in einem Team (6 Entwickler), das eine Gruppe von Web-Anwendungen für eine große Fondsgesellschaft entwickelt, wartet und hostet (mehrere Web-Frontends sowie ein CMS zur Datenpflege).

Programmierung sowohl diverser Komponenten (Webpages, Controls etc.) für die kundenseitige Frontend-Website (inkl. CSS-Stylesheets, jQuery-Scripts etc.) als auch mehrerer anwendungspezifischer Erweiterungen zur Datenpflege im hauseigenen Content Management System.

Eingesetzte Tools/Technologien:

MS Visual Studio 2010, C# 3.0, .NET 3.5, ReSharper, MS Entity Framework, MS SQL Server 2005/2008, ASP.NET, CSS, JavaScript/jQuery, AJAX, Telerik RadControls.

02/13 – 12/13 dotCQ Software Development Ltd. & Co KG (eigene Firma)
Gründung, Recherche und Konzeption, Implementierung verschiedener Spike-Komponenten, Programmierung einer entsprechenden Website (www.dotcq.com).

Inhaltlich/konzeptionell beschäftigt sich das Projekt mit der statischen Analyse von C#-Quellcode, um daraus Aussagen über die Wartbarkeit der entsprechenden Codebasis zu gewinnen, bzw. diejenigen Abschnitte zu identifizieren, die im Hinblick auf ihre Wartbarkeit/Codequalität problematisch sind. Die Ergebnisse dieser automatisierten Messungen werden dann mit benutzerdefinierten Geschäftsdaten statistisch korreliert.

Die Website selbst ist mit ASP.NET MVC 4 programmiert, als Backend fungiert eine Kombination aus MS Entity Framework 4 und MS SQL Server 2012. Desweiteren kamen HTML 5, CSS 3 und sehr viel Javascript (meist jQuery) zum Einsatz – v.a. der Calculator enthält sehr viel js-Code, der u.a. auch asynchrone AJAX-Requests verwendet, um die Daten an den Server zu schicken, der dann die eigentliche Berechnung ausführt und die Ergebnisse an die Seite zurückschickt.

Des Weiteren läuft auf dem Server zusätzlich zu den für den Endbenutzer sichtbaren Komponenten noch ein zeitgesteuerter Windows-Dienst, welcher aus verschiedenen Quellen im Web – wie z.B. Google Analytics, Disqus (Kommentarsystem), MailChimp (Mailing-System) u.a. –  Daten sammelt und diese dann in aggregierter Form an ein Web-Dashboard (Geckoboard) weiterleitet.

Eingesetzte Tools/Technologien:

MS Visual Studio 2010, C# 3.0, .NET 3.5/4.0, ASP.NET MVC 4, jQuery, HTML 5, CSS 3, AJAX, RestSharp, ReSharper, MS Entity Framework 3.5/4.0, MS SQL Server 2012, NUnit, Amazon AWS.

Anm.: Die Firma wurde Anfang 2015 liquidiert.

Anm. 2: Der Quellcode der Web-Anwendung ist frei zugänglich und kann hier eingesehen werden.

11/11 – 01/13 Carl Zeiss SMT GmbH, Oberkochen (b. Ulm)
Aufsetzen eines Continuous Integration Servers, Umstellen des Versionskontrollsystems, Entwicklung von Mess­- und Datenbank­-Anwendungen, Technologieberatung.

Einrichtung eines Continuous Integration Systems basierend auf CruiseControl.NET, inkl. Testautomatisierung. Damit einher ging auch die Erstellung und Integration diverser virtueller Maschinen und Testdatenbanken.

Umstellen der team­internen Versionskontrolle von MS Visual SourceSafe auf Subversion.

Programmierung einer Messanwendung (C#) und einer Datenbankapplikation (Transact­SQL).

Eingesetzte Tools/Technologien:

MS Visual Studio 2010, C# 3.0, .NET 3.5/4.0, ReSharper, MS Entity Framework 3.5/4.0, MS SQL Server 2005/2008, T­SQL, NUnit, Ranorex, MS Hyper­V, MS Visual SourceSafe, Subversion, CruiseControl.NET, MS PowerShell.

01/11 – 09/11 Smarthouse Media GmbH, Karlsruhe
Entwicklung komplexer Web­anwendungen im Bankenumfeld

Mitarbeit an der Entwicklung mehrerer komplexer Web-­Anwendungen für die Fondsgesellschaften großer Banken. Dabei v.a. Konzeption und Entwicklung im Bereich des Backendsystems (MS SQL, mehrere Datenbanken/Server) und damit verbundenen Erweiterungen und Neuentwicklungen im Bereich der Geschäfts­ und Präsentationslogik.

Programmierung sowohl diverser Komponenten (Webpages, Controls etc.) für die kundenseitige Frontend­Website (inkl. CSS-­Stylesheets, jQuery-­Scripts etc.) als auch mehrerer anwendungspezifischer Erweiterungen zur Datenpflege im hauseigenen Content Management System.

Eingesetzte Tools/Technologien:

MS Visual Studio 2010, C# 3.0, .NET 3.5, ReSharper, MS Entity Framework 3.5, MS SQL Server 2005/2008, T-­SQL, ASP.NET 3.5, CSS, JavaScript/jQuery, AJAX, Telerik RadControls, TeamCity Build Server.

06/10 – 12/10 DVB Bank SE, Frankfurt/Main
Aufbau einer Team Foundation Projektinfrastruktur, Präsentationen/Coaching bzgl. Test-driven Development, Entwicklung, Entwurf, Technologieberatung.

Einrichtung und Wartung einer Continuous Integration/Workitem Tracking Umgebung inkl. versch. weitergehender Automatisierungen (Server-Shutdown/-Restart, Datenbank- und Dateisystemoperationen) mit TFS 2010.

Test-Authoring und -Automatisierung, inkl. EndToEnd-Tests mit UI-Automatisierung und entsprechender Einrichtung der Build-Umgebung.

Präsentationen/Coaching:
–  Einführung in MSTest + TFS 2010 (engl.)
–  Einführung in Test-driven Development
–  Einführung in die Test Isolation mit Moq, MS Moles und Typemock

Programmierung (TDD) einiger Features in einer datenbankgestützten WPF-Desktop-Anwendung.

Entwurf, Programmierung (TDD) und Dokumentation einer konfigurierbaren und plugin-fähigen Service-Applikation für intervallgesteuerte, automatisierte Health-Checks gegen eine Server-Anwendung.

Statische Code-Analysen zur Identifikation besonders fehleranfälliger Code-Stellen.

Projektsprache: Englisch.

Eingesetzte Tools/Technologien:

MS Team Foundation Server 2010, MS Visual Studio 2010, C# 3.0, .NET 3.5, Windows Workflow Foundation, MSTest, Moq, MS Moles, Typemock, NDepend, Test-driven Development, MS Windows Presentation Foundation, MS SQL Server 2008.

02/10 – 05/10 Neue Digitale / Razorfish GmbH, Frankfurt/Main
Entwicklung, Programmierung einer Test-Suite, Code Coverage Analyse

Mitarbeit an der Entwicklung einer umfangreichen Web-Anwendung für das weltweite Intranet eines großen Pharmakonzerns (Novartis). Dabei v.a. (testgetriebene) Entwicklung von Komponenten der Datenzugriffs- und der Geschäftslogik-Schicht sowie damit verbunden Datenbankdesign und Program-mierung von T-SQL – Komponenten (Skripte, Stored Procedures, Trigger etc.).

Programmierung von Unit- und Integrationstests (unter DB-Einschluß) zur größtmöglichen Testabdeckung der Codebasis, v.a. im Bereich der Datenzugriffs- und der Geschäftslogik-Schichten. Review, Erweiterung und Korrektur der vorhandenen Tests.

Eingesetzte Tools/Technologien:

MS Visual Studio 2008, C# 3.0, .NET 3.5, ReSharper 4.5, MS Visual Studio Test (MSTest), Moq, NCover, MS Entity Framework, MS SQL Server 2005, T-SQL, ASP.NET MVC, MS Enterprise Library, MS Team Foundation Server, MS Sandcastle, verschiedene Open Source – Tools zur Codedokumentation und Verifikation von Coding Guidelines, Scrum, Test-driven Development.

01/09 – 12/09 In Eigenregie
Entwurf, Vorbereitung und Recherche bzgl. eines tragfähigen Geschäftsmodells:

Qualitätsmonitoring, -controlling, -metriken und – Tools für die Software-Entwicklung mit C#/.NET – speziell für kleinere und mittlere Unternehmen. Integration dieser Methoden und Tools in den individuellen Entwicklungsprozess einerseits (Visual Studio – Integration etc.) und in eine gruppenorientierte, serverbasierte Produktionsumgebung (Continuous Integration) andererseits.

Sichtung der entsprechenden Tools (vorzugsweise OSS/Freeware, da Kosteneffizienz eine große Rolle spielt) und entsprechende Einarbeitung (unter besonderer Berücksichtigung von Integrations-Gesichtspunkten):

Testing – und Automations – Frameworks
–  Gallio (Automation Platform)
–  MbUnit (xUnit Test Framework)
–  NUnit (xUnit Test Framework)
–  xUnit.Net (.NET Unit Test Framework)
–  NDbUnit (Database Test Automation Framework)
–  Rhino.Mocks (Mocking Framework)
–  Moq (Mocking Framework)
–  MS Moles (Runtime Instrumentation)
–  NCover (Code Coverage Analysis Tool)
–  White (GUI Automation Platform (OSS))
–  WatiN (Browser Automation)
–  MS Lightweight Automation Framework (Browser Automation)
–  SeleniumHQ (Browser Automation)

Textuelle Analyse – Tools
–  MS StyleCop (Coding Style (Guidelines))
–  Simian (Code Duplication)

Statische Analyse – Tools
–  MS FxCop (Software Design Guidelines)
–  NDepend (General Static Analysis, e.g. Encapsulation, Complexity…)

Tools im Bereich Projektmanagement, Continuous Build und Produktivität
–  CruiseControl.NET (Continuous Integration Server)
–  SubVersion (Svn, Version Control System)
–  Mercurial (Hg, Distributed Version Control System)
–  ReSharper (R#, Visual Studio Plugin)
–  TortoiseSVN (Svn Windows Client)
–  AnkhSVN (Visual Studio Plugin für Svn)
–  MSBuild (Build Automation Platform)
–  VisualHg (Visual Studio Plugin für Hg)
–  TortoiseHg (Hg Windows Client)

Programm-Bibliotheken
–  NHibernate (Object Relational Mapper, ab v2.0)
–  log4net (Logging Framework)
–  Castle / Windsor (IoC Container)
–  LinFu (IoC Container)
–  PostSharp (Aspect-Oriented Programming Framework)

12/07 – 12/08 Friedrich Remmert Datentechnik GmbH, Löhne (b. Bielefeld)
Programmierung, Entwurf, interne Schulung, Technologieberatung

Design und Implementierung einer umfangreichen datenbankgestützten, verteilten Lösung zur Bedienung, Steuerung und Verwaltung automatisierter Lagersysteme als Senior Developer/Technical Project Lead.

Erstellung eines Frameworks zur effizienten Entwicklung und Konfiguration datengetriebener Formulare unter Verwendung von Windows Forms und zugekaufter Steuerelementbibliotheken (DevExpress).

Mitarbeit am Datenbankdesign zur Abbildung der benötigten Business-Strukturen.

Das Entwicklungsteam der Firma hatte bis dato nur Lösungen in C++ realisiert, zudem waren einige Arbeitsabläufe innerhalb des Entwicklungs-prozesses zu überarbeiten bzw. neu einzuführen (z.B. Versionskontrolle, SW-Wartung).

Einführung, Unterrichtung und Knowhow-Vermittlung betreffs verschiedener Themen rund um die Software-Entwicklung mit C#/.NET (z.B. C#/.NET allgemein, Ausnahmebehandlung, Design Pattern, Verwendung von Code Repositories und Buildservern, effektive Dokumentation, Coding Guidelines etc.).

Eingesetzte Tools/Technologien:

MS Visual Studio 2008, C# 3.0, .NET 3.5, Windows Forms, MS SQL Server 2005, MS Visual SourceSafe, Windows Communication Foundation, MS Sandcastle, CruiseControl.NET, MSBuild, verschiedene Open Source – Tools zur Codedokumentation und zur Bereitstellung von Coding Guidelines.

07/05 – 06/07 s.a.x. Software GmbH, Karlsruhe (angestellt)
Wartung, Weiterentwicklung, Programmierung, Projektleitung

Wartung und Weiterentwicklung einer umfangreichen MS Office-Addin-Lösung (für MS Word, PowerPoint, Outlook in den Versionen 97-2003) zur automatisierten, CD-konformen Dokumentenerstellung und -Verwaltung (VB5/6, VBA, COM, Borland C/C++).

Verantwortlicher Entwurf und Programmierung mehrerer Projekte zur Verwaltung und Konfiguration von Dokumenten und Designs (.NET 2.0, C# 2005, MS SQL Server, MS Access). Als UI-Frontends kamen DotNetNuke für webbasierte Anwendungen sowie die MS Composite UI Application Blocks für den Desktop-Bereich zum Einsatz. In diesem Zusammenhang auch innerhalb der Projektteams Schulung und Know-How-Vermittlung in den Bereichen OO-Design, Programmiertechniken und .NET-Technologien.

Projektübergreifende Administrationsaufgaben wie z.B. Restrukturierung des firmeninternen Code Repository, Ausarbeitung von Programmierrichtlinien u.ä.

Technische Beratung/Unterstützung unserer Kundenbetreuer.

Eingesetzte Tools/Technologien:

Borland C++, VB5/6, VBA, MS Office (alle Versionen), ATL/COM, Visual C++ /MFC, C#, ASP.NET, MS SQL Server, MS Access, MS Visual SourceSafe, MS Visio, MS CAB, DotNetNuke.

10/02 – 07/04 Dürkopp Fördertechnik GmbH, Bielefeld (angestellt)
Programmierung, Projektabwicklung, Inbetriebnahmen, Kunden- und interne Schulungen

Entwurf, Entwicklung und Inbetriebnahme von komplexer, verteilter Steuer-ungssoftware für automatisierte Warenlager in der Bekleidungsindustrie und Logistik (4-12 PCs, 1-3 Datenbank-Server). Die grundlegende Pro-grammierarbeit erfolgte inhouse, daran schloß sich dann eine mehrwö-chige, meist sogar mehrmonatige Inbetriebnahmephase vor Ort an (u.a. in Rimini (IT), Westfield (GB), London (GB), Hamburg). Dabei wurde auf spezielle, eigens im Haus entwickelte C++/MFC-Basisklassen und – Biblio-theken aufgesetzt, als Datenbanksystem kamen Oracle-Server zum Einsatz.

Mitarbeit im Projektteam eines Großkunden, um die verwendeten Schnittstellen und Protokolle in dessen europaweite Logistikkette zu integrieren.

Entwurf und Entwicklung eines Lagerverwaltungssystems für die Bekleidungs-industrie.

Entwurf, Einrichtung und Wartung/Fernwartung v. Oracle-Datenbanken (8/8i/9i).

Entwurf und Implementierung von Schnittstellen und Protokollen zum Datenaustausch zwischen unseren Datenbanken und verschiedenen, teils individuellen, Warenwirtschaftssystemen (XML, Text).

High-Performance-Tuning von bestehenden Datenbanken (SQL-Statement-Tuning, Explain Plans, Indexierung, Wartungsskripts).

Einrichtung, Wartung und Überprüfung der benötigten Hardware (PCs, Server, Netzwerke, Durchsatztests, Healthchecks für SCSI-HD-Arrays usw.).

Einrichtung und Überprüfung der verwendeten Steuerungstechnik (z.B. Scanner, Lichtschranken, SPS…).

Erstellung entsprechender Dokumentationen; Schulungen hausintern (Service-Personal) und Anwender (Kundenpersonal).

Eingesetzte Tools/Technologien:

Visual C++/MFC, Oracle 8/8i/9i, PL/SQL, TOAD, XML, MS Visual SourceSafe, Windows-Server, SPS, SCSI, TCP/IP, Netzwerkprotokolle.

10/01 – 09/02 NovaTec Kommunikationstechnik GmbH, Paderborn (angestellt)
Programmierung, UI-Entwurf, Installationen, Kundenschulungen

Weiterentwicklung und Wartung mehrerer umfangreicher Softwareprojekte zur Konfiguration, Fernwartung und Echtzeitüberwachung komplexer Telekommunikationsanlagen im GSM- und ISDN-Umfeld (Visual C++/MFC, MS Access/Jet).

Erstellung entsprechender Dokumentationen, sowohl technisch als auch für den Anwender.

Anwendersupport und -schulung, telefonisch und vor Ort (u.a. in Tel Aviv (IL) und Amman (JO)).

Eingesetzte Tools/Technologien:

Visual C++/MFC, MS Jet, MS Access, MS Help Workshop, ISDN, GSM

10/99 – 09/01 Siekmann Softwareentwicklung, Bielefeld (angestellt)
Programmierung, Projektabwicklung, Kundenbetreuung

Entwurf und Entwicklung eines datenbankgestützten Informationssystems für Motorradreifen inkl. Bestandshaltung, Kalkulation, automatischer Online-Aktualisierung und Bestellabwicklung (Visual C++/MFC, MS Jet).
Kunde war die deutsche Niederlassung eines großen internationalen Reifenherstellers, der seine Vertragshändler mit dieser Software ausgestattet hat. Neben Kundenbetreuung und -support habe ich auch den Vertrieb abgewickelt (CD-Pressung, Organisation des Layouts etc.).

Entwurf und Entwicklung eines Programms zum automatisierten Setzen von Telefonbüchern aus entsprechenden Adressdatenbanken heraus (MS Access, VBA). Der Export erfolgte in das DTP-Programm Adobe FrameMaker, als Daten- und Formatbeschreibungssprache wurde MIF verwendet (MIF: Maker-Interchange-Format, eine ASCII-basierte Markup-Sprache, vergleichbar mit XML). Kunde war ein mittelständischer Druckereibetrieb aus Bochum.

Entwurf, Entwicklung und Wartung mehrerer Clubdatenbanken und Mitgliederverwaltungen (u.a. Lions, LEO, InnerWheel) mit MS Access/VBA. Module zum automatisierten Druck von Mitgliederverzeichnissen mittels Adobe FrameMaker/MIF (s.o.).

VBA-Modul zur Einbindung der WIN32-API in VBA-Programme einschl. ausführlicher Dokumentation.

Entwicklung eines MS Access-AddIns zur automatisierten EURO-Umstellung.

Allgemeine Wartung (auch Hardware/Netzwerk), Kundensupport.

Eingesetzte Tools/Technologien:

Visual C++/MFC, MS Jet, MS Access, VBA, Adobe FrameMaker, MIF