
Esraa Hefny
Verified Expert in Engineering
Software Developer
Alexandria, Alexandria Governorate, Egypt
Toptal member since November 6, 2023
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
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
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
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.
Full-stack Developer
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.
Senior Software Engineer
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.
Software Engineer
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.
Experience
Hat-W-Khod
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
Bachelor's Degree in Computer Engineering
Alexandria University - Alexandria, Egypt
Certifications
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
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