
Mahmud Ridwan
Go Developer
Mahmud is a software developer with a knack for efficiency, scalability, and stable solutions. With years of experience working with a wide range of technologies, he is still interested in exploring, encountering, and solving new and exciting programming problems.
Portfolio
Availability
Preferred Environment
Linux, Go, MongoDB, Redis, RabbitMQ, Node.js, Python
The most amazing...
...app I've built is a programming contest platform with Linux Namespaces and a Cgroups-based sandbox for user code execution, both of which are built with Go.
Work Experience
Integration Developer
Deliveroo (via Toptal)
- Designed and implemented state machine-based data pipelines.
- Implemented and maintained custom integrations with Go.
- Reviewed and refined integration developer documentation.
- Facilitated team stand-ups and refinement sessions.
Lead Editor for Engineering Blog
Toptal
- Helped others author rich technical content for the Toptal Engineering Blog and Toptal Resources.
- Developed Battlescripts - a bot-vs-bot Battleships web game.
- Developed Hopper - a prototype deployment automation tool.
- Developed Arteegee - a simple implementation of the popular game Connect Four over WebRTC.
Software Engineer
Mukto Software
- Developed a Django application for the medical wing of a large organization's resource management solution.
- Built a programming contest platform in Node.js. Implemented a ptrace-based Sandbox service.
- Built a PHP/Yii-based web user interface for a Java application.
- Built several Go microservices for an external project.
Full-stack Developer
Mainsocial (via Toptal)
- Created several services in a micro-architecture fashion.
- Built an authentication service with single-sign-on capabilities.
- Constructed a central service for storing sports statistics, with revision history and reversion support.
- Developed a fantasy sports web game involving baseball.
- Created a real-time fantasy sports game involving ice hockey.
Researcher
Computer Vision and Cybernetics Group
- Prototyped machine learning algorithms using MATLAB.
- Implemented and benchmarked a number of offline signature verification algorithms.
- Implemented efficient object detection, recognition, and path finding algorithms.
- Implemented a tool for doing binary sentiment analysis on tweets.
- Implemented a semi-supervised algorithm for document classification.
Web Developer
Freelance Clients
- Built an obfuscated URL Google App Engine and Python web app.
- Created a poetry kit-like Google App Engine and Python web app for product title generation.
- Developed a product details webpage scraper in C# featuring automated translation from non-English websites.
- Implemented PayPal and eBay integration for product sales monitoring in a Google App Engine and Python application.
- Built auction management and planning software in Google App Engine and Python.
Experience
Toph—A Competitive Programming Platform
https://toph.coBy May 2021, Toph already had 30,000 users, processed 700,000 submissions, and hosted 400+ programming contests, most of which were organized by 50+ academic institutions collaborating with Toph.
Redsync — A Redis-based Distributed Lock
https://github.com/go-redsync/redsyncThe locking algorithm is safer than using a single instance of Redis.
Brdgd — P2P File Transfer using WebRTC
https://github.com/hjr265/brdgdDots — DNS Lookup Tools
https://github.com/hjr265/dotsCodeMarshal
https://codemarshal.comScanlib
https://github.com/FurqanSoftware/scanlibThis is useful in validating input files while designing programming challenges for competitive programming contests.
Arturia | Sandbox for Linux Processes
I wrote about Linux namespaces on the Toptal Engineering Blog: https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces.

Predicting Likes: Inside A Simple Recommendation Engine's Algorithms

Going Real-Time with Redis Pub/Sub

Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces

Top 8 Most Common Mistakes That Backbone.js Developers Make

Taming WebRTC with PeerJS: Making a Simple P2P Web Game

Simplified NGINX Load Balancing with Loadcat

Deploy Web Applications Automatically Using GitHub Webhooks

Introducing Battlescripts: Bots, Ships, Mayhem!

The Top 10 Most Common Mistakes That Node.js Developers Make
Skills
Languages
JavaScript, CoffeeScript, Go, Python, PHP, Bash, SQL, C, C++, TypeScript, Java, Assembly, C#, CSS, HTML, HTML5
Frameworks
Express.js, Laravel, Django, AngularJS, Bootstrap
Libraries/APIs
Node.js, React, Underscore.js, WebRTC, jQuery, REST APIs
Paradigms
REST, Test-driven Development (TDD), Concurrent Programming, MapReduce, Model View Controller (MVC)
Platforms
Firebase, Google App Engine, WordPress, Linux, Heroku, Docker, AWS Lambda, Amazon Web Services (AWS), Iron.io
Storage
MongoDB, Redis, PostgreSQL, MySQL, Memcached, NoSQL, Amazon S3 (AWS S3)
Other
Front-end Development, Distributed Systems, Writing & Editing, APIs, Machine Learning, Namespaces, Prometheus, Software, PeerJS, DNS, Integration, Compilers, Code Generators, Parsers, Networking, PSD to HTML, RPC, Message Queues, Back-end, Front-end, Serverless
Tools
Git, RabbitMQ, Grafana, MATLAB, Mercurial, NGINX, Cgroups, Terraform, AWS Step Functions
Education
Bachelor's Degree in Computer Science
North South University - Dhaka, Bangladesh