Adham Elsafty, Developer in Cairo, Cairo Governorate, Egypt
Adham is available for hire
Hire Adham

Adham Elsafty

Verified Expert  in Engineering

Bio

Adham is a passionate software engineer who has had the opportunity to work across multiple fields. He started his career with embedded systems and then moved to web development, creating one of the biggest eCommerce platforms in Egypt. Adham is a hardworking professional with deep code experience in Node.js, C, and C++ and excellent communication skills. His eagerness to learn and develop are his biggest strengths and the main driving force in his career.

Portfolio

ST Engineering iDirect - Main
JavaScript, Node.js, WebSockets, Agile, Jira, Confluence, PostgreSQL, pgTAP...
Mazadat
Agile, Management, Agile Project Management, Leadership
Mazadat
Node.js, JavaScript, MongoDB, Mongoose, Elasticsearch, Express.js...

Experience

  • JavaScript - 4 years
  • Node.js - 3 years
  • Leadership - 3 years
  • SOLID Principles - 3 years
  • Express.js - 2 years
  • Database Design - 2 years
  • Mongoose - 2 years
  • Elasticsearch - 2 years

Availability

Full-time

Preferred Environment

Windows, Slack, Microsoft Teams, Visual Studio Code (VS Code), Git, Azure DevOps

The most amazing...

...app I've proudly developed is an auction-based eCommerce platform called Mazadat, the first of its kind in Egypt.

Work Experience

JavaScript Developer

2022 - PRESENT
ST Engineering iDirect - Main
  • Developed front end in Angular, used SQL files for the database, and fixed bugs on Node.js API back end.
  • Implemented detailed CRUD operations on the Postgres database using PL/pgSQL language. Also, created a few database triggers and post-action functions for different processes and features.
  • Created new APIs using LoopBack to integrate with the database repository.
  • Designed and implemented major migration from LoopBack version 3 to version 4. The differences in libraries were quite huge and required extensive work.
  • Wrote unit tests using pgTAP for Postgres functions and Mocha for Node.js APIs.
  • Debugged remotely on the virtual machine and integrated with Visual Studio Code to run the debugger and step into the code.
  • Documented features implemented on Confluence pages.
  • Worked with the Agile process to handle tasks using Jira as a platform of choice.
Technologies: JavaScript, Node.js, WebSockets, Agile, Jira, Confluence, PostgreSQL, pgTAP, Loopback, APIs, Back-end, Database Design, REST

Technical Product Owner

2021 - 2022
Mazadat
  • Conducted feature analysis and backlog grooming and creation for all team members across all functions (back-end, front-end, and mobile teams).
  • Executed planned releases and features and managed priorities and milestones with the project manager and scrum master.
  • Supported junior developers to reach target goals within acceptable timeframes to accelerate the release cycle.
  • Aligned global software architecture and used best practice design and development for improved productivity.
  • Improved the agile process for a better CI/CD process.
  • Found creative approaches to solve complex issues while maintaining an eye on the big picture.
Technologies: Agile, Management, Agile Project Management, Leadership

Back-end Software Engineer

2020 - 2022
Mazadat
  • Performed structured design reviews, programmed systems, wrote unit tests, and reviewed system test results.
  • Wrote reusable, testable, and efficient code using Node.js and implemented complex queries with NoSQL databases using MongoDB and Mongoose.
  • Used Elasticsearch and mongoosastic to create the search engine for the platform and the Elasticsearch Query DSL to execute complex queries and script sorting and filtering.
  • Created real-time events for time-critical tasks with Socket.IO, including but not limited to the implementation of the bidding logic of the auctions.
  • Worked with Azure DevOps to follow Agile methodologies and integrated it with version control using Git and CI/CD using Azure Pipelines.
Technologies: Node.js, JavaScript, MongoDB, Mongoose, Elasticsearch, Express.js, JSON Web Tokens (JWT), Socket.IO, HTTPS, REST APIs, Databases, Message Queues, Redis Queue, Sequelize, SQL, APIs, Back-end, Microservices, Database Design, Software Architecture, Software Design Patterns, SOLID Principles, Microservices Architecture, REST

Embedded Software Engineer

2018 - 2020
Trapeze (via Idea in Motion)
  • Used both C and C++ to develop highly functional software and meet production requirements.
  • Debugged highly sophisticated modules written in legacy code using only log messages that required strong analytical skills.
  • Documented technical specifications and project testing methods for future reference.
  • Got promoted after a few months on the job and was one of the few people selected to spend two months in Switzerland working with our partners.
  • Supervised a team of four developers in the analysis and development of embedded software.
  • Collaborated closely with the software architect and team members to keep projects on track, meet anticipated deadlines, and eliminate software bugs.
Technologies: C++17, C, Embedded C, Networking, APIs, Back-end, Software Design Patterns, SOLID Principles

Experience

Mazadat

http://www.mazad.at
Mazadat is the first auction-based eCommerce platform in Egypt and soon in the Middle East. I joined the project from the start as a back-end developer. Because we were a small team, everyone was involved in most of the parts of the platform development. I worked exclusively in the search engine using Elasticsearch and bidding implementation using Sockets. I also collaborated with mobile developers to translate the interface in use while integrating with the back end and created detailed documentation to explain and clarify all the APIs in the system. Because we chose the MERN stack, I worked with MongoDB, Node.js, and Express.js.

Custody Service

http://www.rain.com
A Go microservice that handles custody integration for a crypto exchange. It handles wallet creation and management, sends and receives, integrates multiple custodians, and adds new blockchain support for new coins.

Education

2012 - 2017

Bachelor's Degree in Mechatronics Engineering

German University in Cairo (GUC) - Cairo, Egypt

Skills

Libraries/APIs

Node.js, REST APIs, Socket.IO, Redis Queue, React

Tools

Git, Mongoose, Microsoft Teams, Sequelize, Confluence, Jira, Slack

Languages

JavaScript, C++17, C, SQL, Embedded C, TypeScript, Go

Frameworks

Express.js, JSON Web Tokens (JWT), Loopback, pgTAP, Next.js, Material UI, gRPC

Paradigms

Agile, Azure DevOps, Management, Database Design, REST, Microservices, Microservices Architecture, Agile Project Management

Storage

MongoDB, Elasticsearch, Databases, PostgreSQL

Platforms

Windows, Visual Studio Code (VS Code), Software Design Patterns

Other

SOLID Principles, APIs, Back-end, Software Development, Data Structures, Algorithms, Leadership, HTTPS, Software Architecture, Control Systems, Public Speaking, Message Queues, Networking, WebSockets

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