Esraa Hefny, Developer in Alexandria, Alexandria Governorate, Egypt
Esraa is available for hire
Hire Esraa

Esraa Hefny

Verified Expert  in Engineering

Software Developer

Alexandria, Alexandria Governorate, Egypt

Toptal member since November 6, 2023

Bio

Esraa is a skilled software engineer with 8 years of experience working with Jumia, Boutiqaat, Unilever, and freelance projects. She is proficient in Java, Spring Boot 3, Spring Security, Vue, microservices, Kafka, RabbitMQ, AWS, and Azure DevOps. Esraa has led monolithic-to-microservices migrations, optimized AWS infrastructure, and improved CI/CD pipelines. She has a proven track record in enhancing performance and ensuring secure, scalable systems.

Portfolio

Jumia Technologies
Java, AngularJS, Docker, MongoDB, Scala, Jenkins, RabbitMQ, Couchbase...
Freelance
JavaScript, HTML5, CSS3, Bootstrap 4, Chrome API, Chrome, REST APIs, HTML, CSS...
Boutiqaat
Java, Spring Boot, Elasticsearch, Hibernate, Redis, GitLab CI/CD, REST APIs...

Experience

  • Java - 8 years
  • Spring - 8 years
  • Spring Boot - 8 years
  • Spring Security - 7 years
  • MySQL - 7 years
  • Jenkins Pipeline - 4 years
  • Vue - 3 years
  • Amazon Web Services (AWS) - 3 years

Availability

Part-time

Preferred Environment

Spring, Java, Jenkins, Docker, Apache Kafka, Amazon Web Services (AWS), OpenAPI, Gradle, Spring Boot, Vue 3

The most amazing...

...thing I've led is an OMS3's architecture migration from monolithic to microservices using domain-driven design, which was deployed on AWS for high availability.

Work Experience

Senior Software Engineer

2021 - 2024
Jumia Technologies
  • Led the full-stack development and maintenance of Jumia OMS3, leveraging Java web technologies and overseeing front- and back-end components that manage order and stock transactions.
  • Enhanced the UI for OMS3 by applying Vue 3 expertise, utilizing Vue 3 hooks for state management, creating modular components, and optimizing builds with Vite, resulting in a more interactive and performant user experience.
  • Drove the OMS3 migration from a monolithic to a microservices architecture using domain-driven design and hexagonal architecture. Managed the transition of 24 modules, overseeing execution, and deployment, successfully launching orders and RMA.
  • Utilized OpenAPI architecture and Swagger to document and standardize the APIs for the new microservices, ensuring consistent communication and easier integration across the system.
  • Optimized Jumia's AWS infrastructure by leveraging EC2 for scalable back-end services and S3 for secure, reliable storage of application logs. Implemented best practices for resource allocation, performance monitoring, and cost efficiency.
  • Dockerized OMS3 and OMS2, standardizing environments to streamline local development and reduce setup time for new team members. This improved consistency, minimized configuration errors, and enhanced development efficiency and collaboration.
  • Developed and enhanced synchronous (HTTP) and asynchronous (RabbitMQ) communication mechanisms between the order system and other subsystems, such as warehouse and hubs management systems and SKY, BOB, and BI systems.
  • Implemented Spring Security to secure the OMS3 platform, configuring user authentication and role-based access control and integrating OAuth 2 with JSON Web Tokens (JWT) for secure API endpoints.
  • Used MariaDB and SQL Server to manage database operations and ensure data integrity across systems.
  • Improved deployment pipelines by automating build, test, and deployment processes using Jenkins, resulting in faster and more reliable software releases.
Technologies: Java, AngularJS, Docker, MongoDB, Scala, Jenkins, RabbitMQ, Couchbase, Domain-driven Design (DDD), Apache Kafka, Akka, Play 2, Grafana, Kibana, MariaDB, Rundeck, Spring Boot, JaCoCo, SonarQube, Couchbase Lite, Logback, Back-end, Filebeat, REST APIs, Amazon Web Services (AWS), HTML, CSS, Jira, Continuous Delivery (CD), Continuous Integration (CI), Ansible, Kubernetes, Microservices, RESTful Microservices, IntelliJ SDK, Apache Maven, DevOps, Jenkins Pipeline, Spring, Algorithms, GitHub, Databases, REST, JPA, Git, Computer Engineering, Web Development, App Development, MySQL, CI/CD Pipelines, Oracle, Groovy, JSON, XML, JUnit, HTTP REST, SQL Server 7, APIs, Full-stack, Spring Microservice, SaaS, Linux, PostgreSQL, NoSQL, Object-oriented Programming (OOP), Microservices Architecture, Front-end, JVM, Angular, API Integration, Engineering, Java 8, OpenAPI, Gradle, API Design, Full-stack Development, Vue, Spring Security, TypeScript, Code Review, Enterprise, Event-driven Architecture, Event-driven Design (EDD), Multithreading, Hexagonal Architecture, Architecture

Full-stack Developer

2020 - 2021
Freelance
  • Developed a Chrome extension JavaScript app for scrapping Facebook posts.
  • Built a Chrome extension that searches a specific site for a list of items and creates a new tab for each item.
  • Worked remotely on multiple fixed-price and hourly jobs, meeting all client expectations and specific requirements.
  • Collaborated with UI/UX designers to implement React components that aligned with modern design principles, ensuring a seamless, intuitive user experience.
  • Managed multiple freelance projects, developing user interfaces using JavaScript and React. One of the key projects was a Chrome extension, where I utilized React to build dynamic UI components that efficiently interacted with browser APIs.
  • Optimized the front end for performance, resulting in faster load times and a more engaging user shopping experience.
Technologies: JavaScript, HTML5, CSS3, Bootstrap 4, Chrome API, Chrome, REST APIs, HTML, CSS, Algorithms, GitHub, Git, Computer Engineering, App Development, React, Object-oriented Programming (OOP), Engineering, Swagger, Full-stack Development

Senior Software Engineer

2020 - 2021
Boutiqaat
  • Led the development of new features for Boutiqaat's eCommerce site using React, Spring Boot, and Java, optimizing product listings, user interfaces, and back-end processes to enhance user experience and site performance.
  • Designed a rules engine using Elasticsearch and Java to manage complex coupon policies. Used OpenAPI and Swagger for API documentation, ensuring consistent communication and easy integration.
  • Enforced Spring Security to secure user-facing and admin APIs, ensuring user authentication, authorization, and role-based access control across the platform. Configured OAuth 2 with JWT for seamless authentication and authorization.
  • Built responsive, mobile-first UI designs using React to ensure the platform worked smoothly across various devices and screen sizes.
  • Leveraged React hooks and context API to manage state efficiently, enhancing component reusability and reducing code duplication across the application.
  • Integrated Azure services for cloud deployment, utilizing Azure App Services for scalable management of the rule engine, cart, and order applications. Leveraged GitLab CI/CD pipelines for efficient, reliable deployment and continuous integration.
  • Deployed the Azure Kubernetes Service to manage microservices across Boutiqaat's applications. Enhanced scalability, fault tolerance, and resource management, ensuring smooth operations during peak traffic.
  • Implemented Apache Kafka for high-throughput, event-driven architecture in Boutiqaat's eCommerce platform. Leveraged Kafka for asynchronous communication between the rule engine, cart, and order management systems to boost responsiveness.
  • Enabled error handling for Kafka-based async operations with retry logic and dead-letter queues. Managed failed messages to ensure reliable processing of cart and order transactions while maintaining system stability and data integrity.
  • Developed private APIs and messaging endpoints to enhance functionality and administrative control within Boutiqaat's eCommerce platform, improving system integration and operational efficiency.
Technologies: Java, Spring Boot, Elasticsearch, Hibernate, Redis, GitLab CI/CD, REST APIs, HTML, CSS, Jira, Continuous Delivery (CD), Continuous Integration (CI), Microservices, RESTful Microservices, IntelliJ SDK, Apache Maven, DevOps, Spring, Algorithms, GitHub, Back-end, Databases, REST, JPA, Enterprise Java Beans (EJB), Git, Computer Engineering, Web Development, App Development, MySQL, CI/CD Pipelines, Oracle, JSON, JUnit, HTTP REST, SQL Server 7, Azure Kubernetes Service (AKS), Azure DevOps, Azure Monitor, Full-stack, Spring Microservice, SaaS, Linux, Apache Kafka, Spring Data Elasticsearch, React, PostgreSQL, Object-oriented Programming (OOP), Microservices Architecture, Front-end, JVM, API Integration, Engineering, Java 8, Swagger, Gradle, Full-stack Development, Spring Security, Code Review, Enterprise, Event-driven Architecture, Event-driven Design (EDD), Multithreading, Architecture

Software Engineer

2018 - 2020
Unilever
  • Handled the front- and back-ends of Unilever's statistical analysis system (SAS), which manages stocks, salesmen, and merchandiser job processes. Developed new sales solutions and maintained the existing sales SAS.
  • Performed reverse engineering for codebases and migrated the system from Java 4 and Apache Struts to Java 8.
  • Reverse-engineered and enhanced stored Oracle procedures to fix bugs, document business processes, and add new Oracle database-level features.
  • Incorporated Spring Security into the SAS, enabling fine-grained security for internal applications and external API services. Configured authentication with managed roles and permissions for different user levels.
  • Solved issues in visualization on Microsoft Power BI, creating scripts and using M to paginate data selections from production data sources.
  • Integrated the system to JasperReports to generate essential reports required by the financial and marketing teams.
  • Participated in the back-end development of Unilever's team lead system, facilitating sales team leaders to follow up on their teams' progress and achievements.
  • Collaborated in developing the Unilink app, an Android app used by sales associates to deliver orders to customers and distributors.
  • Leveraged JavaServer Faces' UI templates to introduce new important screens for CS agents to manage sales transactions.
  • Wrote unit and integration tests for the system and designed and implemented application user interfaces.
Technologies: Java, JPA, JSF, Android, Microsoft Power BI, Oracle Database, Spring Boot, M, JasperReports, JavaServer Faces, REST APIs, HTML, CSS, RESTful Microservices, IntelliJ SDK, Apache Maven, Spring, GitHub, Back-end, Databases, REST, Enterprise Java Beans (EJB), Git, Computer Engineering, Web Development, App Development, MySQL, Jira, Oracle, JSON, JUnit, HTTP REST, SQL Server 7, Full-stack, Microservices, Spring Microservice, SaaS, Object-oriented Programming (OOP), Microservices Architecture, Front-end, API Integration, Engineering, Java 8, Swagger, Java Servlets, Full-stack Development, Spring Security, Code Review, Enterprise

Experience

Hat-W-Khod

The Hat-W-Khod platform is a service-trading platform that connects job seekers and people with special skills to people requiring those abilities and knowledge. The application enables users to exchange services for virtual coins. People needing specific assistance can also post a request, actively seeking other users who can offer that service or knowledge for free.

The technologies I leveraged through my development role within this project include Java, Spring Boot, and Hibernate. For the mobile app, Android native tools were used.

Education

2012 - 2017

Bachelor's Degree in Computer Engineering

Alexandria University - Alexandria, Egypt

Certifications

JULY 2018 - PRESENT

Web and Mobile Development Professional

Information Technology Institute (ITI)

Skills

Libraries/APIs

REST APIs, React, OpenAPI, Jenkins Pipeline, Java Servlets, Vue, JaCoCo, Chrome API, JasperReports, MyBatis, Vue 3

Tools

GitHub, Git, Gradle, Jenkins, GitLab CI/CD, RabbitMQ, Jira, Apache Maven, Kafka Streams, Azure Kubernetes Service (AKS), Azure Monitor, MATLAB, Microsoft Power BI, Grafana, Kibana, Rundeck, SonarQube, Subversion (SVN), Ansible

Languages

Java, SQL, JavaScript, HTML, Java 8, CSS, Groovy, XML, TypeScript, C++, Scala, HTML5, CSS3, M, Go, Python

Frameworks

Spring, Spring Boot, Spring Microservice, Swagger, Spring Security, JPA, Hibernate, Play 2, JUnit, OAuth 2, JSF, AngularJS, Akka, Jakarta Server Pages (JSP), Chrome, JavaServer Faces, Angular, Svelte

Paradigms

REST, Microservices, Object-oriented Programming (OOP), Microservices Architecture, Event-driven Architecture, Event-driven Design (EDD), Continuous Delivery (CD), Continuous Integration (CI), Azure DevOps, App Development, Mobile Development, DevOps

Platforms

JVM, Docker, Apache Kafka, Oracle Database, Amazon Web Services (AWS), Kubernetes, Oracle, Google Cloud Platform (GCP), Azure, Linux, New Relic, Android, iOS

Storage

Databases, MySQL, JSON, PostgreSQL, MariaDB, Redis, NoSQL, SQL Server 7, MongoDB, Elasticsearch, Couchbase, Couchbase Lite, Spring Data Elasticsearch, MarkLogic, Redshift

Other

Back-end, Data Structures, APIs, Full-stack, RESTful Microservices, HTTP REST, API Integration, Engineering, API Design, Full-stack Development, Code Review, Enterprise, Multithreading, Hexagonal Architecture, Architecture, Algorithms, Enterprise Java Beans (EJB), IntelliJ SDK, CI/CD Pipelines, SaaS, Front-end, Artificial Intelligence (AI), Multimedia, Domain-driven Design (DDD), Logback, Bootstrap 4, Computer Engineering, Filebeat, Web Development, Quarkus, Data Labeling

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