Mir Shahriar Sabuj, Developer in Dhaka, Dhaka Division, Bangladesh
Mir is currently unavailable

Mir Shahriar Sabuj

Bio

Mir is a self-driven professional and an engaged lifelong learner with seven years of experience in software engineering. He is keen on working with Go, MySQL, Redis, and Kubernetes. He has experience in developing scalable and reliable microservices. Mir maintains a clean code architecture and believes in the importance of testing to deliver the best functional solutions.

Portfolio

Klikit
Go, Kubernetes, Microservices, MySQL, Redis, REST APIs, APIs
Mattermost
Kubernetes, Go, MySQL, APIs

Experience

  • Kubernetes - 7 years
  • Go - 7 years
  • Microservices - 7 years
  • Back-end - 7 years
  • REST APIs - 6 years
  • MySQL - 4 years
  • Redis - 3 years
  • Hexagonal Architecture - 2 years

Preferred Environment

Go, Microservices, REST APIs, Redis, Pub/Sub, Hexagonal Architecture, SQL, HTTP REST, Kubernetes, Docker

The most amazing...

...thing I've done as a developer is improving microservices performance with Kubernetes and Go.

Work Experience

Back-end Developer (Go)

2024 - PRESENT
Casap Technologies, Inc.
  • Designed and developed a questionnaire system for the banking industry, aiding customer agents in identifying valid reasons for disputes and enhancing the efficiency and accuracy of dispute resolution processes.
  • Achieved 100% test coverage in crucial system parts, ensuring higher code quality and robustness. This enhancement supports reliable and effective software, improving system performance and customer satisfaction.
  • Cleaned up backlog tasks by actively developing them, ensuring timely completion and enhancing overall project efficiency.
Technologies: Go, APIs

Staff Software Engineer

2023 - PRESENT
Klikit
  • Led a team of engineers to integrate food delivery services like Uber Eats and Food Panda into our platform, ensuring seamless and uniform order management for enhanced operational efficiency and user experience.
  • Designed and developed a bill calculation service for Klikit that processes cart items and calculates bills considering promos, discounts, and VAT, ensuring protection against fraud.
  • Developed a promo code binding service for offering flat and percentage discounts to users in their orders based on various factors. Each promotional code may be linked to new users, frequent users, or a cohort.
  • Created a reservation management solution that allows users to reserve a table in advance. Each reservation request takes into account available tables and time slots at the chosen restaurant.
  • Integrated the Wolt Drive API with Klikit, allowing restaurant managers to customize their menu and manage orders.
Technologies: Go, Kubernetes, Microservices, MySQL, Redis, REST APIs, APIs

Software Development Engineer II

2022 - 2023
Mattermost
  • Improved Mattermost Cloud service to support installing its back-end services in EKS with the Native API.
  • Refactored multiple CLIs, making them more efficient and user-friendly.
  • Enhanced unit testing and E2E testing in multiple services.
Technologies: Kubernetes, Go, MySQL, APIs

Senior Software Engineer

2020 - 2022
Pathao
  • Developed a supply service for finding the best match for a ride or food delivery request. This service improved latency by more than 60% and reduced data inconsistency.
  • Built a dynamic pricing ecosystem that improves the user experience by calculating fares based on supply and demand counts, among other features.
  • Designed and developed a platform for real-time communication that lets two people chat from the client application.
  • Designed the architecture and implemented a campaign management service to set up a multiphase campaign with several actions.
Technologies: Back-end, Clean Code, Distributed Systems, Elasticsearch, Go, Event-driven Architecture, Google Cloud Platform (GCP), Hexagonal Architecture, InfluxDB, MySQL, Redis, Pub/Sub, SQL, Test-driven Development (TDD), RabbitMQ, HTTP REST, REST APIs, Prometheus, Grafana, NGINX, Microservices, Kubernetes, PostgreSQL, MongoDB, StatsD, Git, Git Flow, Google Kubernetes Engine (GKE), Bash Script, JSON Web Tokens (JWT), CI/CD Pipelines, Architecture, Software Design, Leadership, Back-end Development, Swagger, APIs

Software Engineer

2018 - 2020
Pathao
  • Refactored a monolith solution into microservices to increase performance and save infrastructure expenses.
  • Developed numerous tools to facilitate logging, monitoring, and alerting, which replaced the enterprise solution and resulted in cost savings.
  • Built a command-line interface (CLI) to expose Kubernetes services through Nginx. This CLI assisted developers in exposing services that facilitated HTTPS, GRPC, and WebSocket.
  • Implemented the Kong service as a gateway and added several Lua-written custom plugins.
  • Introduced and ensured deployment best practices for application in Kubernetes.
  • Performed debugging on a number of different microservices to find the line of code that was making responses take too long.
Technologies: Go, Kubernetes, Docker, REST APIs, Microservices, Clean Code, Back-end, HTTP REST, Prometheus, Grafana, NGINX, Distributed Systems, SQL, Google Cloud Platform (GCP), StatsD, Command-line Interface (CLI), Git, Google Kubernetes Engine (GKE), Bash Script, DevOps, CI/CD Pipelines, Software Design, Amazon Web Services (AWS), Back-end Development, APIs

Software Engineer

2015 - 2018
AppsCode
  • Developed a Kubernetes native database management solution that facilitates provision, upgrade, scaling, volume expansion, monitor, backup, and restore.
  • Created a monitoring tool that periodically runs various checks on a Kubernetes cluster and its nodes or pods.
  • Worked with Kubernetes validation and mutation webhooks in addition to the custom controller.
  • Gained hands-on experience with command-line interface (CLI) development and collaborated closely with the product manager.
  • Transformed the concept into a successful product and released it as an open-source project.
Technologies: Go, Kubernetes, Docker, gRPC, Microservices, Algorithms, Clean Code, Google Cloud Platform (GCP), Back-end, Linux, REST APIs, HTTP REST, Command-line Interface (CLI), Git, Bash Script, DevOps, Startups, Cryptography, Amazon Web Services (AWS), Back-end Development, APIs

Experience

Supply Service

The supply service's responsibility is to find the best candidate to fulfill a request for a ride, food delivery, or any other service. In the initial version, this service saved all data in Elasticsearch, resulting in discrepancies and delayed search results when there was a high volume of requests. After that, we concluded that the architecture needed to be altered. Hence, we added Redis for caching, Elasticsearch for location pings, and MySQL for metadata about the drivers.

I oversaw the team in developing the new features and enhancing performance.

The supply service can now manage almost twice as much traffic as before. The new architecture makes it much easier to incorporate new features, such as preferred destination, advance dispatch, and area slotting, into an existing system.

Dynamic Fare

Pathao is a ride-sharing platform, so reasonable pricing is essential to a good user experience on the platform. Initially, Pathao utilized a base fare with an adjustable charge. The shifting supply and demand curve did not affect the pricing.

I began working on this project to find a solution to the problem. I came up with a statistical model. Among other aspects, supply and demand statistics are used to calculate the surge fare. It gathers supporting information from events and stores it in InfluxDB for aggregation. In this project, the fare is calculated, and polygons are created for the client application.

This solution raises the total acceptance rate while simultaneously reducing the percentage of system cancellations by 15%. Additionally, it gives driver applications a dynamic pricing representation.

KubeDB

https://kubedb.com/
The number of organizations using Kubernetes continued to rise. On the other hand, database management within Kubernetes proved to be exceedingly challenging. Managing a database requires several responsibilities, including provisioning, scalability, backups, and more. As of 2016, there was no commercially available solution for managing database operations within Kubernetes.

We then developed the KubeDB concept. KubeDB is a CRD controller that streamlines the process of provisioning various databases within Kubernetes. It simplifies and automates routine database tasks such as provisioning, patching, backup, recovery, failure detection, and repair for different popular databases.

KubeDB provides many familiar database engines, including PostgreSQL, MySQL, MongoDB, Elasticsearch, Redis, and Memcached.

In-app Chat Platform

Continuous communication is critical in ridesharing and food delivery. Before this project, clients communicated primarily through cell phone calls, which was expensive and time-consuming. This process, in some cases, increased user cancellation. The In-App chat platform enables clients to communicate frequently and seamlessly. It also makes the confirmation process faster by using pre-set messages. This service supports sharing audio clips, which boosts the user experience.

We have used WebSocket and intend to switch to gRPC. We store historical data in GCS for future reference.

Searchlight | Alerts for Kubernetes

Users running production workloads in Kubernetes will likely want to be notified if something goes wrong. Icinga2 performs periodic checks on a Kubernetes cluster and sends alerts if it detects a problem. It also complements Whitebox monitoring tools such as Prometheus with Blackbox monitoring, which can detect problems that are otherwise undetectable and serves as a backup if the internal systems fail. Searchlight is a Kubernetes CRD controller based on Icinga that addresses these issues. This service is capable of notifying users via email, SMS, or chat and managing acknowledgments.

Education

2010 - 2015

Bachelor's Degree in Computer Science

Khulna University of Engineering and Technology - Khulna, Bangladesh

Skills

Libraries/APIs

REST APIs

Tools

RabbitMQ, Grafana, Git, Google Kubernetes Engine (GKE), NGINX

Languages

Go, SQL, Bash Script, Python

Paradigms

Microservices, Event-driven Architecture, Test-driven Development (TDD), Clean Code, DevOps

Frameworks

gRPC, JSON Web Tokens (JWT), Swagger

Platforms

Kubernetes, Docker, Linux, Google Cloud Platform (GCP), Amazon Web Services (AWS)

Storage

MySQL, Redis, Elasticsearch, InfluxDB, PostgreSQL, MongoDB

Other

Back-end, HTTP REST, Back-end Development, APIs, Pub/Sub, Algorithms, Data Structures, Hexagonal Architecture, Distributed Systems, Prometheus, Command-line Interface (CLI), Git Flow, Architecture, Software Design, Startups, WebSockets, StatsD, CI/CD Pipelines, Leadership, Cryptography

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