Sina Shariati

Software Engineer
Enschede, Netherlands

image

Backend Software Engineer with nearly 4 years of hands‑on experience designing, developing, and optimizing scalable backend services and distributed systems in production environments. Strong background in Golang, microservices, and cloud‑native architectures, with real‑world experience running high‑throughput systems at scale in the ride‑hailing domain. Proven track record of improving latency, reliability, CI/CD efficiency, and security posture through clean architecture, performance optimization, and DevSecOps practices. Technically driven, detail‑oriented engineer who thrives in collaborative teams and continuously invests in deepening systems and infrastructure expertise.


Work Experiences

Software Engineer

Snapp! Cab | May 2021 - January 2026

Snapp! Cab is Iran’s first and largest ride‑hailing platform, handling 5M+ rides per day. As a software engineer on the Offering Team, I worked on the design, development, and optimization of core algorithms and services that efficiently match passenger requests with suitable drivers at scale. Key contributions include:

  • Developed a driver preferences management service in Go, migrating key features from a legacy PHP service to reduce request latency by ~120 ms and increase test coverage by ~35%.
  • Refactored and optimized a production backend service, owning system and API design, applying Clean Architecture, and tuning a Redis-architecutre PostgreSQL caching mechansim to achieve ~95% database load reduction and ~30–70 ms latency improvement .
  • Contributed to early‑stage migration of the core ride‑matching engine from a rule‑based system to an AI‑based approach , collaborating with the AI team during initial design and testing phases.
  • Integrated DevSecOps practices into existing CI/CD pipelines, automating security checks to reduce reported weekly security vulnerabilities by ~99%.
  • Re‑architected and optimized CI/CD pipelines, reducing pipeline execution time by ~2×.
  • Provided technical onboarding for two new engineers across the backend stack, accelerating ramp‑up on service architecture, workflows, and shared codebases.

skills: Golang, Go, Kubernetes, OpenShift, Docker, Helm, REST APIs, gRPC, Protobuf, Kafka, RabbitMQ, Prometheus, Grafana, Nginx

Golang Software Engineer (Internship)

Bale | January 2021 - April 2021

Bale messenger is a messaging and banking solution company in Tehran/Iran. I attended their golang backend developer trainee program at Bahman 1400, and was able to finish their on-boarding process twice faster than anticipated and was awarded as one of their prime trainees and was able to join their production team. In bale, I work alongside a talented team to further enhance the stability and performance of our microservice architecture. I have hands-on experience working with:

  • Golang and it's concurrency patterns
  • Git for versioning
  • gRPC and Protobuf as our main RPC framework
  • Docker for containerization and Kubernetes for container orchestration
  • Load testing and Stress testing and its tools such as: k6
  • Envoy being implemented as a sidecar and gateway proxy and rate limitter

skills: Golang, Kubernetes, Helm, Docker, Envoy, Grafana, K6(load testing), Prometheus

Projects

Sencillo: a simple K8S scheduling framework

Open Source: Browse Codes

Sencillo is a scheduling framework designed to streamline scheduler development in Kubernetes environments. With Sencillo, developers can focus on developing decision-making algorithms. The framework handles connecting to the API server, managing pod creation events, and managing cluster resources. Notable features include:

  • Support for Various Cluster Types: The framework supports only-cloud, only-edge and cloud-assisted edge clusters.
  • Multi-Algorithm Support: Supports multiple scheduling algorithms in a single codebase with a dynamic algorithm selection mechanism configurable through Kubernetes ConfigMaps
  • Accurate Cluster State Tracking: Continuously monitors and maintains an up-to-date view of CPU and memory availability across all nodes.
  • Kubernetes Integration: Seamlessly integrates with Kubernetes clusters for smooth deployment and management.
  • Modular Architecture: Easily extend and customize scheduling logic thanks to a clean and modular codebase.

KubeDSM: Migration‑Based Kubernetes Scheduler for Edge Clusters

Open Source: Browse Codes
PDF: Arxiv

Research Project (FGCS journal submission) | AUT Cloud Lab

KubeDSM is a research Kubernetes scheduler designed to reduce resource fragmentation in cloud‑assisted edge clusters by leveraging pod migration techniques. The project focuses on improving resource utilization and scheduling efficiency under heterogeneous and resource‑constrained edge environments. My key contributions in this project includes

  • Contributed to the development and integration of KubeDSM alongside the core research team, supporting scheduling and migration‑related components
  • Designed and owned the entire evaluation framework of the project, from infrastructure setup to experimental analysis.
  • Provisioned and operated a 6‑node Kubernetes cluster from scratch on virtual machines; integrated Prometheus and Grafana for comprehensive resource and scheduling metrics.
  • Developed automated workload and benchmarking scenarios to evaluate scheduler behavior under varying edge workloads and fragmentation patterns.
  • Implemented data collection, cleaning, aggregation, and visualization pipelines used to generate experimental results and figures for the FGCS journal submission.
  • Acted as the primary developer and designer of multiple helper and auxiliary tools, improving experiment reproducibility and significantly reducing evaluation iteration time.

Colossus of rhodes: scheduling algorithms arena!

Open Source: Browse Codes

As a part of a research project I was tasked to implement a simulator of operating systems and underlying hardware that you can define new scheduling algorithms and test them. This project aims to be a framework for implementing and testing different scheduling algorithms and be a basis for comparison of them, also in addition to that there is the possibility to expand the framework to have multiple dispatchers, queues, long-term & mid-term scheduler etc. As a part of this project I got familiar with:

  • FIFO, LIFO, round-robin process scheduling algorithms
  • Hardware simulation by software
  • Basic Os and process scheduling concepts

Message Broker

Open Source: Browse Codes

In Bale Messenger's golang backend trainee program, as our final project, we were tasked ot implement a gRPC message broker. Some technologies & techniques I worked with through this project were:

  • Channels / Locks / Mutex
  • gRPC / Protobuf
  • Load testing
  • Performance monitoring using prometheus and custom-built grafana dashboards
  • Performance optimization using insert batching and caching
  • Global and Local rate limiting
  • Containerization and container orchestration

Pronto: Reliable Blog For Personal Use

Open Source : Browse Codes

Alongside a team of other developers I was responsible to develop and unit test a RESTFUL api of a weblog for personal use using Php/Laravel. In this project I had hands on experience with:

  • Restful API
  • oAuth2
  • Advanced Search through Algolia
  • Test Driven Development
  • Role permission system

Clash Royal: The Javafx Clone

Open Source: Browse Codes

In spring 2020, in Amirkabir University of Technology, for advanced programming class, me and my team of one other developer were tasked to implement a clash royal clone using Javafx and java-core. In this game online offline modes have been implemented. The offline mode contains two bots, normal bot and clever bot.
I was the lead architect and logic implementer of the game. We built this project from ground up without using any game engine or frameworks and we had to come up with solutions for many problems, such as:

  • How to create a real time client/server game using sockets
  • How to optimize data flow through sockets for lower game latency
  • How to come up with scalable architecture to model game entities such as towers and troops
  • How to manage game state across multiple users or in offline mode
  • How to implement a more clever robot that tries to guess the opponents next move

Blog: The Fast Api

Open Source: Browse Codes

A TDD implementation of a fast, secure, easy-to-maintain weblog RESTful API. In this project I had hands on experience working with:

  • Redis and caching
  • Unit testing using pest framework
  • Query and eloquent optimization for better DB performance
  • Implementing a simple authentication system from ground up

Mafia: Socket Based Game

Open Source: Browse Codes

In spring 2021, in Amirkabir University of Technology, I was tasked to implement a command line version of Mafia game with chat room using socket servers. In this project I had to design and implement features such as:

  • Socket powered chat rooms
  • Citizens roles such as inspector, doctor and etc
  • Mafia roles such as God father and Doctor lector and etc
  • Online realtime game using TCP/IP protocol with support for more than 10 players in each room