About

About

As a professional software developer and the founder and CTO of nexiles, a dynamic software development and consulting firm, I’ve devoted my career to technology and innovation.


In my position at nexiles, my responsibilities span research & development, mentoring a talented group of software developers, and providing them with ongoing support. I also play an active role in enhancing the features of nexiles’ primary products.

My current interests are centered on exploring loosely-coupled systems, delving into event-driven design, and tackling challenges in integration and data migration.

At nexiles, I’ve positioned myself as a pioneer. I have initiated all of the core products that the company proudly offers today. For several of these innovations, I continue to be the principal contributor and driving force.

In a nutshell: At nexiles, I lead R&D, mentor developers, and innovate core products, focusing on event-driven and loosely-coupled systems.


My journey with computers began at an early age. I started with a VIC 20, transitioned through C64, Amiga 500, Amiga 2000, and eventually to PCs.

During my applied computer science studies, I embraced Linux and completed my diploma thesis at a Frankfurt-based company specializing in banking transaction software for UNIX systems. This experience introduced me to the vi editor (not vim) and the world of terminal-based computing, which has influenced my preference for modal editing. Now, I primarily use EMACS, augmented with EVIL, and whenever I explore a new IDE, my first task is finding a vim mode or plugin.

My professional career began by developing add-ons for a 3D CAD system in C, compatible across various platforms including Solaris, HP UX, AIX, Linux, SGI/Irix, and Windows/NT. The challenge of maintaining a singular codebase across these systems was immense.

I then delved into Linux kernel development for the ARM architecture, starting with the StrongARM SOC and later the XScale. My role spanned from board bring-up and hardware debugging to creating custom drivers and development libraries for high-speed measurement hardware. This period involved intense problem-solving, real-time driver creation, and adapting older, static memory layout codes to new platforms. It was a period of tremendous growth and learning.

Concurrently, I co-founded InQuant and later nexiles. My time at InQuant was marked by a shift to full-time web development, focusing on Zope and Plone systems. It was here that I discovered my love for Python. Our projects included developing and hosting back-end systems for Warner Music Germany’s artist pages. This era also introduced me to the principles of Test Driven Development.

At nexiles, I leveraged advanced programming languages and was actively involved in UI development with tools like coffeescript and backbone.js in the corporate world.

Corporate life often means navigating outdated technologies and mindsets, but it also presents unique challenges and learning opportunities.

I’ve come full circle, developing back-end add-ons for a PLM System managing CAD data. Yet, I haven’t forgotten my roots. I’ve been using Jython to streamline Java/Tomcat/Apache/Oracle complexities and am creating a lean, efficient JSON web API to enhance functionality.


Management Skills

While I consider myself primarily as geek, developer, technologist, hacker, I’ve picked up some management skills. I’ve been managing a team of software developers, both as project lead / project manager and lately increasingly as mentor.

I’m known to have quite strong opinions on some areas and I like discussions. I value input from all levels.

As part of my project management work, I’ve been involved in and lead several mission critical projects in a diverse corporate / enterprise setup.

Tech Skills

My Mantra: Make it work, make it correct, make it fast. In that order.

  • Nowadays I’ve embraced the Java ecosystem for it’s stability. I’ve been using Spring to develop several solutions and products.
  • As a data persistence layer I’ve been using PostgreSQL.
  • For messaging and enterprise integration, I’ve become quite fond of RabbitMQ
  • For UI, I’ve initially introduced the use of ExtJS, which has now been replaced by VueJS.
  • I’m used to do automated builds and deployments using various systems. Nowadays I use GitHub actions.
  • I’ve been hosting servers both on premises and in the cloud. Nowadays we use Kubernetes on the Google Cloud.
  • I’m fluent in Python.
  • I’m very interested in the Erlang Ecosystem and the Elixir language. I very much like the Syntax and the Lisp-like meta programming features in Elixir.
  • I’ve been using mostly UNIX or BSD derived OS, used maintained systems running on various Linux variants.
  • I’ve been using Macs for development since the original PowerBook Titanium G4.
  • I’ve been using several version control systems. Currently I use git since the Linux kernel development team moved to git from bitkeeper.