Mohamed Elawadi
Verified Expert in Engineering
Software Developer
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
Experience
- Python - 7 years
- Linux - 7 years
- Git - 6 years
- Distributed Systems - 6 years
- DevOps - 5 years
- Docker - 5 years
- Kubernetes - 5 years
- Go - 3 years
Availability
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
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.
Software Developer | Site Reliability Engineer
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.
Software Engineer
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.
Senior Software Engineer
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.
Senior Software Engineer
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.
Software Engineer
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.
Experience
Nozol
OpenvCloud
https://www.gitbook.com/book/gig/ovcdoc_public/detailsAYS
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
DCPM
Zero-OS
Magalix
0-Core
Education
Bachelor's Degree in Electronics and Communication Engineering
Mansoura University - Mansoura, Egypt
Skills
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
Paradigms
Concurrent Programming, DevOps, Agile Software Development
Platforms
Kubernetes, Docker, Linux, Quick EMUlator (QEMU), Apache Kafka, PagerDuty, Visual Studio Code (VS Code)
Frameworks
Sails.js, Jasmine, Express.js, Angular
Storage
Cassandra, PostgreSQL, Redis, MongoDB, MySQL, Amazon S3 (AWS S3), Elasticsearch, RocksDB, InfluxDB
Other
Distributed Systems, LXC, Graphite, Prometheus, OpenTracing, Electronics, Engineering, Communication
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring