Lebenslauf
Übersicht
- Angaben zur Person
- Werdegang
- Schullaufbahn
- Grundwehrdienst
- Studium
- Berufliche Laufbahn
- Sonstiges
- Kenntnisse und Fähigkeiten
- Methodik
- Programmiersprachen etc.
- Entwicklungswerkzeuge
- Betriebssysteme
- Weiteres Fachwissen
- Sprachen
- Diverses
- Zertifikate
- Details zu beruflichen Stationen
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
|
|
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 |
|
|
|
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:
-
Entwurf eines Systems zur Videosignalverarbeitung in Zusammenarbeit mit der Firma BTS in Weiterstadt.
-
Übertragung der entwickelten Techniken auf VLIW Prozessoren, dies in Zusammenarbeit mit der Compilergruppe der Firma Philips in Eindhoven.
-
Integration der entwickelten Techniken in ein Softwaresystem zur High-Level Synthese unter Einsatz diverser Programmiersprachen und für unterschiedliche Hardwarebeschreibungssprachen.
Systementwurf
Durchführung eines von der DFG geförderten Forschungsvorhabens Rapid Prototyping ereignisgesteuerter Systeme.
Weitere Aufgaben
-
Ausschreibung, Vergabe, Betreuung und Mitbeurteilung von Studien- und Diplomarbeiten im Rahmen des jeweiligen Forschungsprojektes.
-
Beschäftigung einer Reihe wissenschaftlicher Hilfskräfte im Rahmen des jeweiligen Forschungsprojektes.
-
Betreuung von Übungen zur Vorlesung Rechnerstrukturen II, die sich inhaltlich mit dem Entwurf eingebetteter Systeme befaßt.
-
Betreuung eines Teils des Institutsrechnernetzes.
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:
- Anforderungsmanagement (Sammlung von Feature-Requests)
- Design und Implementierung in der Sprache Emacs-Lisp
- Integration von eingesendeten Patches
- Portierung auf neue Emacs-Versionen
- Dokumentationserstellung
- Test und Freigabe
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:
- Design von Grundkonzepten, Features, Schnittstellen
- Refactoring des bestehenden Codes
- Neuerstellung des Test-Frameworks
- Überarbeitung des Interpreterkerns
- Erweiterung des Garbage Collectors
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
-
Anforderungserhebung, -analyse und -verwaltung für Softwarekomponenten
-
Architekturentwicklung für Software-Produktlinien, sowie Unterstützung bei der Umsetzung der Architekturvorgaben
-
Entwurf, Implementierung und Test produktlinienweit und produktlinienübergreifend wiederverwendbarer Softwarekomponenten
-
Analyse von Software zur Identifikation von Verbesserungspotential
-
Refactoring und Re-Engineering von Software
-
Entwicklung von Entwurfs- und Implementierungsmustern
-
Entwicklung von Methoden zu den Themen Anforderungsanalyse, Software-Architekturentwicklung, Software-Entwurf, Software-Verifikation, Testspezifikation
-
Definition von Prozessen zu den Themen Anforderungsanalyse, Software-Architekturentwicklung, Software-Entwurf, Software-Implementierung (Codierrichtlinie, Namenskonvention), Software-Verifikation, Testspezifikation, Konfigurationsmanagement
-
Entwicklung und Durchführung von Schulungen zu den Themen Anforderungsanalyse, Software-Entwurf, Software-Implementierung, robuste Software
-
Einarbeitung und sowohl methodische als auch inhaltliche Unterstützung von Entwicklern bei Anforderungsanalyse, Software-Architekturentwicklung, Software-Entwurf, Software-Implementierung
-
Diverse Vorträge auf unternehmensweiten Foren (Bosch Conference on Software Engineering, Software Architecture Experience Exchange)
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:
- Anpassung der Architektur zur leichten Erweiterbarkeit um zusätzliche Ein- und Ausgabeformate
- Implementierung des Dateiimports aus dem Windows-Programm SuperMemo
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
-
Federführung bei der (teilweise mehrjährigen) standortübergreifenden Einführung neuer Entwicklungsmethoden. Standorte befinden sich in Deutschland, Indien, China und Malaysia. Die Einführung beinhaltete Zielabsprachen mit dem Vorstand der Business Unit, die Erarbeitung von Einführungsstrategien, die Ausgestaltung von Anwender- und Managementschulungen zur jeweiligen Methodik (teilweise in Zusammenarbeit mit externen Schulungsanbietern), die Aufstellung und kontinuierliche Koordination internationaler Teams von Experten zu den jeweiligen Methoden, die kontinuierliche Einbindung sämtlicher Hierarchieebenen in den Änderungsprozess, die Schaffung und Betreuung unternehmensinterner Communities of Practice, die Erstellung von Prozess- und Schulungsdokumenten, Sicherstellung der Konformität zu ASPICE und ISO 26262, Unterstützung der Kundenprojekte bei der Umsetzung der Entwicklungsmethoden sowie die Abstimmung mit anderen Bosch Unternehmensbereichen.
-
Unterstützung weiterer unternehmensinterner Änderungsinitiativen bei der Adoption der entwickelten Vorgehensweise.
-
Unterstützung der Kundenprojekte bei der Einführung agiler Praktiken sowie im Rahmen von ASPICE Assessments.
-
Definition der Vorgehensweise der Business Unit zur Umsetzung von MISRA-C 2004
-
Gestaltung von Design- und Codingguidelines
-
Auswahl von Softwarewerkzeugen
-
Diverse Vorträge auf unternehmensweiten Foren (Software Architecture Experience Exchange, Software Analytics, ...)
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.