
Hello! I'm Jürgen
Here, you can find details about my professional career as computer scientist and my personal interests.
About Me
Since 2002, I have served as a software engineer for enterprise companies, where I have been recognized
for developing innovative and robust products for globally deployed software and systems.
Over the years I have mainly worked on embedded systems, all from driver programming up to application layer systems.
I am also personally interested in all kinds of scientific, philosophical and technical innovations.
Following the scientific community in questions around AI/ML and their applications in cancer and longevity research is really exciting.
Sports is also on my agenda as compensation and I play Tennis, do weight training and endurance sports like jogging and rowing.
I am also a somewhat passionate chess player, so if you dare to challenge me for some blitz games -> lichess
Me and my family live in the beautiful south of Germany where we can see the Alps on sunshine days 🙂
Professional Experience
Senior Software Engineer for 5G
- Embedded software development for CPlane in C++17
- Member of software performance team
- Driving functional designs & concepts
- Working under the agile manifesto
Software Engineer for LTE/4G
- Embedded software development for CPlane in C++11/14
- Tool & library evaluations
- Testcase implementation in TTCN3
- Working under the agile manifesto
Software Freelancer
- Research of quantitative trading on financial markets
- Implementing tools & trading algorithms in C++Java/Kotlin
Software Engineer for automotive
- Embedded software development for car telematics
- Representative for provisioning module for BMW
- Working under the agile manifesto
Student software developer
- Study of the automotive AUTOSAR abstraction layer for microcontrollers
- Design, implementation and test of software for hardware components of a 32-bit RISC microcontroller
- Documentation creation of entire work progress
Student trainee in mobile electronics division
- Study of bus communications on CAN for valves
- Hardware programming in Ass/C
- Technical communicator between USA and Germany divisions
Application Programmer
- Database design and programming on SQL-Server
- Support in creating the backbone for a webshop
- C++ Client programming with MS-MFC for an ERP
- BIOS patching on commercial motherboards
Skills
Below is a brief overview of the topics for which I have professional experience,
as well as gained knowledge through personal interest and study.
Theory & Paradigms
- Algorithms & complexity, with special focus on sequences
- Functional paradigms: functors, applicatives, monads & transformers, reactive streams, tag-less final
- Usual OOP knowledge like the ‘Gang of Four’
- Personal interest: Category Theory(up to Yoneda Lemma so far), Differentiable programming
AI & ML
- Methods: Deep and Reinforcement Learning, random forests, data normalization, hyperparameter tuning
- Tools: R, Tensorflow, Weka
- Python: NumPy, Pandas, Scikit
- Personal interest: Open-endedness, Quantum machine learning
C++
This is the language where I have the most professional experience.
- Standards: C++98, C++11, C++14, C++17
- OOP & functional design patterns
- Template metaprogramming in C++11 & C++14
- Boost
- Reactive programming & streams
- Functors & monads
- STL study & usage
- Applications in embedded environments where time and space are constrained
- Toolchains: VS, gcc, clang
Languages
Since I know formal languages and parser theory, all languages are the ‘same’.
Below is just the list of languages which I worked with the most.
- C/C++, Asm
- JVM: Java, Kotlin(with special focus on Arrow), Scala
- Python
- Haskell, which is, amongst others, of huge help for C++ metatemplate programming
Tools & Environments
Below is a non-exhaustive list of tools and OS, which I have been working with in the past.
- OS: Linux, Windows, QNX
- Enterprise tools: DOORS, Jira/Confluence, Yammer, Windows Office Suite
- Dev tools: Git, Gerrit, SVN, Perforce, Eclipse, CLion, VSCode, IDEA, Vim, LaTex, LLVM tools, Make
Cmake, Ninja, Maven, Gradle, gcc, gdb, clang, Valgrind
Education
Dipl.-Inf. (German, equals Computer Scientist)
Intermediate Diploma in Computer Science
Apprenticeship as IT-Specialist for software and application development
Intermediate Diploma in Educational Sciences
Served for the “Arbeiterwohlfahrt” in Giengen.
Abitur(German, High School Diploma)