Profilbild von Dominik Vogt Softwareentwickler aus Remchingen

Dominik Vogt

verfügbar

Letztes Update: 25.09.2023

Softwareentwickler

Abschluss: Diplom Mathematik, Informatik
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)

Skills

Position
Software-Entwicklung, Beratung
Fachlicher Schwerpunkt: Systementwicklung, hardwarenahe Entwicklung, Embedded, Softwaresicherheit (Beratung, Entwicklung)

Ausbildung
Diplom-Mathematiker 1994, Diplomnote: sehr gut
Studium Mathematik und Informatik an der Universität Dortmund
Hochbegabt

Hardware
  • embedded Systems
  • PC
  • (Cortex-A9 Cpu, Cortex M7 (STM32H7), Cortex-M4 (Freescale i.MX 6), ...)
  • Caches
  • Ddr-Ram
  • Dma
  • Flash-Speicher
  • I2c
  • IBM S/390
  • IBM System/z
  • Interruptcontroller
  • Oszilloskope
  • Quad-Spi (Qspi)
  • RS232
  • Spi
  • Timer
  • UART (serielle Schnittstelle)
  • USB
  • Zync-7000
  • 8-bit-Prozessoren
  •  

Betriebssysteme
  • Linux: Expertenkenntnisse Entwicklung
  • Linux-Kernelentwicklung
  • Linux-Distributionen: Red Hat, Suse, Debian, Devuan, Yocto, Buildroot
  • RTOS (Real Time OS): Embedded Linux, pSOS+, Windriver
  • Unix: Programmierung und Administration (AIX, HPUX, Sinix)
  • Windows
  • MS-DOS

Programmiersprachen
  • Assembler: diverse ARM-Prozessoren, x86, x86_64, 6502, 6510
  • C: Expertenkenntnisse, Compilerbau
  • C++: Expertenkenntnisse, Compilerbau
  • GNU-Make, Imake, Make-Maker etc...: make Guru (alle Varianten)
  • Lisp: Scheme, emacs Lisp
  • Perl
  • Python: Mehrjährige Programmiererfahrung
  • Skriptsprachen: awk, sed
  • Shell: Shellskriptexperte
  • TEX, LATEX: Grundkenntnisse
  • Xt, Motif: sehr gute Xlib Kenntnisse
  • yacc/lex: Grundkenntnisse
  • 4gl: Informix 4GL (Grundkenntnisse)
  • Go
  • Lua
  • GNU autotools (automake, autoconf, libtool): Intensiver Einsatz in ca. 20 Projekten.

Datenbanken
  • DB2: Programmierung und Administration / Parallele DB
  • ODBC
  • MySql
  • Postgres
  • SQL: Programmierung (embedded SQL)
  • Informix: Programmierung mit 4gl
  • Berkley DB
  • SQLite
  • IBM DB5

Datenkommunikation
  • CAN
  • Ethernet
  • Firewall (Netfilter, nftables)
  • I2C
  • Internet, Intranet: Administration Webserver, xml Programmierung, html, Grundkenntnisse diverser Protokolle
  • ISO/OSI
  • LAN, LAN Manager: Administration, Programmierung
  • Message Queuing: Programmierung
  • Parallele Schnittstelle: Programmierung, auch serielle Schnittstelle (RS232)
  • Proprietäre Protokolle: Client/Server-Programmierung, Entwicklung verteiltes Dateisystem (OpenGFS)
  • Router: Administration
  • RS232, UART
  • SMTP
  • SNMP: v2c, v3 (VACM, USM); Implementierung; Net-SNMP; libnetsnmp
  • Spi, Quad-Spi (Qspi)
  • TCP/IP: FTP, NFS, TFTP, HTTP, SSH, DHCP, LDAP etc.; Detailkenntnisse diverser Protokolle
  • Voice-over-IP-Protokolle (SIP, SDP, MGCP, Radius, Diameter, Sprachcodecs, Quality of Service, RTP, RTSP)

Produkte, Standards, Erfahrungen

Erfahrungen im Bereich
  • Anwendungs- und Systemprogrammierung
  • Compilerentwicklung
  • Embedded und hardwarenahe Entwicklung
  • Performanceoptimierung
  • Qualitätssicherung (Design, Testdesign, Test, Inspektionen, Reviews)
  • Softwaresicherheit (Sicheres Programmieren, Software Audits)
  • Systemadministration, Netzwerkadministration

Methoden
  • Agile Entwicklung
  • Objektorientierte Analyse, Design, Programmierung (OOA, OOD, OOP)
  • Unified Modeling Language (UML)
  • SCRUM
  • CASE Tools (Computer Aided Softwatware Engineering)

Standards
  • ASIL-B
  • Autosar
  • GNU Coding Standards
  • Linux Coding Conventions
  • MISRA
  • XML
  • Zahlreiche RFC

Entwicklungswerkzeuge
  • Boost
  • Clearcase
  • Coverity
  • Cppcheck
  • DejaGNU
  • Doors
  • Eclipse
  • Flawfinder
  • Gcc
  • Git, Github, Bitbucket etc.
  • Google Test
  • Lauterbach und andere Hardwaredebugger für Embedded-Systems
  • Lint
  • Mercurial
  • PC-Lint
  • Qac (statische Sourcekodeanalyse)
  • Robotframework
  • Splint
  • STL
  • SubversionJenkins
  • Jira
  • Yocto

Spezialkenntnisse
  • Analyse von Problemen und eigenständige Lösung derselben
  • Lowlevelprogrammierung von Armprozessoren
  • Client/Server-Programmierung
  • Compilerentwicklung (Gcc für Linux auf System/z und S/390)
  • Dynamische Kodeanalyse
  • ELF-Linkerformat
  • Embedded Systems und hardwarenahe Entwicklung
  • Projektmanagement mit GNU autotools
  • Portierung
  • Sicherheitsfunktionen des ARM i.MX6
  • Statische Sourcekodeanalyse
  • Open source
  • Voice-over-IP, SIP, SDP, MGCP

Branchen
  • Automotive
  • Cloudcomputing
  • Hardwarehersteller
  • Softwarehersteller
  • Meßgerätehersteller
  • Computerhardware
  • Telekommunikation (Telco)
  • Luftfahrt
  • Raumfahrt
  • Schienenverkehr
  • Biotechnologie / Medizintechnik
  • Webhosting / Internet Service Provider
  • Open Source

 

Projekthistorie

01/1998 - bis jetzt
Diverse Open-Source-Projekte

  • Als Vertreter der Open Source Gemeinde finden sich von mir implementierte oder angeregte Änderungen in zahlreichen freien Softwareprojekten:

  Botan Tutorial (kryptographische Bibliothek)
  bubblemon (Systemmonitor)
  dosbox (DOS-PC Emulator)
  fvwm (F Virtual Window Manager)
  gateguardian (Bibliothek für Softwaresicherheit)
  gcc (GNU-Compiler)
  glibc (GNU-C-Bibliothek)
  heartbeat (Hochverfügbarkeitsdämon für Linux)
  keepalived (Dämon ähnlich Heartbeat)
  libffi (Programmbibliothek für Funktionsaufrufe in andere Sprachen)
  libstroke (Programmbibliothek für Mausgesten)
  linux-2.4/3.x Kern (Betriebssystem)
  ltprep (Linux Test Project Reporting Tool)
  lyx (LATEX GUI)
  nedit (Texteditor)
  odlm (Open Distributed Lock Manager)
  ogfs (Open Global File System, verteiltes Dateisystem)
  ridentd (sicherere Identd-Variante)
  rxvt (X11 Terminalprogramm vom fvwm Autor)
  Secure Programming Cookbook
  tig (GIT-Datenbank-Viewer)
  vice (C64 Emulator für Windows und Unix)
  wm-spec (Standardisierungsgremium für den Unix Desktop)
  xmame (Spielkonsolenemulator)
  xmms (Medienspieler für Windows und Unix)
  xv (Bildbearbeitungsprogramm)
  zsh (äußerst mächtige Unix shell)

08/2017 - bis jetzt
Gründer und Mitgeschäftsführer
Davosit GmbH

  • Soft- und Hardwareentwicklungsdienstleistungen.

03/2023 - 06/2023
Netzwerkzugangskontrolle und Firewall
Deutsche Bahn (Schienenverkehr) (Transport und Logistik)

  • Anforderungsanalyse und Entwicklung eines Systems zur Netzwerkzugangskontrolle auf einem Embedded-System.
  • Implementierung in C auf Basis des existierenden hostapd (Open-Source) mit dem Extensible Authentication Protocol (EAP).
  • Automatisches Erzeugen von Firewallregeln unter Linux (Netfilter) durch Shell- und Netfilter-Skripte.  Übersetzen von Cisco-ACLs in Netfilterregeln.
  • Komplexes Netzerk-Setup mit Virtualisierung (VMs unter QEMU).
  • Konfiguration des Linux-Kernels als Firewall und Bridge.
  • Makefile zur Paketierung und Qualitätskontrolle der Software.
  • Zeitkritisches Projekt unter hohem Druck zur höchsten Zufriedenheit des Kunden abgeschlossen.
  • Protokolle und Standards: Extensible Authentication Protocol (EAP), Cisco-ACLs.
  • Werkzeuge: nft (Netfilter, nftables), Shell, Linux, Git, Github, Make, Busybox, Buildroot, Citrix, Cisco ISE, hostapd, QEMU, Gcc, ASAN.
  • Programmiersprachen: C, Shellkripte, Netfilter-Skripte.

03/2022 - 02/2023
Firmwareentwicklung (Elektroantriebe)
Automobilzulieferer (Automobil und Fahrzeugbau, 50-250 Mitarbeiter)

  • Entwicklung, Test und Dokumentation von Lowlevel-Firmware auf einem Dual-Core-Cortex-M7 Controller in C und C++ nach Autosar und MISRA.
  • Entwicklung von Initialisierungsroutinen für die Microcontroller-Hardware in C und Assembler.
  • Implementierung und Test Secure-Boot (u-boot, u-boot-Skripte).
  • Design, Implementierung, Test, Wartung: Software für Batteriemanagement, Autosar-Treiber für Kommunikationsschnittstellen (I2C, QSPI) mit Echtzeitanforderungen, Timer.
  • Hardware: Board mit STM32H7 Microcontroller, Ethernet, CAN, USB, RS-232, Ethernet.
  • Werkzeuge: Git, Gcc, G++, Jenkins, Make, JTAG-Debugger, Embedded Linux, Buildroot.
  • Programmiersprachen: C, C++, Assembler (Arm 7), Skripte (Shell, Python 3).

06/2022 - 10/2022
Projektstudie Cloudcomputing (Automatisierung)

  • Automatisierung von Cloudverwaltungsaufgaben.
  • Minimierung von Maschinen- und Reservierungskosten.
  • Automatisierung von Webabfragen über REST-Apis mit Firefox, Python 3 und wget.
  • Werkzeuge: lineare Optimierung (lp-solve), Git, Make, Firefox, Json, Csv.
  • Programmiersprachen: Shellkripte, Python 3, C++.

09/2019 - 02/2022
Galileo Satellitennavigation
Thales Alenia Space (Raumfahrt) (Transport und Logistik)

  • Projekt mit Sicherheitseinstufung Ü2, daher hier nur eine oberflächliche Beschreibung der Aufgaben.
  • Architektur, Entwicklung und Konfiguration von Soft- und Hardware eines Teilprojektes im Galileo-Umfeld.
  • Systemhärtung von Redhat-Systemen nach EU-Sicherheitsanforderungen.
  • Werkzeuge: Ansible, SSH, SFTP, SELinux, DNS, Firewall, LDAP, NFS, Git, IdM, Freeipa, Expect, Bitbucket, Jenkins, Robotframework, Jira.
  • Programmiersprachen: C++, Shellkripte, Python 3.

08/2018 - 03/2019
Embedded-Linux-Sicherheitskonzept eines Steuergerätes für Campingwagen
Hardwarezulieferer (Automotive) (Automobil und Fahrzeugbau)

  • Teilprojektleitung: Planung und Umsetzung eines Sicherheitskonzeptes für ein Embedded-Steuergerät mit Embedded-Linux (RTOS). Anleiten eines internen Mitarbeiters in Sicherheitsfragen.
  • Erstellen und Sichten fachlicher Anforderungen für das Sicherheitskonzept. Klären der Anforderungen mit dem Kunden. Konzepterstellung für die Nutzung der Sicherheitsfeatures des i.MX 6.
  • Kommunikation bezüglich Sicherheitsfeatures mit den Zulieferern.
  • Secure-Boot.
  • Programmieren eines speziell abgesicherten Softwareupdatesystems unter Verwendung der Sicherheitsfeatures des i.MX 6 und u-boot.
  • Reviews der Umsetzung sicherheitsrelevanter Features.
  • CAN-Anbindung (Definition und Debugging kundenspezifischer CAN-Nachrichten, Debugging des CAN-Treibers, Debugging des Systems mit Hilfe von CAN-Nachrichten).
  • Hardware: i.MX 6 Prozessor (ARM-7-Architektur), Ethernet, RS-232, Beaglebone, USB-Gadget.
  • Werkzeuge: Doors, Yocto, Jenkins, Jira, System-V-Init, Gcc, Git, Subversion (svn), make, u-boot, chroot.
  • Programmiersprachen: C, C++, Python, Shell, bash, zsh, sh, u-boot-Skripte.

05/2017 - 07/2018
Sabbatical


03/2013 - 04/2017
GNU-Toolchainentwicklung (Compiler Gcc, Glibc)
IBM Deutschland (Internet und Informationstechnologie)

  • Erweiterung im GNU-Compiler (Gcc) in diversen Sprachen (C, C++, Fortran, Go, Ada): Unterstützung transaktionalen Speichers für S/390 und System/z in Gcc und Glibc, Performanceuntersuchung, Unterstützung für neue Cpu-Instruktionen, Portierung der Unterstützung der Sprache Go für S/390 und System/z im Gcc und Glibc.
  • Umsetzung von Compilerfeatures für neue Prozessorinstruktionen.
  • Debuggen unerwarteten Compiler- und Linkerverhaltens in den unterstützten Sprachen mit den einschlägigen ELF-Werkzeugen; Analyse von Linkerskripten, ELF-Binärdateien, Linker-Sections usw.
  • Hardware: z10, z196, zEC12, z13
  • Werkzeuge: Gcc, Gdb, Glibc, Git, Subversion (svn), make, Perftools für S/390 und System/z, DejaGNU, ELF-Tools, Linker, Gold.
  • Programmiersprachen: C, C++, Go, Assembler (S/390, System/z), Fortran, Ada.

10/2012 - 01/2013
Machbarkeitsstudie Cachetests
Bosch (Automotive) (Automobil und Fahrzeugbau)

  • Untersuchungen zur Testbarkeit sämtlicher Caches eines Cortex-A9 Mehrkernprozessors von Arm: Level 1 und Level 2 Caches (Instruktionen und Daten), Level 1 und Level 2 Translation Lookaside Buffers (Instruktionen und Daten), Branchprediction, Returnstack-Cache und andere.
  • Entwurf und prototypische Implementierung softwarebasierter Verfahren zum Test der Caches nach den Anforderungen von ASIL-B. Implementation eines March-C-Minus-Tests.
  • Entwicklung auf Basis eines Geräts mit dem Zynq-7000 Mikroprozessor von Xilinx unter Verwendung der Arm-Entwicklungsumgebung mit dem Lauterbach-Debugger.
  • Werkzeuge: rvct (Arm-Compiler), trace32, Lauterbach-Debugger, make, git, Cygwin
  • Programmiersprachen: C, Assembler (Arm 7).

07/2011 - 01/2013
Mikrocontrollerprogrammierung für Stereokamera
Bosch (Automotive) (Automobil und Fahrzeugbau)

  • • Entwicklung von Firmware (MCAL; Microcontroller-Abstaction-Layer) und Gerätetreibern für den Mi crocontroller Zynq-7000 mit einem Cortex-A9-Prozessor von Arm in den Sprachen C und Assembler.
  • Inbetriebnahme und Test verschiedener Boards.
  • Architektur, Entwurf, Implementierung, Test und Dokumentation von Programmkomponenten für Plattformlösungen mit dem Zynq-7000 nach MISRA und ASIL-B.
  • Arm-Entwicklungsumgebung mit Lauterbach-Debugger.
  • Treiber für folgende Hardware: Dual-Core-Cortex-A9 einschließlich Scu, Timern, Clocks, Plls und Exceptionbehandlung, Interruptcontroller, Quad-Spi-Controller von Xilinx, Uarts von Cadence, Quad-Spi-Flashes von Spansion (FL128S, FL256S, FL129P) und Numonyx, Caches, Corelink-Dma-Controller (Arm), Mio-Setup, Ddr-Setup (Ram), I2c-Controller von Cadence, TI Tmp431 Temperatursensor.
  • Werkzeuge: rvct (Arm-Compiler), trace32, Lauterbach-Debugger, make, git, Mks, Qac (statische Quellkodeanalyse), Cygwin, Oszilloskop
  • Programmiersprachen: C, Assembler (Arm 7), C++, Perl, Shellskripte.

07/2010 - 07/2011
Softwareentwicklung für ein Flugleitsystem
Thales ATM (Luftfahrt) (Transport und Logistik)

  • Softwareentwicklung in einem großen Projekt für ein Flugleitsystem in C++ auf Linuxplattformen für die Deutsche Flugsicherung als Endkunden.
  • Entwurf, Implementierung, Test und Wartung von Programmkomponenten für i386 unter Linux (Redhat, Centos) nach ESARR 6.
  • Protokolle und Bibliotheken: Ldap, OpenLdap, Snmp v2c, Snmp v3, agent++, snmp++.
  • Werkzeuge: g++, gcc, gdb, ddd, make, git, Clearcase, Insure++, Valgrind, Purify, Eclipse, DOORS, CodeCollaborator, OpenLdap.

10/1998 - 06/2010
fvwm (f? virtual window manager) - Open Source Fenstermanager für X
(Sonstiges)

  • Seit Ende 1998 ehrenamtlich Mitarbeit am Open Source Projekt fvwm, einem insbesondere in der Linux Welt bekannten Fenstermanager für X11. Seit langem bin ich federführend für die Weiterentwicklung des Programmkerns und einiger Module zuständig. Außerdem obliegt mir die meiste Zeit das Projekt- und Releasemanagement sowie die Wartung. Des weiteren arbeite ich als Vertreter des fvwm im WM-SPEC Gremium mit, das sich um eine Standardisierung der Kommunikation zwischen Fenstermanager und Desktopumgebungen wie KDE oder Gnome bemüht. Auf Fehlerberichte reagiert das fvwm Team oft innerhalb weniger Stunden (siehe Mailinglistenarchive auf http://fvwm.org).
  • Werkzeuge: C, lexx/yacc, Unix, X11 (Xlib), make, GNU Autotools (autoconf, automake), valgrind (Memory Checker)

02/2005 - 08/2009
VoIP Softwareentwicklung (Internettelefonie)
IBM Deutschland (Telekommunikation)

  • • In einem typischen Softwaregroßprojekt der Telco-Branche entwickelte ich C++ Komponenten für die "Internet Service Plattform" der Telekom im Bereich VoIP (Internettelefonie) für AIX- und Linux-Zielsysteme.
  • Leitung eines Entwicklerteams.
  • Entwurf, Implementierung, Test und Dokumentation objektorientierter Software in C++ für PowerPC (AIX) und i386 (Linux), unter anderem in den Feldern Session Initiation Protocol (SIP), Session Description Protocol (SDP), Accounting (Radius, Diameter), Gateway-Ansteuerung (Media Gateway Control Protocol, MGCP), Voice over IP (VoIP), Quality of Service für Sprachdaten (RTP, RTSP), Sprachcodecs, Steuerung von Ansageservern und Serverprogrammierung; Implementierung, Wartung und Test eines SNMP-Agenten mit libnetsnmp.
  • Entwurf und Implementierung von Teilen der Software nach gesetzlichen Vorgaben und staatlichen Sicherheitsbestimmungen.
  • Entwurf, Umsetzung und Installation von Softwareprototypen für eine Demoumgebung.
  • Werkzeuge: C++, Unix (Linux; AIX 4.2, 4.3, 5.3), Imake, scons, CVS, GIT, Clearquest, Perl, Shell, Beam, IBM DB5, Postgres, ODBC, Net-SNMP

06/2007 - 11/2007
Wartung bestehender Software
Elektronikhändler und -versand (Sonstiges)

  • Hilfe beim Debugging bestehender C- und 4GL-Programme, die auf die Informix-Datenbank zugreifen.
  • Neuimplementierung, Test, Dokumentation und Inbetriebnahme eines C-Programms mit eingebettetem 4GL-Kode. Parallelisierung mehrerer Programminstanzen mit Hilfe von Unix-System-Calls.
  • Werkzeuge: C, Unix (HP-UX), Informix-Datenbank und 4GL (SQLite-ähnlicher Datenbankzugriff in C), Shell, SSH

10/2004 - 06/2006
Fachartikelreihe (Softwaresicherheit)
Linux Magazin (Internet und Informationstechnologie)

  • Unter dem Titel "Sicheres Programmieren für Administratoren" verfasse ich seit 2004 in loser Folge eine Artikelserie über typische Fehler und Gefahren, die beim Programmieren in C, C++, Shellskripten und Perl lauern und Stabilität und Sicherheit des Systems bedrohen. Parallel zu den Artikeln entwickle ich die freie Softwarebibliothek Gateguardian, die Code anbietet, um die Probleme zu umschiffen.
  • Teil 1: Gefahren aus der Programmumgebung, beispielsweise Signale oder Umgebungsvariablen (Linux Magazin 02/05, S. 54).
  • Teil 2: Risiken im Umgang mit Dateien und Dateisystemen (Ausgabe 04/05, S. 64).
  • Teil 3: Eingabekontrollfehler (Ausgabe 07/05, S. 62).
  • Teil 4: Eingabekontrollfehler 2 (Ausgabe 10/05, S. 54).
  • Teil 5: Unsichere Programmausgaben (Ausgabe 01/06, S. 64).
  • Teil 6: Sicherheitslücken im Ridentd (Ausgabe 05/06).
  • Gateguardian-Projekt auf Sourceforge (www.sourceforge.net/projects/gateguardian).

10/2004 - 01/2005
Qualitätssicherung, Performanceanalyser, Design und Test von embedded Software, Entwicklerbetreuung
Siemens Austria (Automobil und Fahrzeugbau)

  • Im Umfeld des Projekts Deutsche LKW-Maut / Toll Collect war ich an der Entwicklung und Qualitätssicherung der sogenannten "On Board Units" auf Basis eines ARM 7 Prozessors beteiligt.
  • Unterstützung einer Gruppe ungarischer Entwickler bei Test, Design, Implementation und Qualitätssicherung der objektorientierten Software (C++).
  • Entwicklung von Modultests in C++ für Teile der Gerätesoftware in enger Zusammenarbeit mit den Entwicklern.
  • Code-Reviews, statische Analyse, Performanceanalysen.
  • Beheben von Fehlern in der Gerätesoftware in Zusammenarbeit mit internen und externen Entwicklern und Beratern.
  • Verbesserung des Entwicklungsprozesses.
  • Werkzeuge: C++, Unix (Linux), Windows 2000, pSOS+, make, Purify, PC-Lint, Clearcase, Clearquest, ARM 7 Prozessor

07/2002 - 06/2004
Unix Systementwicklung
Namhafte Firma im Bereich Webhosting (Internet und Informationstechnologie)

  • Ich war für eine große Firma im Bereich Webhosting als Unix-Systementwickler tätig und insbesondere für den Linux Kern und andere verwendete Open Source Software zuständig. An einigen der freien Softwarepakete mußten für interne Zwecke Veränderungen vorgenommen werden, seien es Reparaturen von Programmfehlern, Performance- verbesserungen oder Erweiterungen der Funktionalität.
  • Objektorientierte Entwicklung eines verteilten Datenbanksystems mit der Berkley DB und C++ sowie eines hochperformanten Datencaches für einen Nameserver (Bind)
  • Objektorientiertes Design (OOAD, UML Diagramme) der Programme zur Abrechnung der für Kunden erbrachten Leistungen (Billing)
  • Standardisierung und Beschleunigung des abteilungsinternen Software-Projektmanagements mit den GNU Autotools und selbstentwickelten Projektrümpfen
  • Anpassung des Linux Kerns für hausinterne Zwecke
  • Post Mortem Analyse von Abstürzen des Linux Kerns auf der Serverfarm mittels "Crashdumps". Beheben der Fehler in Zusammenarbeit mit Linux Entwicklern wie Alan Cox und Marcelo Tosatti
  • Erweiterung der Open Source Projekte OpenGFS (verteiltes Dateisystem), OpenDLM (IBM Lock Manager), Linux-HA (Linux High Availability System, heartbeat Dämon), keepalived (anderer heartbeat Dämon), Linux Test Project, Bind
  • Performanceanalyse der Kundenserver
  • Überprüfung der Sicherheit kritischer Komponenten und Serversysteme (Software Audits)
  • Werkzeuge: C++, C, OOAD, UML, Shell, Unix (Linux), Linux Kern, Linux Kernel Coding Conventions, Versionskontrolle CVS, GNU autotools (automake, autoconf, libtool), GNU Coding Standards, OpenGFS (verteiltes Dateisystem), Berkley DB, MySQL, SQLite, Clustering, valgrind (Memory Checker)

01/2001 - 06/2002
IT-Leiter
LifeBits AG (Sonstiges)

  • Software- und Algorithmenentwicklung für ein Meßgerät für medizinische Tests und Genanalyse, Systemadministration Aufgaben : Für die LifeBits AG Tübingen war ich seit kurz nach der Firmengründung als Leiter der IT Abteilung (vier Personen) tätig. Ein Schwerpunkt war die Entwicklung der Algorithmen und der Software für das geplante Produkt. Das Gerät sollte medizinische Tests und Genanalysen auf Grundlage handelsüblicher Compact Discs durchfürhren. In meinem Verantwortungsbereich lag dabei die Entwicklung der Software für das Gerät und der Entwurf der Compact Disc Algorithmen. Eines der entwickelten Verfahren wurde zum Patent angemeldet (EPA, Patent Nr. 02791480.3-2204, "Datenträger für chemische oder biochemische Analysen")
  • Entwicklung von Algorithmen und Software zur Analyse und gezielte Manipulation der Strukturen der Compact Disc in Zusammenarbeit mit den Labors für Biotechnik, Physik und Elektrotechnik
  • Design der firmeninternen C/C++ Standardbibliothek für Unix/Windows Portierung, Dateiformate und Datenauswertung
  • Einführung und Organisation der Softwareentwicklungsumgebung mit Standardwerkzeugen mit Schwerpunkt Portierbarkeit (Versionskontrolle CVS, Übersetzer gcc, g++, Makefiles, automake, autoconf)
  • Management von Teilprojekten im Kontext der wissenschaftlichen Arbeit und der Produktentwicklung
  • Aufbau und Administration der IT Infrastruktur
  • Planung des IT Sicherheitskonzepts
  • Administration der Firmenserver (Versionskontrolle CVS, DHCP Server, FTP Server, Web Server (Apache), Mailserver (Postfix), DNS, NIS, Datensicherung usw.)
  • Administration der Arbeitsplatzrechner (Mac OS9, Linux, Windows)
  • Administration der Telekommunikationsstruktur (Router, FAX Server)
  • Werkzeuge: C, C++, Shell, CD-ROM, Unix (Linux), Windows (3.11, 98, NT, 2000), Mac OS9, Webserver (Apache), LAN (Ethernet), Mailserver (Postfix), CVS, Router, DNS, NIS, SSH

05/1998 - 12/2000
Remote Management Card - Firmwareentwicklung für eine PCI Steckkarte zur Fernwartung von Servern in Intel-Architektur
Meßgerätehersteller (Sonstiges)

  • Firmwareentwicklung in enger Zusammenarbeit mit den Hardwareingenieuren für eine Remote-Management-Steckkarte mit weinem RTOS (pSOS+) auf einer Windows-NT-basierten Plattform.
  • ISO9000 zertifizierter Entwicklungsprozeß (Design, Implementierung und Test der Firmware).
  • Entwicklung: Modemsteuerung; Treiber für Multiplexing der seriellen Schnittstelle; XML Parser; Parsergenerator für die Kartenschnittstelle (Perl, XML) und der seriellen Schnittstellen
  • Entwicklung Emulation der Kartenhardware zwecks Vereinfachung von Test und Entwicklung auf Unix (Linux)
  • Entwicklung SNMP-Agent
  • Design, Umsetzung und Pflege der Makefiles
  • Entwurf und Implementierung von Testfällen für die große Teile der Firmware (z.T. nach der Methode der mehrfachen Bedingungsüberdeckung bzw. C3 Überdeckung)
  • Softwareinspektionen
  • Design der Debug Schnittstellen
  • Werkzeuge: pSOS+, ARM Prozessor, Windows NT, Unix (HP-UX, Linux), C, Perl, make, UML, XML, Clearcase, PCLint (statisches Analysewerkzeug), Net-SNMP

01/1997 - 04/1998
Systemadministration, Hardwarekoordinator
IBM Deutschland (Internet und Informationstechnologie)

  • Systemadministration und Hardwarebeschaffung (RS/6000, AIX) zuständig.
  • Planung des Hardwarebedarfs und Beschaffung.
  • Hard- und Softwareinstallation der Maschinen.
  • Aufbau eines Software-Testraumes und eines Serverraumes.
  • Administration der Abteilungsserver (AIX).
  • Administration der Arbeitsplatzrechner (AIX und OS/2) und Betreuung der Benutzer.
  • Administration einer RS/6000 SP2 (massiver Parallelrechner) für den Entwicklungsbereich.
  • Werkzeuge: Unix (AIX 3.1, 4.1, 4.2, 4.3), RS/6000, RS/6000SP2, SP2 Switch Netzwerk, Shell, NFS, Kerberos, TFTP, BOOTP, smit/smitty (Systemverwaltungstool), NIS

01/1997 - 04/1998
Entwicklung von Komponenten für Intelligent Miner (Data Mining Software)
IBM Deutschland (Internet und Informationstechnologie)

  • Komponentenentwicklung für den Intelligent Miner - eine Data Mining Software.
  • Entwicklung eines Datenbank Caches für DB2 in C++ und embedded SQL.
  • Testen der Software anderer Subteams (u.a. mittels Shellskripten).
  • Restrukturieren der Makefiles zwecks Dependency-Tracking (Imake).
  • Werkzeuge: Unix (AIX), C++, DB2, DB2 PE, Embedded SQL, OS/2, make, Imake, Shell, CMVC (IBM Projektmanagement Werkzeug)

01/1996 - 06/1996
Entwicklung der Firmware für ein optisches Meßgerät (OTDR)
Meßgerätehersteller (Sonstiges)

  • Firmwareentwicklung für eines optisches Meßgerät (Optical Time Domain Refractometer) mit einem RTOS (pSOS+).
  • System Management Task (Hardwareverwaltung)
  • Druckertreiber und -layout
  • Oberflächengestaltung
  • Performanceoptimierung
  • Werkzeuge: RTOS (pSOS+), embedded Systems, Unix (HP-UX), C++, Assembler 80x86

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
Profilbild von Dominik Vogt Softwareentwickler aus Remchingen Softwareentwickler
Registrieren