I am a German citizen living in Munich, currently working as a Software Engineer at Lyft, specializing in backend development and machine learning. I have been working on creating Python and GraphQL based internal tools, I've improved debugging processes for ETA and routing issues by 72%.

Before Lyft, I worked as a Junior Data Scientist at Lidl, where I leveraged advanced NLP and image recognition techniques to optimize product similarity detection, reducing search times by 30%.

I hold a Master’s degree in Computer Science from Freie Universität Berlin (GPA 1.4), with expertise in machine learning, Python, Flask, and SQL. I also learned frontend (JavaScript, jQuery) by myself during study and work.

In my spare time, I continue to sharpen my skills through Coursera certifications in different fields like frontend and machine learning.

2024

Strongly connected component and Tarjan Algorithm
How Tarjan Algorithm efficiently finds strongly connected components (SCCs) in directed graphs using DFS.
Adjacency Array
Ajacency array, a space-efficient graph representation best suited for static graphs.

2021

Union-Find Problems in Leetcode
A summary of union-find problems in Leetcode.
Heap related problems in Leetcode
A summary of heap related problems in Leetcode.

2020

Linked List Problems in Leetcode
A summary of linked list problems in Leetcode.

2019

Two-pointer in Leetcode Problems
A powerful method for solving string, array, linked list related problems in leetcode.

2018

Importance sampling
A general technique for estimating properties of a particular distribution, while only having samples generated from a different distribution.
Rejection sampling
A technique to generate observations from a distribution.
Classical Multidimensional Scaling
A method used to translate pairwise distances of n objects into n points in Cartesian space. (pic from wiki)