Marsel Mavletkulov¶
I find professional satisfaction in building reliable services, writing documentation and clear Go code. I would like to learn more about systems performance.
Based in Montreal, QC, Canada. I’ve been working remotely for a decade.
Work Experience¶
Site Reliability Engineer at fintech startup Coins.ph 🚀 February 2021 — December 2022 Software Architect August 2017 — September 2020 Senior Software Engineer July 2014 — August 2017
built a wallet service (Django, PostgreSQL) which helped the company grow from thousands to over 15 millions of customers;
designed a new ledger (Go, PostgreSQL, Kafka) to solve scalability issues and led the team focused on its delivery;
ran an architecture guild meetings, gave talks about architecture, Kafka, LSM storages, PostgreSQL, scalability of web services, SaltStack;
set up CI, and infrastructure based on SaltStack which helped to quickly provision dozens of EC2 instances to cope with exponential growth;
introduced ELK, Prometheus, Jaeger to help developers with troubleshooting;
decoupled and redesigned the core services from Flask monolith to scale them independently, e.g., currency quotes service, account management service (sign up/in, TFA);
helped with Go adoption (no ORM, web or testing frameworks): common project structure leveraging Go kit components (JSON/gRPC transports, telemetry, rate limiter, circuit breaker);
improved code quality, architecture and advocated for both (conventions/proposals gardening similar to Go proposals);
as a first remote developer helped to scale the engineering team which ended up working remotely;
fostered an engineering culture of service ownership;
been on-call to provide a quick incident response;
To try something different I joined infrastructure team as an SRE
added horizontal/vertical pod autoscaling for 17 services which increased overall resiliency, helped to handle x2 traffic, reduced infrastructure costs by 20%;
rewrote parts of 5 Django/Celery core services in Go to reduce memory (tens of gigabytes) and CPU consumption in Kubernetes cluster, see gopher-celery;
improved internal tooling, e.g., wrote a Terraform plugin to rotate PostgreSQL roles, implemented observability tool for Celery queues in Go, a dynamic service configuration based on AWS SSM, EventBridge, Kafka;
introduced continuous profiling and reconstructed a BPF agent for fun;
investigated and resolved API latency outliers, e.g., AWS SDK latency due to STS requests going to the global endpoint, and misconfigured SNS retry policy;
Python Developer contractor at icon fonts generator Fontastic (Webalys) 🤌 January 2014 — July 2014
improved project monetization with SVG sprite hosting and billing, e.g., implemented recurring PayPal payments, usage limits of font hosting, coroutine based AWS S3 and CloudFront log analyzer);
introduced infrastructure as code (Ansible) to limit human errors;
refactored and documented backend (Django, PostgreSQL) reducing tech debt;
Python Developer at cloud-based file upload SaaS Uploadcare 🆙 November 2012 — August 2013
integrated Stripe so that the company could start generating revenue;
developed customer dashboards (Django, PostgreSQL);
improved API client pyuploadcare (mass refactoring, documentation, Python3 support, first major release);
Python Developer at concert organization startup FanGid.com 🤟 July 2012 — October 2012
launched the project in 3 months (two developers) and it started to sell tickets;
developed the following Django components: social auth, voting system, concert’s pages, singer’s profile page, displaying similar bands, email sending, monetization (tickets, orders, discounts, payments);
🎓¶
In 2005 I enrolled in Samara State Aerospace University, then in 2007 relocated and continued the curriculum at Ufa State Aviation Technical University, graduating in 2012 with Master’s degree in Computer Science.