Mohamed Elawadi, Developer in Amsterdam, Netherlands
Mohamed is available for hire
Hire Mohamed

Mohamed Elawadi

Verified Expert  in Engineering

Software Developer

Location
Amsterdam, Netherlands
Toptal Member Since
November 29, 2017

Mohamed is a software engineer with seven years of experience. While in college, he worked on open source projects and, after graduation, for two companies. His first jobs were building the back end for a real estate eCommerce platform and making the cloud infrastructure. Also, he worked on a configuration management system, a cloud management platform, a grid operating system, and an IaaS. His engineering mindset and practical, step-by-step approach with clients distinguish his work.

Portfolio

MongoDB
Kubernetes, Linux, Terraform, Chef, Docker, Bazel, MongoDB
Booking.com
RocksDB, Apache ZooKeeper, Apache Kafka, Cassandra, MySQL, Prometheus, Graphite...
Magalix Corporation
OpenTracing, PostgreSQL, MongoDB, InfluxDB, Apache Kafka, Prometheus, Go...

Experience

Availability

Part-time

Preferred Environment

Docker, Git, Linux, Visual Studio Code (VS Code)

The most amazing...

...thing I've created is a tool that replays production traffic to services, making it easier to test new features and do stress testing.

Work Experience

Senior Site Reliability Engineer

2022 - PRESENT
MongoDB
  • Moved MongoDB's Atlas into Kubernetes: https://cloud.mongodb.com.
  • Helped reengineer memory management for Atlas database nodes.
  • Added the infrastructure needed for regional Atlas support.
Technologies: Kubernetes, Linux, Terraform, Chef, Docker, Bazel, MongoDB

Software Developer | Site Reliability Engineer

2019 - 2022
Booking.com
  • Took ownership of the incidence response workflow for the team responsible for front-facing services that take more than one billion requests per day.
  • Conducted performance assessments and enhancements for the service responsible for search results and the property page.
  • Defined and maintained the SLOs for the services we own.
  • Added supporting metrics, graphs, and error tags to minimize MTTI and MTTR.
  • Built and maintained CI/CD pipelines for the services.
  • Reduced provision time for bare metal services from more than nine hours to around 15 minutes.
  • Worked on DC failover testing for the services we own.
Technologies: RocksDB, Apache ZooKeeper, Apache Kafka, Cassandra, MySQL, Prometheus, Graphite, Grafana, PagerDuty, Kubernetes, Puppet, Java, Perl

Software Engineer

2018 - 2019
Magalix Corporation
  • Took ownership of Magalix agent that collects data from Kubernetes clusters and pushes it to the data pipeline.
  • Built and maintained data pipelines using microservice architecture.
  • Constructed a fully multiplexed communication protocol that supports timeouts, authentication and packet priority on top of Websockets.
  • Scaled the data pipelines using Kafka as a message broker and customized the pipeline to have event triggered jobs on changes instead of using periodic scans.
  • Implemented reliability improvements, most notably the delayed retrial of failed jobs when success rate goes above a certain threshold.
  • Enhanced the performance of the back end, which led to over a 99% decrease in latency for some APIs.
  • Created an observer package to calculate metrics about connections using over the wire analysis of raw data.
  • Added safety mechanisms to work around chances of programming issues getting released in the agent.
Technologies: OpenTracing, PostgreSQL, MongoDB, InfluxDB, Apache Kafka, Prometheus, Go, Kubernetes

Senior Software Engineer

2018 - 2018
Elmenus
  • Designed and implemented the data pipeline for users interactions using Akka, Kafka, Cassandra and Apache Spark.
  • Implemented the service that calculates the conversion rate for restaurants to return the most popular under any search.
  • Designed and implemented the notification service for the users.
  • Participated in designing the news feed service.
  • Integrated Elmenus’ CRM with an Asterisk server to provide better usability for the customer service agents.
  • Integrated Elmenus.com with third-party services like a payment gateway, SMS gateways and push notifications services.
  • Oversaw the CI/CD pipeline using CircleCI and managed the deployment environments using Kubernetes.
  • Monitored deployed services and nodes using Prometheus, Graphana, ELK stack, and Elastalert.
Technologies: Ansible, Redis, Apache Kafka, MySQL, Scala, Kubernetes

Senior Software Engineer

2016 - 2017
CodeScalers
  • Worked on Zero OS: a grid-based operating system.
  • Implemented the API security layer of OpenvCloud (an IaaS).
  • Implemented the virtualization module inside Zero OS which was the back-end for OpenVCloud.
  • Managed a team to build a monitoring web application to monitor OpenvCloud instances.
  • Maintained DCPM: a data center management system that was used by enterprise-level customers.
  • Changed how AYS (at your service), a configuration management system, refreshes its templates and repossess from the system using inotify.
  • Worked on Core-X: a container management system which was implemented from scratch using Kernel Namespaces and CGroups.
  • Designed the live migration of the virtual machines between Zero OS instances.
  • Implemented the exportation and importation of virtual machines to OVF over WebDAV.
  • Used Grafana to create dashboards for monitoring the physical machines where OpenvCloud was running.
  • Composed self-healing scripts to automatically detect and fix errors in OpenvCloud.
  • Wrote service templates for AYS to deploy services such as a MongoDB cluster service and services for the virtualization components.
  • Used RAML to define the APIs that I implemented; also contributed to go-raml, a tool to boilerplate a project using a RAML file.
Technologies: LXC, Docker, Quick EMUlator (QEMU), libvirt, Redis, MongoDB, Python, Go

Software Engineer

2015 - 2016
Nozol
  • Developed a Node.js app to store real estate listings.
  • Used Elasticsearch to filter the listings.
  • Created an overlay layer over Google maps to enhance the performance of thousands of locations that needed to be plotted.
  • Stored the thumbnails of the listings, used S3.
  • Unit-tested the server-side; used the Mocha framework to do so.
Technologies: Elasticsearch, Redis, Amazon S3 (AWS S3), MongoDB, Node.js

Nozol

Nozol is an eCommerce platform for real estate. It provides users with the listing of items that also supports searches and filtering, Google maps integrations, and saves searches and notifications for found items. It uses Amazon S3 to store thumbnails of the items and has integrated instant messaging to support messaging between clients.

OpenvCloud

https://www.gitbook.com/book/gig/ovcdoc_public/details
OpenvCloud is an infrastructure as a service. It supports multiple locations and is self-healing. It is implemented over Zero OS, a grid operating system. It creates virtual machines using qemu and supports various features such as an export/import virtual machine, live migration between hosts, and custom OS templates.

AYS

At Your Service is an application lifecycle management system for cloud infrastructure and applications and is installed as part of a JumpScale installation.

The AYS server automates the full lifecycle of the cloud infrastructure and applications it manages, from deployment, monitoring, scaling and self-healing to uninstalling.

JumpScale

JumpScale is a pluggable cloud automation product. It is a platform to build applications that manage remote hosts. It has many plugins such as Prefab that is used to install and start services on these remote hosts.

DCPM

DCPM is a data center management system that is used by enterprise-level customers such as EuNetworks and Vodafone. It is used to monitor power in data centers and can be configured to send alerts in certain cases. It can generate reports using various electricity attributes that can be used in billing or power consumption analysis.

Zero-OS

Zero-OS is a stateless and lightweight Linux operating system designed for clustered deployments to host virtual machines and containerized applications.

Booking.com

https://www.booking.com
Booking.com search results service and property page service.

Magalix

Magalix is an agent-based service that gives insights and scalability recommendations for a Kubernetes cluster.

0-Core

0-Core is the core of Zero-OS which is the Zero-OS replacement for systemd. It is a process manager that receives commands from the network and executes them on Zero-OS. Commands include process management, FS operations, virtual machine operations, and container management.
2008 - 2013

Bachelor's Degree in Electronics and Communication Engineering

Mansoura University - Mansoura, Egypt

Libraries/APIs

libvirt, Node.js, React

Tools

Git, Vim Text Editor, Ansible, Puppet, Grafana, Apache ZooKeeper, Terraform, Chef, Bazel

Languages

Go, Python, JavaScript, Scala, Perl, Java, C

Platforms

Kubernetes, Docker, Linux, Quick EMUlator (QEMU), Apache Kafka, PagerDuty, Visual Studio Code (VS Code)

Paradigms

Concurrent Programming, DevOps, Agile Software Development

Storage

Cassandra, PostgreSQL, Redis, MongoDB, MySQL, Amazon S3 (AWS S3), Elasticsearch, RocksDB, InfluxDB

Frameworks

Sails.js, Jasmine, Express.js, Angular

Other

Distributed Systems, LXC, Graphite, Prometheus, OpenTracing, Electronics, Engineering, Communication

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