Job Title: Senior/Principal Java Developer
Position: Senior Software Engineer
Experience: 5 years to 12 years the Java J2EE
Category: Software Development/ Engineering
Main location: Chennai
Employment Type: Full Time
About the Role: We are seeking an experienced Java Principal Engineer to join our team and drive the technical vision, architecture, and design of enterprise-grade applications. You will work in an Agile environment, collaborating with product management and development teams to deliver high-quality, scalable, and secure software solutions.
Your future duties and responsibilities:
- Technical Skills
- Expert level proficiency in Java SE (minimum Java SE 11, preferred Java SE 17/21)
- Expertise in Java Jakarta EE
- JPA (EclipseLink), CDI, EJB, JAX-RS, and Annotation Processing (Jakarta EE 10)
- Experience with Jakarta EE containers (WebSphere Liberty or similar)
- Cloud Platforms: AWS, Azure, or Google Cloud
- Cloud-native development practices including containers (Docker, Kubernetes) and serverless architectures
- Asynchronous programming with JMS, Kafka, or RabbitMQ
- Patterns: SAGA, command-response-pattern, inbox/outbox
- Domain-Driven Design (DDD) with bounded contexts, aggregates, entities, and repositories
- Hexagonal architecture concepts
- Distributed systems patterns like eventual consistency, high availability, scalability, resilience
- RESTful APIs and microservices architecture (self-contained systems); Quarkus or MicroProfile
- PostgreSQL and data modeling concepts; concurrency control
- Git, Jenkins, ArgoCD, Docker/Podman
- Architecture Design
- Solution Architecture aligned with DDD and cloud-based infrastructure
- High-level and low-level designs addressing scalability, maintainability, performance
- Event-Driven Architecture for decoupled services and productive messaging
- Security best practices in cloud environments
- Team Leadership
- Mentorship of junior and mid-level developers
- Collaboration with DevOps, QA, and Product Management
- Experience in agile development environments (Scrum/Kanban)
- Problem-Solving Innovation
- Complex Problem-Solving in concurrency, data consistency, and distributed processing
- Technical Innovation and adoption of Jakarta EE, DDD, and cloud technologies
- Strong track record of introducing best practices
- Soft Skills
- Strong Communication: ability to convey technical ideas clearly to stakeholders
- Decision-Making under pressure
- Adaptability to evolving technologies and environments
Required qualifications to be successful in this role:
Education Qualification: Bachelor's degree in computer science or related field or higher with minimum 5 years of relevant experience.
Skills:
- Jakarta
- Java
- JPA
- Application Design
- Cloud architecture
- Design Thinking
- Logistics
📌 Senior Software Engineer - Principal Java Developer (Chennai)
🏢 CGI
📍 Chennai