Mahmud Ridwan, Developer in Dhaka, Dhaka Division, Bangladesh
Mahmud is available for hire
Hire Mahmud

Mahmud Ridwan

Verified Expert  in Engineering

Bio

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

Cruise
Go, Incident Management, Terraform, Kubernetes, Helm...
Deliveroo
Go, Integration, PostgreSQL, Terraform, Redis, Amazon S3 (AWS S3)...
Toptal
WebRTC, Go, Node.js, Software, Linux, Redis, Writing & Editing

Experience

Availability

Part-time

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

Back-end Engineer

2023 - 2023
Cruise
  • Built integrations between incident management and site reliability tools.
  • Designed and implemented an event audit framework using Go.
  • Implemented data synchronization pipelines using Go on Google Cloud Dataflow.
  • Designed dashboards using Looker and Looker Studio.
  • Worked on infrastructure using Terraform and Helm.
  • Configured CI/CD to automate and optimize deployment.
Technologies: Go, Incident Management, Terraform, Kubernetes, Helm, Google Cloud Platform (GCP), Cloud Dataflow, Google BigQuery, Looker, Looker Studio, Buildkite, REST, FireHydrant

Integration Developer

2021 - 2022
Deliveroo
  • 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.
Technologies: Go, Integration, PostgreSQL, Terraform, Redis, Amazon S3 (AWS S3), AWS Step Functions, AWS Lambda, Amazon Web Services (AWS), APIs, Back-end

Lead Editor for Engineering Blog

2015 - 2021
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.
Technologies: WebRTC, Go, Node.js, Software, Linux, Redis, Writing & Editing

Software Engineer

2012 - 2015
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.
Technologies: Python, Go, PostgreSQL, Node.js, REST APIs

Full-stack Developer

2014 - 2014
Mainsocial
  • 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.
Technologies: Firebase, AngularJS, Underscore.js, CoffeeScript, Express.js, MongoDB, Node.js, Serverless

Researcher

2012 - 2014
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.
Technologies: Python, MATLAB

Web Developer

2010 - 2013
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.
Technologies: Google App Engine, JavaScript, Python, C#, jQuery, CSS, PSD to HTML, APIs, HTML, HTML5

Toph—A Competitive Programming Platform

https://toph.co
I built Toph with Go, MongoDB, Redis, RabbitMQ, and S3-like object storage. The platform was built with scalability and resilience in mind. The code submitted by users is processed in a custom-built sandbox and in Go that uses Linux namespaces and cgroups to isolate the process and limit resources.

By 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/redsync
Redsync provides a Redis-based distributed mutual exclusion lock implementation for Go, as described in the following post: https://redis.io/topics/distlock.

The locking algorithm is safer than using a single instance of Redis.

Brdgd — P2P File Transfer using WebRTC

https://github.com/hjr265/brdgd
Brdgd, pronounced "bridged," is a straightforward P2P file transfer web app. It depends on PeerJS to manage the P2P connections. The web app, in rare cases, uses a turn server to relay the connection in cases where the peers cannot reach each other due to certain obvious reasons.

Dots — DNS Lookup Tools

https://github.com/hjr265/dots
Dots is a networking utility web application built with Node.js. It supports DNS (A, AAAA, CNAME, MX, among others), rDNS, WHOIS, and geolocation lookups on domains and IP addresses. It uses my WHOIS package for Node.js.

CodeMarshal

CodeMarshal is a programming contest hosting platform. It was built on Node.js and Python. The platform successfully hosted the preliminary mock, preliminary, and semi-live contests of the ACM ICPC 2013 Dhaka Regional.

Scanlib

https://github.com/FurqanSoftware/scanlib
Scanlib is a meta parser than can be used to validate text files. Scanlib is also able to emit C++, Go, and Python code that can read contents of similarly structured text files into variables.

This is useful in validating input files while designing programming challenges for competitive programming contests.

Arturia | Sandbox for Linux Processes

Arturia is a sandbox software and process orchestrator for Linux. It uses Linux namespaces, cgroups, and seccomp BPF to isolate resources from untrusted processes.

I wrote about Linux namespaces on the Toptal Engineering Blog: https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces.
2008 - 2012

Bachelor's Degree in Computer Science

North South University - Dhaka, Bangladesh

Libraries/APIs

Node.js, React, Underscore.js, WebRTC, jQuery, REST APIs

Tools

Git, RabbitMQ, Grafana, MATLAB, Mercurial, NGINX, Cgroups, Terraform, AWS Step Functions, Helm, Cloud Dataflow, Looker

Languages

JavaScript, CoffeeScript, Go, Python, PHP, Bash, SQL, C, C++, TypeScript, Java, Assembly, C#, CSS, HTML, HTML5

Frameworks

Express.js, Laravel, Django, AngularJS, Bootstrap

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, Kubernetes, Google Cloud Platform (GCP), Buildkite, FireHydrant

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, Incident Management, Google BigQuery, Looker Studio

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring