About Me

I am a freelance software developer and architect the field of real-time, distributed and embedded systems. I have 18+ years of experience with embedded Linux both in user- and kernel space.

Prior engagements include leading a team of experienced embedded software developers and Platform Management Kistler Instrumente AG in Switzerland, a Post-doc at KU Leuven, and several years of freelancing as an U-Boot and Linux Kernel developer and trainer (often in cooperation with DENX Software Engineering).

I hold a PhD in Robotics from the KU Leuven, Belgium and a Dipl.-Inf (FH) degree from the University of Applied Sciences in Konstanz, Germany. My PhD thesis was on the topic of domain specific languages for constructing complex and reusable robot systems that can operate under hard real-time constraints. If anyone is interested, my thesis can be found here.

Working with me

I am a down to earth developer who has experience in working with local and internationally distributed teams. I can blend in as a developer or take over a leadership role. When in the lead, I firmly believe that critical but constructive reviews and discussions among developers are crucial to consistently produce high quality technological decisions, code and architecture, so I try to get the relevant people involved.

While I enjoy working in a team I have also successfully completed many projects working solo.

Languages skills are German and English (natively) and Portuguese (professional proficiency).

Development

Typical engagements usually involve some of the following topics.

Training

Most of the above topics are introduced and discussed in a very hands-on 3 day training for ramping up developers to the topic of embedded Linux. Get in touch if you are interested.

Platform Management

I have experience in building up and leading international development teams as a Platform and Project Manager, including practical experience in building “corporate development communities” and setting up the associated processes. Though currently not my primary focus, I can provide consulting in this area.

Software

I have written and contributed to various Open Source projects. I firmly believe that upstreaming patches also in time constrained projects pays off due to the maintenance effort saved in the long run and the quality assurance gained by reviews. The following are a few examples:

Developer and maintainer of microblx, a lightweight, yet powerful framework for building control or signal processing applications.

rFSM statecharts: a minimal and extensible Statecharts formalism developed as part of my PhD.

Contributions to SWUpdate: upstreamed ubi volume rename support, hwid regexp matching.

Various contribution to Das U-Boot (maintainer of the USB subsystem until 2009).

Several years ago I developed the mini_fo overlay filesystem, which was one of (or perhaps even the) first Linux overlay filesystem(s) for my thesis at DENX Software Engineering. Mini_fo was used in a number of products and projects (e.g. OpenWRT), but has meanwhile been superseded by overlayfs.