Senior Java Software Engineer

e& Egypt

Cairo

Description

About the Role

We are seeking an experienced Senior Java Developer to design, develop, and maintain highly scalable, cloud-native applications using Java and Spring. In this role, you will bring hands-on expertise across the full software lifecycle-design, architecture, and development-to build robust solutions that power our platform. You will play a key part in shaping technical direction, modernizing legacy systems, and driving forward an ambitious digital transformation initiative, all while helping grow the engineering talent around you.

Responsibilities

  • Contribute to architecture and design decisions -Actively participate in defining solution architecture, evaluating trade-offs, and making sound technical design decisions that align with business goals.
  • Develop well-tested, high-quality solutions -Design and implement reliable, maintainable features backed by comprehensive automated testing to ensure production-grade quality.
  • Drive digital transformation and modernization -Contribute to a strategic digital transformation program, revamping and re-architecting legacy systems into modern, cloud-native solutions.
  • Mentor and support junior developers -Provide technical guidance, conduct code reviews, and foster the professional growth of junior team members through coaching and knowledge sharing.

Qualifications

  • University Degree Computer Science / Engineering.
  • 5 -7 years of experience in software development

Desirable Qualifications

  • Java & Spring Boot - Strong, hands-on proficiency in Java and the Spring Boot framework for building enterprise-grade applications.
  • Architecture & design patterns - Practical experience applying architectural styles and patterns such as Clean Architecture, Hexagonal Architecture, Event-Driven Architecture, Domain-Driven Design (DDD), and Test-Driven Development (TDD).
  • Microservices - Hands-on experience designing, building, and operating microservices-based systems.
  • Databases, messaging & caching - Hands-on experience with relational and/or NoSQL databases, messaging systems (e.g., Kafka, RabbitMQ), and caching solutions (e.g., Redis).
  • API design -Hands-on experience designing well-structured, robust APIs (e.g., REST and/or gRPC), with attention to versioning, security, and documentation.
  • Automated testing - Proficiency writing well-tested code using JUnit and Mockito, following test automation best practices.
  • Containerization & orchestration - Familiarity with Docker and Kubernetes for packaging and deploying cloud-native workloads.
  • CI/CD & DevOps (recommended) - Experience with CI/CD pipelines and automation tooling (e.g., Jenkins, GitLab CI, GitHub Actions) to support continuous delivery.
  • Version control & collaboration (recommended) - Proficiency with Git and collaborative development workflows.