I am a Backend Software Engineer with strong Computer Science knowledge looking for a new remote role.
I am particularly good with Algorithms and Data Structures, having competed in ICPC twice.
Please look at my highlighted projects below.
Check out my LinkedIn Profile for more information.
I have professional experience in Systems Programming with Modern C++.
Please refer to my LinkedIn Profile
for detailed information.
[Systems Programming] Remote File Synchronization in Rust
rsync
algorithm implementation from Andrew Tridgell's Ph.D. thesis.
- Data Structures and Algorithms - Rolling Hash.
- Extensive Testing - Unit, End to End, Property-based.
- Continuous Integration - GitHub Actions.
- Benchmarking and Data Analysis.
[Backend Development] Email Newsletter in Rust
Cloud-native, fault-tolerant Email newsletter built in Rust.
- Asynchronous Programming.
- Databases - PostgreSQL and Redis.
- Docker - Image Size and Build Speed optimization.
- Continuous Integration and Deployment (CI/CD) - GitHub Actions and Fly.io.
- Telemetry, Observability and Instrumentation.
- Zero-Downtime Deployment.
- actix-web, sqlx, tokio, tracing, config, secrecy.
Simple line-oriented TCP Proxy written in Rust.
- Networking Protocols.
- Asynchronous Programming.
- Multi-threaded Programming.
- serde, tokio.
rsync
algorithm implementation, now in C++.
This is a data structure commonly used for Strings in Competitive Programming that I saw fit to our application at work. It performed much better than our previous solution. More information is found on the repository.
This is an old University Assignment on Concurrency. Multiple cars go through shared sections of a road.
My first work experience was through Freelancing. I am Top Rated Plus on Upwork, with 100% Job Success Score and 5-star feedback. I have also trained a client for "Big Tech" coding interviews, including problem-solving techniques, specific algorithms and data structures, and interview preparation.
I have regularly practiced Competitive Programming for mostly two years.
I am currently rated "Expert", with 1729 rating, and more than 1400 problems solved.
I have also been a nationals finalist for ICPC twice, the two times I have participated.
My first self-learning experience was with Online Courses. Top-tier universities provide quality courses for free, on platforms such as edX, Coursera and MIT OCW . They also usually come with an "audit" option, where you can go over the courses resources (sometimes even the exams!) but without the Certificate of Completion. That was what I did, as the certificates were too expensive at the time.
Courses that I've audited, in no particular order:
- Learning How to Learn: Powerful mental tools to help you master tough subjects
- Mindshift: Break Through Obstacles to Learning and Discover Your Hidden Potential
- Computer Science: Programming with a Purpose
- Computer Science: Algorithms, Theory, and Machines
- Princeton's Algorithms, Part I
- MIT OCW Gilbert Strang's Linear Algebra
- Introduction to Computer Science and Programming Using Python
- Introduction to Computational Thinking and Data Science
- Probability - The Science of Uncertainty and Data
Honorable mentions to:
- Fundamentals of Statistics, which I've attempted to go through when pursuing Data Science and ML, but it was way too hard for me at the time, haha
- Introduction to Algorithms MIT's Playlist on Youtube, which I've watched a good amount because of Competitive Programming, but didn't attempt any exam or exercise.