15.11.2024 aktualisiert


100 % verfügbar
Softwareentwickler
Remchingen, Deutschland
Deutschland +2
Diplom Mathematik, Informatik, Hochbegabtinfo: Deutschland, Österreich, Schweiz
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
Betriebssysteme
Programmiersprachen
Datenbanken
Datenkommunikation
Produkte, Standards, Erfahrungen
Erfahrungen im Bereich
Methoden
Standards
Entwicklungswerkzeuge
Spezialkenntnisse
Branchen
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
- Soft- und Hardwareentwicklungsdienstleistungen.
- 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)
- 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).