15.11.2024 aktualisiert

**** ******** ****
100 % verfügbar

Softwareentwickler

Remchingen, Deutschland
Deutschland +2
info: Deutschland, Österreich, Schweiz
Diplom Mathematik, Informatik, Hochbegabt
Remchingen, Deutschland
Deutschland +2
info: Deutschland, Österreich, Schweiz
Diplom Mathematik, Informatik, Hochbegabt

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
  • ArmV7-Architektur (Cortex-A9 Cpu, Cortex M7 (STM32H7, i.MX-RT 1175, Kinetis), Cortex-M4 (Freescale i.MX 6))
    AD-Wandler
  • Caches
  • CAN2.0, CAN FD
  • Ddr-Ram
  • Dma
  • EEPROM
  • 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, uCos, 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 (CAN2.0, CAN FD, PCAN-Adapter)
  • 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
  • Crossworks for ARM
  • 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
  • Sonar
  • Splint
  • STL
  • Subversion
  • Jenkins
  • 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
  • Solar
  • Telekommunikation (Telco)
  • Luftfahrt
  • Raumfahrt
  • Schienenverkehr
  • Biotechnologie / Medizintechnik
  • Webhosting / Internet Service Provider
  • Open Source

 

Sprachen

DeutschMutterspracheEnglischverhandlungssicher

Projekthistorie

Gründer und Mitgeschäftsführer

Davosit GmbH

Internet und Informationstechnologie

< 10 Mitarbeiter

  • Soft- und Hardwareentwicklungsdienstleistungen.

Diverse Open-Source-Projekte

Sonstiges

  • 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)

Embedded-Entwicklung (Wechselrichter für Solarfelder)

SMA Solar Technology

Energie, Wasser und Umwelt

1000-5000 Mitarbeiter

  • Implementieren, Debuggen und Testen hardwarenaher Treiber in C++ für Geräte auf Basis von ARM-Prozessoren (M7, M4; Imxrt-1175, Kinetis) in hoher Eigenverantwortung, mit Realtime-Betriebssystem uCos (RTOS) und ohne Betriebssystem (für höchste Performance).
  • Ansteuern verschiedener Sensoren und Speichermedien über SPI und I2C: Temperatursensoren, AD-Wandler, EEPROM, Flash.
  • Implementieren zuverlässiger CAN-Kommunikation zwischen Geräten mit sehr hoher Datenrate und kleiner Mcu: Datenerfassung von einem über SPI angebundenen Sensor mit 60 KHz auf einem Prozessor mit 160 MHz.
  • Erweiterung eines bestehenden CAN2.0-Treibers um Funktionalität für CAN FD.
  • Regelmäßige Reviews des Kodes zur Qualitätskontrolle, Einsatz statischer Kodechecker.
  • Protokolle und Standards: CAN-Bus (CAN2.0, CAN FD), Single Peripheral Interface (SPI), I2C, UART (RS232).
  • Werkzeuge: Gcc, Git, Github, Jira, Shell, Crossworks for ARM, Sonar, Clang-Tidy
  • Programmiersprachen: C++ (und C).

Netzwerkzugangskontrolle und Firewall

Deutsche Bahn (Schienenverkehr)

Transport und Logistik

>10.000 Mitarbeiter

  • 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.

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).

Projektstudie Cloudcomputing (Automatisierung)

Internet und Informationstechnologie

  • 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++.

Galileo Satellitennavigation

Thales Alenia Space (Raumfahrt)

Transport und Logistik

5000-10.000 Mitarbeiter

  • 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.

Embedded-Linux-Sicherheitskonzept eines Steuergerätes für Campingwagen

Hardwarezulieferer (Automotive)

Automobil und Fahrzeugbau

50-250 Mitarbeiter

  • 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.

Sabbatical

GNU-Toolchainentwicklung (Compiler Gcc, Glibc)

IBM Deutschland

Internet und Informationstechnologie

>10.000 Mitarbeiter

  • 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.

Machbarkeitsstudie Cachetests

Bosch (Automotive)

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

  • 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).

Mikrocontrollerprogrammierung für Stereokamera

Bosch (Automotive)

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

  • • 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.

Softwareentwicklung für ein Flugleitsystem

Thales ATM (Luftfahrt)

Transport und Logistik

5000-10.000 Mitarbeiter

  • 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.

fvwm (f? virtual window manager) - Open Source Fenstermanager für X

Open Source

Sonstiges

10-50 Mitarbeiter

  • 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)

VoIP Softwareentwicklung (Internettelefonie)

IBM Deutschland

Telekommunikation

>10.000 Mitarbeiter

  • 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

Wartung bestehender Software

Elektronikhändler und -versand

Konsumgüter und Handel

50-250 Mitarbeiter

  • 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

Fachartikelreihe (Softwaresicherheit)

Linux Magazin

Medien und Verlage

50-250 Mitarbeiter

  • 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).

Qualitätssicherung, Performanceanalyser, Design und Test von embedded Software, Entwicklerbetreuung

Siemens Austria

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

  • 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

Unix Systementwicklung

Namhafte Firma im Bereich Webhosting

Internet und Informationstechnologie

250-500 Mitarbeiter

  • 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)

IT-Leiter

LifeBits AG

Pharma und Medizintechnik

10-50 Mitarbeiter

  • 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

Remote Management Card - Firmwareentwicklung für eine PCI Steckkarte zur Fernwartung von Servern in Intel-Architektur

Meßgerätehersteller

Internet und Informationstechnologie

>10.000 Mitarbeiter

  • 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

Systemadministration, Hardwarekoordinator

IBM Deutschland

Internet und Informationstechnologie

>10.000 Mitarbeiter

  • 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

Entwicklung von Komponenten für Intelligent Miner (Data Mining Software)

IBM Deutschland

Internet und Informationstechnologie

>10.000 Mitarbeiter

  • 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)

Entwicklung der Firmware für ein optisches Meßgerät (OTDR)

Meßgerätehersteller

Internet und Informationstechnologie

>10.000 Mitarbeiter

  • 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

Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden