Résumé
Hi, I'm Christoph - a software engineer from Berlin. My professional programming background is mostly defined by the JVM eco-system, but I had the chance to work in more performance-critical areas with Rust in the recent years.
I consider myself a programming language enthusiast, however, I prefer languages with a static type system.
If you have further questions reach out to me on LinkedIn. I try to answer messages on a regular basis.
Technical Skills
Query Engines, Distributed Systems, Linux, AWS, Kubernetes, Docker, GitHub Actions, etc.
Programming Languages | Experience (years) |
---|---|
Rust |
5 |
JVM (Java,Kotlin) |
10 |
C# |
3 |
Python |
4 |
C /C++ |
2 |
JavaScript |
2 |
Erlang |
0.5 |
Professional Experience
Some notable tasks and achievements of my career:
Senior Software Engineer @ Coralogix
Jan 2023 - present
- Dataprime Query Engine
I joined Coralogix's query engine team in January 2023. Since then, I worked on a highly scalable, distributed query engine that processes very large amounts of semi-structured obersvability data (logs, spans, traces) and serves results to thousands of customers on a global scale. The engine was written in Rust and built upon Apache Arrow, DataFusion, and Ballista. A major milestone was to fully replace expensive elasticsearch clusters at much lower costs. - Operations
To handle backward incompatibilities and enhance the stability of rolling deployments, I introduced inter-node versioning.
I also played an active role in my team's on-call rotation.
Working Student / Senior Software Engineer @ SAP Signavio
Aug 2018 - Jul 2020 - Jan 2023
- Process Mining Service
I started at Signavio while still doing my Masters in 2018. I was part of the team that built a legacy Java-based query engine for process mining. The main focus was to improve the product's reponsiveness, its overall performance and achieve better scalability. However, our goals where mostly limited by the architecture and the technologies we were using. - Signal Process Mining Query Engine
In 2019 we started prototyping a new engine ground-up and showed that we have the capabilities to build a database engine that exhibits much better performance for typical process mining workloads. Afterwards, we designed and built a novel in-memory query engine for high performance data analytics and special optimizations for process mining data. Thereby, we created a new SQL-like query language, Signal, with some twists for business process analytics.
The engine was implemented in Rust for its memory safety guarantees and very good hardware utilization. Moreover, for cache-efficient memory access we used the columnar data model of Apache Arrow. After two years, the legacy engine was made obsolete and the new engine widely adopted by customers. - Leading Technical Initiatives
I was leading the development lifecycles of technical improvements and new language features, such as UNION, window functions etc.. A new initiative was typically kicked-off with a concept phase which involved research, prototyping, and feasibility and risk assessments. Proceeding with a planning phase where the team discussed scope, complexity, risks, and mapped out dependencies to other teams. Finally, I supported the development as the responsible person and managed stakeholder requests. - Team and Operations
I continuously contributed to improvements of software development practices, team processes, and took on operational responsibility via regular on-call duty.
Software Engineer / Working Student @ OPTIMAL SYSTEMS
Sep 2013 - Aug 2018
- Backend Service Development
I built several Java backend services using the Spring Boot stack within the organization's micro-service landscape. I became one of the main contributors of the REST API service. - Project Development
I implemented custom services independently or in close cooperation with customers and partners. This included consulting services, communication, and presentation of results. - Microservice Infrastructure
I contributed to the development and enhancement of the internal micro-service infrastructure, built libraries and backend services, and helped to design core practices and principles for their development. - DropTarget DSL
I was responsible for maintaining a custom scripting DSL (DropTargets) to conduct little data import or update procedures. The language was based on Apache Jelly. - Training
I helped founding a new remote working team outside of Germany by interviewing potential hires, providing on-site trainings and consulting. - Operations
I contributed to on-going improvements of software development and CI/CD within my team.
App Developer @ emotion touch GmbH
Jan 2013 - Aug 2013
- Windows Client Apps
I mostly developed custom WPF and Windows Store apps using .NET technologies for clients.
Apprentice @ DRV Bund
Sep 2010 - Aug 2013
- Virtual IT Company
Founding and managing a virtual company together with a small group of peers over the course of the entire program. We applied for fictional and real internal software projects with solution concepts and cost estimations to build competitive products. In this setting we competed against virtual companies managed by other students. Within our peer group we won the most projects and have been the most successful team overall. The projects were mostly realized in Java and .Net. - Multi-touch App
Together with some peers, I developed a multi-touch app for the Microsoft Surface 1 which was used to interactively inform about the apprenticeship at IT fairs and create attention to potential new talents. - Tutoring
Teaching more junior students the basics ofC#
and WPF.
Education
Computer Science (M.Sc.) @ Technische UniversitÀt Berlin
Apr 2017 - Oct 2021
- Focus area: In-memory databases on modern hardware
- Thesis: Modeling Memory Contention on GPUs
Applied Computer Science (B.Sc.) @ Hochschule fĂŒr Technik und Wirtschaft Berlin
Apr 2014 - Mar 2017
- Semester abroad (2016): Auckland University of Technology, New Zealand
Specialized Computer Scientist in Software Development @ Oberstufenzentrum Informations- und Medizintechnik
Sep 2010 -- Aug 2013
Abitur @ Werner-Seelenbinder-Schule
2009
- Advanced focus: mathematics, sports (volleyball)
Projects
WikiPlag (2016)
Platform to analyse scientific papers for plagiarism based on Wikipedia articles. For the plagiarism detection we used an n-grams approach and a tf-idf algorithm on an Apache Spark and MongoDB cluster. GitHub project