Ahmed Salah El-Afifi, Developer in Cairo, Cairo Governorate, Egypt
Ahmed is available for hire
Hire Ahmed

Ahmed Salah El-Afifi

Verified Expert  in Engineering

Software Developer

Cairo, Cairo Governorate, Egypt

Toptal member since October 14, 2020

Bio

Ahmed has over eight years of experience as a software engineer developing apps using various stacks, languages, and technologies. He has extensive knowledge of mathematics and statistics and has worked on high-scale distributed apps. Ahmed excels with projects that have large amounts of data and require wrangling, filtering, retrieving, and analyzing. He enjoys mentoring other developers and finding the best possible solutions for every job, be it performance, UI/UX, or legacy code-related.

Portfolio

CPM Educational Program
Node.js, Socket.IO, React, Redis, JavaScript, TypeScript, CRDT, Scaling...
ICT Cube
Socket.IO, Node.js, Jira, Data Analysis, Envoy Proxy, Elasticsearch...
Infovass
Firebase, OpenCart, REST, SOAP, Laravel, PHP, Relational Databases...

Experience

  • MySQL - 11 years
  • Python - 11 years
  • Node.js - 9 years
  • Express.js - 8 years
  • Socket.IO - 7 years
  • TypeScript - 7 years
  • MongoDB - 7 years
  • PostgreSQL - 6 years

Availability

Full-time

Preferred Environment

Docker Compose, Git, JetBrains, Ubuntu

The most amazing...

...project I've worked on is a data wrangler that provides a new method of filtering, tagging, retrieving, and analyzing data.

Work Experience

Socket.IO Developer

2020 - 2022
CPM Educational Program
  • Advised on the architecture of a real-time solution for content sharing, leading to an improved collaboration experience.
  • Customized and enhanced the CRDTs package to fulfill project requirements, resulting in optimized functionality for real-time content sharing.
  • Developed a scalable environment, incorporating vertical and horizontal scaling techniques to accommodate large-scale content sharing between different users.
  • Designed a session management system for collaborative sessions, enhancing the learning experience for the users.
  • Overcame challenges related to offline users, ensuring a good balance between content availability and consistency, resulting in a seamless user experience.
  • Addressed data persistence challenges, enabling the ability to track individual contributions within shared documents without compromising the storage.
  • Devised an intelligent approach to handle the limitations of the used technologies without compromising algorithm functionality.
  • Developed a timeout mechanism for idle users during sessions, optimizing session management.
  • Streamlined the integration process for front-end developers through ready-to-use packages and components, eliminating the need for an in-depth understanding of the underlying protocol.
Technologies: Node.js, Socket.IO, React, Redis, JavaScript, TypeScript, CRDT, Scaling, Kubernetes

Senior Software Engineer

2019 - 2021
ICT Cube
  • Developed an algorithm to optimize the analysis process on a stream of data, providing the most efficient way of updating and retrieving the analysis results.
  • Built a Jira application to integrate with a stream processing software to show real-time analysis results regarding active tasks/cards using Node.js and Socket.IO.
  • Supported the building, optimizing, and fixing of issues in data wrangler software.
  • Implemented an algorithm to check the compatibility between component versions in a baseline management system.
  • Created an integration API using Python which provided a simple interface for other software components written in C#.
  • Developed a simple ORM in Python with core functionality and multiple integrations with database servers and other frameworks used to standardize the way of work in the organization.
  • Developed a module to perform validation checking for complex scenarios expressed in a simple way.
  • Provided integration and E2E tests to check the integrity between system components.
  • Participated in the design and architecture of the main products in the organization.
Technologies: Socket.IO, Node.js, Jira, Data Analysis, Envoy Proxy, Elasticsearch, Apache Kafka, C#, PostgreSQL, Docker, Python, Relational Databases, Event-driven Programming, Scripting, Data, TypeScript

Senior Back-end Engineer

2018 - 2019
Infovass
  • Integrated several online payment systems using different technologies.
  • Implemented extensions for the OpenCart eCommerce framework.
  • Fixed issues and performed optimizations in legacy code projects.
Technologies: Firebase, OpenCart, REST, SOAP, Laravel, PHP, Relational Databases, Event-driven Programming, Scripting

Senior Back-end Engineer

2018 - 2018
ArabiaNet
  • Assisted in converting assets management from manual methods into Gulp and Bower.
  • Developed websites for customers in several business fields.
  • Built a CMS that provides high flexibility with good UX to make it easy for both UI designers and clients to customize websites.
  • Built an internal system to manage projects and tasks.
  • Configured hosting servers on which to install clients' websites.
  • Built RESTful APIs for web and mobile applications.
  • Mentored junior developers through technical challenges and trained them on using new tools and technologies.
Technologies: REST, Vue, AngularJS, eCommerce, Bower, Gulp, Laravel, PHP, Relational Databases, Event-driven Programming, Scripting

Senior Software Developer

2017 - 2017
ProBranding
  • Developed websites for customers in the medical field.
  • Configured hosting servers on which to install clients' websites.
  • Created a mini-ERP system for small clinics as a desktop app using node-webkit (NW.js) with AngularJS for the front end.
Technologies: AngularJS, Node.js, NW.js, CSS, JavaScript, HTML, PHP, Relational Databases, Event-driven Programming, Scripting

Software Developer

2015 - 2017
UAS Hospitals
  • Transformed a legacy system into a new one with better functionality and performance and far better UI/UX.
  • Created a RESTful API for the mobile application with high security in consideration.
  • Solved performance issues by redesigning parts of the database and redefining how the data should be indexed.
  • Implemented scripts to migrate the old database to the new one.
  • Developed an algorithm to optimize the search process in Arabic names with specific criteria.
  • Created cron jobs to schedule sending notifications for patients and doctors.
  • Led and mentored other team members through technical issues.
Technologies: MySQL, CSS, HTML, JavaScript, PHP, Relational Databases, Event-driven Programming, Scripting, Data

Experience

HA-Pharma

HA-Pharma is a pharmacy management system that provides a simple UI, allowing the non-experienced user to perform complex operations in simpler ways and obtain informative reports that improve the overall process.

It has been built as a desktop application using NW.js with Node.js for the back end and Angular for the front end. Some portions in the back end were implemented as Node.js add-ons using C++ and a V8 engine for security purposes.

Skills

Libraries/APIs

jQuery, Node.js, REST APIs, Socket.IO, Vue, Pandas, NumPy, Chrome API, RxJS, Vue 3, NW.js, React, React Redux

Tools

JetBrains, Docker Compose, NPM, Sublime Text, PhpStorm, WebStorm, PyCharm, Git, GitHub, Webpack, Bitbucket, GitLab, RabbitMQ, Babel, Jupyter, Envoy Proxy, Jira, Gulp, Bower, V8, CircleCI

Languages

Python, PHP, HTML, CSS, JavaScript, CSS3, HTML5, SQL, Less, PHP 7, ECMAScript (ES6), Python 3, Sass, TypeScript, SCSS, Dart, C#, Bash, Go, Java, C++

Frameworks

Express.js, Bootstrap, Bootstrap 3, Angular, Angular Material, Flask, Laravel, AngularJS, Scrapy, Redux

Paradigms

Event-driven Programming, Microservices, REST

Storage

MySQL, NoSQL, JSON, Relational Databases, PostgreSQL, MongoDB, SQLite, Redis, Elasticsearch

Platforms

Ubuntu, Linux, Jupyter Notebook, Visual Studio Code (VS Code), Docker, Apache Kafka, OpenCart, Firebase, Kubernetes

Other

APIs, Ajax, WebSockets, Full-stack, Back-end, Web Scraping, Scraping, Data Scraping, Scripting, Data, Message Queues, Cloud, Statistics, Data Engineering, Chrome Extensions, CRDT, CI/CD Pipelines, Data Analysis, eCommerce, SOAP, GitHub Actions, Scaling

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