Software Engineer with a strong background in Java, Spring Framework, and Spring Boot. Over 6 years of experience in designing, developing, and maintaining robust, scalable, and high-performance software solutions. Adept at collaborating with cross-functional teams to deliver innovative solutions that meet business objectives. Proven expertise in full-stack development, database management, and cloud integration. Passionate about staying up-to-date with emerging technologies and best practices to ensure the delivery of cutting-edge software solutions.
Summary
Work Experience
DXC Technology
Devolopment Tech Lead
January 2024 - Now
NetworkRail Account (UK):
- Leadership Role:
- Lead and mentor a team of front-end (Angular) and back-end (Spring Boot) developers.
- Guide the development team in adopting best practices and modern technologies.
- Collaborate with cross-functional teams to define, design, and deliver complex software solutions.
- Code Quality & Best Practices:
- Enforce best coding practices, including code reviews, unit testing, and continuous integration.
- Implement design patterns and scalable architectures in both front-end and back-end systems.
- Architecture Design & Cloud Integration
- Design and implement scalable, high-performance web applications hosted on Azure.
- Lead the adoption and integration of cloud-native technologies and services on the Azure platform (such as Azure App Services, Azure Functions, etc.).
- DevOps and Automation
- Collaborate with DevOps teams to enhance CI/CD pipelines and deployment processes.
- Monitor application performance and implement strategies for improvement and scaling.
Orange Business Services
Senior Software Engineer
August 2022 - December 2023
working on applications that allow internal users to register, log in, create budgets, add expenses, categorize expenses, and generate reports using SOAP-based web services. The frontend (Angular) will communicate with the backend (Java, Spring, MySQL) through RESTful APIs for managing budgets and expenses.
Backend (Java, Spring Framework, Spring Boot, Spring Security, Spring Data, MySQL, APIs, SOAP):
- User Authentication and Authorization: Implement Spring Security for user authentication and authorization. Define roles like "Admin" and "User" with appropriate access levels.
- Spring Data Repositories: Use Spring Data JPA repositories to perform CRUD operations on the entities.
- RESTful APIs: Create RESTful APIs using Spring MVC to handle requests from the front end. For example, endpoints to create, read, update, and delete budgets and expenses.
- SOAP Web Service: Implement a SOAP web service for specific functionalities, such as generating reports or analytics based on budget and expense data.
Frontend (Angular):
- User Authentication: Implement a login and registration system on the frontend, which communicates with the backend for user authentication.
- Forms and Data Binding: Create forms for adding/editing budgets and expenses, with two-way data binding for a seamless user experience.
- HTTP Client: Use Angular's HTTP client module to make API calls to the backend for retrieving and updating budget and expense data.
Database Management (MySQL):
- Set up a MySQL database to store user information, budget details, expense records, categories, etc.
Deployment:
- Deploy the application on a web server, and consider using tools like Docker for containerization and deployment.
Amer Group
Software Engineer
March 2020 - August 2022
Website Management:
- Responsible for overseeing and securing diverse group websites developed using various technologies including PHP (Laravel), WordPress, etc.
Online Reservation Systems:
- Designed and implemented online reservation systems (both web and mobile) using Spring Boot, Spring Security, Spring Cloud, Spring MVC, and Hibernate.
- Integrated with databases like PostgreSQL and MongoDB.
- Successfully integrated online payment gateways such as Stripe, Fawry, and Paymob.
Back Office Integration:
- Extensive experience integrating with back-office systems like SAP and Oracle Opera.
IPPSOL
Fullstack developer
March 2018 - October 2019
- Successfully architected and developed a comprehensive company portal comprising three distinct parts, enhancing operational efficiency and customer engagement across various aspects of the business.
- Engineered a robust e-commerce platform for raw materials in the plastic industry, resulting in increased sales and improved inventory management.
NIOTEK TECHNOLOGY S.A.E
Backend Developer
February 2016 - November 2017
Education
Arab Open University Egypt Branch
Computer secince - Bachelor
2013 - 2018
Skills
Development Backend
Java EE | Jakarta | Spring Framework | Spring Boot | Spring Cloud | Spring Security | Hibernate | Thymeleaf | Python - Django | NodeJs - Express.js | Java Servlet | SOAP | REST | MySql | Postgress
MongoDB | Redis | RabbitMQ | Apache kafka | Maven | Design patterns (Adapter, Facade, Singleton...etc)
Design & Architecture like DDD (Domain Driven Design) | Git (CLI/GUI) | Linux (Debian mostly) server’s administration
Bash & PowerShell & JShell Scripting
Development Frontend
HTML | CSS | Javascript | typescript | Angular | VueJs
DevOps & Cloud
AWS | Docker | kubernetes | gitlab CI\CD | Jenkins
Team & workflow
Trello | Jira | Confluence | Microsoft teams | Notion