Skip to content
View mdacach's full-sized avatar
Block or Report

Block or report mdacach

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mdacach/README.md

Introduction

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.

Sections

Professional Experience

I have professional experience in Systems Programming with Modern C++.
Please refer to my LinkedIn Profile for detailed information.

Projects

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.

Freelancing

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.

Competitive Programming

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.

Online Courses

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:

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.

Pinned Loading

  1. newsletter newsletter Public

    Email Newsletter featured in "Zero To Production In Rust"

    Rust

  2. rsync_rust rsync_rust Public

    Implementation of Andrew Tridgell's rsync algorithm for learning purposes.

    Rust