LebenslaufFoto

Übersicht

Angaben zur Person

Geburtsdatum: 19. August 1968
Geburtsort: Dortmund
Staatsangehörigkeit: deutsch
Familienstand: verheiratet seit 2004
Kinder: zwei Kinder

Werdegang

Schullaufbahn

Grundschule: 07.08.1975 - 29.08.1979 Albert-Schweitzer-Schule, Gifhorn
Orientierungsstufe: 30.08.1979 - 01.07.1981 Christoph Kolumbus Schule, Gifhorn
Gymnasium: 02.07.1981 - 10.06.1988 Otto-Hahn-Gymnasium, Gifhorn
Abschluß: Abitur; Prüfung abgelegt am 16.05.1988 (Abschlußnote: 1.5); Zeugnis

Grundwehrdienst

Grundausbildung: 04.07.1988 - 30.09.1988 Rotenburg/Wümme
Danach: 01.10.1988 - 30.09.1989 Ehra-Lessien
Einsatzgebiet: elektronische Kampfführung (Eloka)
Abschlußdienstgrad: Obergefreiter

Studium

Hochschule: Technische Universität Carolo Wilhelmina zu Braunschweig
Studiengang: Informatik
Studienzeit: 01.10.1989 - 31.10.1994
Vordiplomprüfung: abgelegt am 25.09.1991 (Note: sehr gut); Zeugnis
Abschluß: am 21.07.1994 als Diplominformatiker (Note: sehr gut); Zeugnis
Vertiefungsfächer: Entwurf integrierter Schaltungen, Compilerbau, Computergraphik
Nebenfach: Verkehrsplanung/-sicherheit
Praktika: FPGA Entwurfspraktikum
Studienarbeit: Untersuchung von Fehlermodellen für Schaltungsbeschreibungen auf höheren Entwurfsebenen, durchgeführt in der Abteilung Entwurf integrierter Schaltungen (E. I. S.)
Diplomarbeit: Untersuchungen zur Konvergenz eines stochastischen Optimierungsverfahrens anhand eines vereinfachten Modells für den Hardware/Software Co-Entwurf, durchgeführt am Institut für Datenverarbeitungsanlagen

Berufliche Laufbahn

01.08.1994 - 30.11.2000 Wissenschaftlicher Mitarbeiter am IDA - Institut für Datentechnik und Kommunikationsnetze (ehemals Institut für Datenverarbeitungsanlagen) der Technischen Universität Braunschweig. Weitere Details hier.
1996 - 2000 Ehrenamtlicher Softwareentwickler für die Free Software Foundation als Contributor bzw. Maintainer für den Emacs-BibTeX-Mode, einer Komponente des Editors Emacs zur Verwaltung von Literaturdatenbanken. Weitere Details hier.
1996 - 2004 Ehrenamtlicher Softwareentwickler für die Free Software Foundation im Kernteam für die Entwicklung des Scheme-Intepreters Guile. Weitere Details hier.
01.03.2001 - 13.07.2001 Dozent im Rahmen der Ausbildung von Fachinformatikern beim Bildungswerk Niedersächsischer Volkshochschulen (BNVHS) in Salzgitter-Bad. Themengebiet: Betriebssysteme, Schwerpunkt: Linux; Zeugnis
01.08.2001 - 30.06.2011 Entwicklungsingenieur im Bereich Kraftfahrzeugelektronik bei der Robert Bosch GmbH an den Standorten Schwieberdingen/Markgröningen, Leonberg und Abstatt. Zeugnis; Weitere Details hier.
2006 - 2007 Ehrenamtlicher Softwareentwickler für das freie Softwareprojekt Mnemosyne. Weitere Details hier.
01.07.2011 - heute Softwarearchitekt bei der Robert Bosch Car Multimedia GmbH in Hildesheim. Weitere Details hier.
01.04.2015 - heute Lehrbeauftragter am Institut für Informatik der Universität Hildesheim. Weitere Details hier.

Sonstiges

Auslandsaufenthalte: Im Juli und August 1985 Aufenthalt bei einer amerikanischen Gastfamilie in Hawley, Minnesota, vermittelt durch The Experiment in International Living. Der Kontakt besteht bis heute: Briefwechsel, mehrere gegenseitige Besuche.

Kenntnisse und Fähigkeiten

Methodik

  • Gestaltung von unternehmensweiten Änderungsprozessen, Einsatzmöglichkeiten agiler Praktiken (Planung, Unit-Testing, Continuous Integration, ...)

  • Methodische Softwareentwicklung über den gesamten Software Entwurfszyklus: Anforderungsanalyse, Anforderungsmanagement, Algorithmenentwurf, Architekturentwurf und -dokumentation, Designentwurf und -dokumentation, Implementierung und Codedokumentation, Review, Einsatz statischer Analysetools, Testspezifikation und -implementierung, Unit-Testing und TDD, Design for Testability, Integrationstest, Versionsmanagement, Buildprozess, Root-Cause-Analysis, Fehlerstrommodell

  • Software Produktlinienentwicklung, Entwurf produktlinienweit und produktlinienübergreifend wiederverwendbarer Softwarekomponenten

  • Reifegradmodelle CMM (Capability Maturity Model), CMMI (Capability Maturity Model Integrated), ASPICE, PSP (Personal Software Process)

  • Spezifische Methoden: QAW (Quality Attribute Workshop), QFD (Quality Function Deployment), ATAM (Architecture Tradeoff Analysis Method), FMEA (Failure Mode and Effects Analysis), DRBFM (Design Review Based on Failure Modes)

  • Designparadigmen: funktional, generisch, komponentenorientiert, modular, objektorientiert

  • Refactoring, Ressourcenoptimierung, insbesondere Laufzeitoptimierung

  • Kreativitätstechniken (Brainstorming, Mindmapping, Ishikawa, Umkehrtechnik, ...)


Programmiersprachen etc.

Imperativ: C (seit ca. 1985, sehr umfangreiche Kenntnisse), Modula-2 (Kenntnisse aus dem Grundstudium), Pascal (Kenntnisse aus der Schulzeit), Basic (erste Programmiersprache 1982)
Objektorientiert: C++ (seit ca. 1992, sehr umfangreiche Kenntnisse), Python (seit 2006, mittleres Kenntnisniveau), Smalltalk (Kenntnisse aus einem 6 monatigen Vordiplomsprojekt), Ada (privat erworbene Grundkenntnisse), Java (im Rahmen der Gestaltung der Vorlesung "Grundlagen des Softwaretestens" erworbene Grundkenntnisse)
Funktional: Scheme (seit ca. 1996, Kenntnisse aus der mehrjährigen Mitarbeit an der Entwicklung eines Scheme Interpreters), Emacs Lisp (Kenntnisse aus der mehrjährigen Mitarbeit an einem Emacs Mode), Haskell (privat erworbene Grundkenntnisse)
Deklarativ: Prolog (privat erworbene Grundkenntnisse)
Graphisch: Ascet-SD
Modellierung: UML
Hardwarebeschreibung: Verilog, VHDL
Assembler: diverse 8, 16 und 32 Bit
Shellsprachen: sh, bash, csh, tcsh
Skriptsprachen: awk, tcl/tk, perl
Auszeichnungssprachen: XML, HTML, CSS, LaTeX
Sonstige: make, lex, yacc, ...

Entwicklungswerkzeuge

Anforderungsmanagement: Doors, Bugzilla
Konfigurationsmanagement: Git, Subversion, ClearCase, MKS, CVS, RCS
Dokumentation: Doxygen, diverse Wiki, plantUML
Statische Codeanalyse: PC-Lint/Flexe-Lint, QA-C, Polyspace, splint
Dynamische Codeanalyse: Valgrind, Purify
Test: Google Test / Google Mock, xUnit, TestRealTime

Betriebssysteme

UNIX Varianten: Solaris, Linux
Windows Varianten: Anwenderkenntnisse
Embedded OS: OSEK (ErcOSEK)

Weiteres Fachwissen

  • Rechnerarchitektur, Prozessorarchitektur, Entwurf eingebetteter Systeme, automatisierter Schaltungsentwurf, Hardware/Software Co-Entwurf

  • Compilertechnologie, Softwaresynthese, Laufzeitabschätzung, Multithreading

  • Interpretertechnik, Interpreter Embedding, Garbage Collection

  • Telekommunikation, Local Networks, Internettechnologie

  • Speichertechnologien (EEPROM, Flash)

  • Bussysteme (CAN, LIN, SPI)

  • Automotive Standards (ISO 26262, Autosar)


Sprachen

Deutsch: Muttersprache
Englisch: fließend in Wort und Schrift
Latein: großes Latinum
Französisch: Grundkenntnisse
Spanisch: Grundkenntnisse

Diverses

Führerschein: PKW-Führerschein

Zertifikate

Zertifikate zu den Themen Spanisch, Erste Hilfe, UML und SysML, Mensa IQ-Test, PolySpace, SW Requirements Management, Projektmanagement, MKS, DOORS finden sich hier.

Details zu beruflichen Stationen

Tätigkeit als wissenschaftlicher Mitarbeiter am Institut für Datentechnik und Kommunikationsnetze der Technischen Universität Braunschweig

Forschungsgebiete

High-Level Synthese

Durchführung eines von der DFG geförderten Forschungsvorhabens Mehrfache Verzweigungsvorhersage und spekulative Ausführung in der High-Level Synthese.

In diesem Zusammenhang wurden die folgenden Teilprojekte durchgeführt:

Systementwurf

Durchführung eines von der DFG geförderten Forschungsvorhabens Rapid Prototyping ereignisgesteuerter Systeme.

Weitere Aufgaben

Ehrenamtlicher Softwareentwickler für die Free Software Foundation als Contributor bzw. Maintainer für den Emacs-BibTeX-Mode

In den Jahren 1996 bis 2000 war ich, zunächst als Contributor, später als Maintainer, beteiligt an der Entwicklung des Emacs-BibTeX-Mode. Die Komponente Emacs-BibTeX-Mode ist in der Sprache Emacs-Lisp implementiert und dient der Verwaltung von Literaturdatenbanken. Sie ist ein Teil des freien Editors Emacs, der wiederum Bestandteil der bekannten GNU-Software der Free Software Foundation ist.

Während ich die Rolle des offiziellen BibTeX.el-Maintainers innehatte, hatte ich die folgenden Aufgaben:

Ehrenamtlicher Softwareentwickler für die Free Software Foundation im Kernteam für die Entwicklung des Scheme-Interpreters Guile

In den Jahren 1996 bis 2004 war ich, zunächst als Contributor, später als Mitglied des Kernteams, beteiligt an der Entwicklung des Scheme-Interpreters Guile. Guile ist in den Sprachen Scheme und C implementiert und wird mit dem Ziel entwickelt, in andere Anwendungen eingebettet zu werden, um diese um eine mächtige Erweiterungssprache zu ergänzen.

Während meiner Mitarbeit an Guile habe ich die folgenden Aufgaben übernommen:

Tätigkeit als Entwicklungsingenieur bei der Robert Bosch GmbH

Vom 01.08.2001 bis zum 30.06.2011 war ich als Entwicklungsingenieur bei der Robert Bosch GmbH im Bereich der Kraftfahrzeugelektronik beschäftigt. Mein Aufgabenschwerpunkt lag im Bereich des Softwareentwurfs bei der Entwicklung von Produkten zum Energiemanagement (2001 bis 2007), der Karosserieelektronik (2003 bis 2007) und ABS- und ESP-Systemen (2007 bis 2011).

Aufgabengebiete

Schulungen sowie Einarbeitungs- und Unterstützungsmaßnahmen fanden, je nach Teilnehmerkreis, auf deutsch oder englisch statt. Teilnehmer waren Kollegen unter anderem aus Australien, Deutschland, Indien, Japan, Ungarn und den USA.

Ehrenamtlicher Softwareentwickler für das freie Softwareprojekt Mnemosyne

In den Jahren 2006 bis 2007 war ich als Contributor beteiligt an der Entwicklung des Lernprogramms Mnemosyne. Mnemosyne ist ein nach dem Karteikartenprinzip aufgebautes Lernprogramm, bei dem Erkenntnisse aus der Gehirnforschung genutzt werden, um das Lernen möglichst effizient zu gestalten. Mnemosyne ist in der Sprache Python programmiert.

Während meiner Mitarbeit an Mnemosyne habe ich die folgenden Aufgaben übernommen:

Tätigkeit als Softwarearchitekt bei der Robert Bosch Car Multimedia GmbH

Seit dem 01.07.2011 bin ich als Softwarearchitekt bei der Robert Bosch Car Multimedia GmbH in Hildesheim beschäftigt. Mein Aufgabenschwerpunkt liegt im Bereich der Verbesserung der Softwareentwicklungsmethodik.

Aufgabengebiete

Schulungen sowie Einarbeitungs- und Unterstützungsmaßnahmen fanden, je nach Teilnehmerkreis, auf deutsch oder englisch statt. Teilnehmer waren Kollegen unter anderem aus China, Deutschland und Indien.

Lehrbeauftragter am Institut für Informatik der Universität Hildesheim

Seit dem 01.04.2015 habe ich einen Lehrauftrag an der Universität Hildesheim. Die neu eingeführte Vorlesung "Grundlagen des Softwaretestens" im Sommersemester 2015 wird zu mehr als einem Drittel von mir verantwortet, gestaltet und durchgeführt. Dabei vertrete ich die Themen Unit-Testing, Test Code Implementation, Test-Driven-Development sowie Design for Testability. Zudem habe ich an den Themen JUnit, Test Case Design und Integration Testing mitgewirkt.