My research is to make data analysis algorithms better and faster.
In particular, I am interested in:
- cluster analysis
- outlier detection
- indexing for similarity search
- text mining
Most of my research is available as open-source, e.g., in the ELKI data mining toolkit and the kmedoids Rust crate and its Python wrapper "kmedoids" available on pypi/pip and conda-forge.
In academia, you are expected to continuously apply for better positions and move on - that is the only way to advance your career. But I am not set on staying in academia. I would like to have more time for programming, and less administrative work, and universities cannot offer such positions.
I am good at:
- programming since 1989 in dozens of languages (Java, Python, Rust, Perl, ...)
- helping and teaching others resolve issues and speed up their code
- teaching machine learning at a university level
- improving algorithms
- architecting Java projects with 200.000+ lines of code
- optimization and refactoring (my Java refactoring work were even analyzed in scientific studies)
- Python, Rust: experienced enough to publish the packages mentioned above and to contribute fixes to scikit-learn
- automating with scripts (shell and Python, a long time ago in Perl)
- Linux system administration (I am a member of the Debian Linux project, although not very active right now at package maintainance)
You can contact me if you have a competitive offer (no junior positions), with the following constraints:
- software development and research are my favorite, educational roles are fine (but I'd prefer less administrative work)
- Germany, open for relocation to central and well-connected cities such as Munich or Hannover, Zürich, Luxembourg would also be okay, but moving to the US or UK is currently not an option because of family reasons. Remote is not my favorite, I am more productive at the office, but a possibility.
- no more sales or consulting positions, I am interested in a senior developer or senior researcher position