About

Hey and welcome 👋 I’m Ferdi, 30 years old, based in Karlsruhe, Germany and passionate about anything related to computers, software, technology and science. I love to write efficient and well-architectured code to automate task and solve real-world problems and I’m a big fan of open-source.

I got into tech back when starting my studies on information engineering and management at Karlsruhe Institute of Technology in 2012 and sought to improve my skills and knowledge ever since. After a couple of internships and student jobs (at Inovex, ArtiMinds and Volkswagen Group of America) and after my graduation as a M.Sc. in 2020, I worked as a professional software- / data engineer and project lead at Frachtwerk and Orbio.

On the technical side, I did full-stack web (primarily Java / Spring, TypeScript), geo-spatial (GIS) data engineering (mainly Python, PostGIS, etc.), as well as sysadmin and DevOps tasks (using TerraForm, Ansible & Co.).

In Feb 2023, I went back to KIT and started my PhD on the topics of autonomous driving at the chair of Prof. Zöllner on Applied Technical-Cognitive Systems, Institute of Applied Informatics and Formal Description Methods. Check out my LinkedIn for more …

Besides, I’m passionately working on a couple of open-source projects and founded server.camp with two friends. In my time off, I enjoy running, biking and snowboarding (when there is snow in Germany…) and I love to cook!

But first and foremost, I continuously seek to improve, acquire new skills and get into new topics, because I think people should never stop learning!

Project Wishlist

As someone who loves coding, I have an almost endless list of small and bigger projects that I’d like to work on some day. Of course, I will never get to actually finishing that list (especially as it grows faster than I can tick things off). But the following are some high level project ideas, problems or fields I’d love to be working on at some point.

  • Large scale energy monitoring- / management: As mentioned before, I’m quite excited about energy informatics and had a lot of fun building my own electricity monitoring setup. I’d love to take this onto another level and work on a project in the context of industrial IoT, smart grids or the like - with thousands of metering devices connected, complex decision- and management logic involved, sophisticated data processing, etc.
  • Real-world GIS use cases: Another field that got me hooked is geoinformatics. I got to dive into GIS topics during my time at Orbio and even though I quit my job with them in favor of my PhD, I’d love to get another chance to be working on geodata processing projects on a large scale some time. There is incredibly great software tooling out there and I’d love to take it for a spin.
  • Game servers and low-latency networking: This is even a totally different topic, but nevertheless super appealing to me. I’d love to have a real-world use case to implement a game server / backend at some point. I love reading blog posts where engineers come up with very specific, low-level optimizations to compute- or networking code (e.g. here and here at Riot, here at Dropbox or here and here in the context of databases). Writing a game server, in my fantasy, requires a lot of such optimizations that squeeze out efficiency, so it seems very interesting to me.
  • Lanelet to OpenDRIVE conversion: This is very specific and I’m not even sure if it’s a problem possible to be solved. However, while working in autonomous driving, I realized the very specific, yet almost ubiquitous need for beeing able to convert HD maps from the simple Lanelet format to the much richer and more expressive OpenDRIVE standard. Vice-vesa is easy, but even though a lot of people have tried, to my knowledge, nobody yet managed to solve this “conversion” problem. There are good reasons for that. But still: if somebody paid me for it, I’d love to give it a try - or at least deep-dive into it to be sure that it’s impossible (with reasonable effort).

Skills

In the following, I have put together a (non-comprehensive) list of technologies that I am experienced with (some more and some less), each with a rating between 1 and 5, defined as follows:

  • 1 = Basic experience. Have worked with it less than 5 years ago for more than ~ 1 week. Remember fundamentals, but couldn’t start a project without substantial research for getting up to speed again.
  • 2 = Substatiated experience. Have realized a (small) project with it less than 5 years ago. Can read and understand code and am confident to realize simple features using it.
  • 3 = Profound experience. Work with it almost on a day to day basis. Could realize a project from scratch with confidence. Can well explain even non-trivial aspects.
  • 4 = Expert-like experience. Have worked with it intesively for more than 5 years on a continuous basis. Know what’s “under the hood” for the most parts.
  • 5 = Could have written a book on it (or did so).

Languages

Python (4), Go (4), Java (3), JavaScript (3), SQL (3), Bash (2), Scala (1)

Web- & Mobile Development

Spring Boot (3), Django (3), VueJS (3), FastAPI (2), Android (2), Flask (1), Svelte (1), Flutter (1)

Databases

RDMBS (MySQL, Postgres, SQLite, …) (3), PostGIS (2), Hibernate (2), MongoDB (1), CouchDB (1), Redis (1)

DevOps, Sysadmin & Tooling

Docker (4), Caddy (4), Linux (3), Ansible (3), Prometheus (3), Grafana (3), ROS (2), Terraform (1)

Machine Learning

Graph Neural Networks (GNN) (3), PyTorch Geometric (3), Scikit-Learn (3), PyTorch (2), Convolutional Neural Networks (CNN) (1)