About the role
Max Notice period Immediate to 30 Days
Work location: Chennai and 2nd Priority: Bangalore.
Experience: 7+ Yrs. Upto 12 Yrs.
Technical Skills
Expertise in Java & Jakarta EE:
- Expert level proficiency in Java SE (minimum Java SE 11, preferred Java SE 17/21)
- Deep knowledge of Jakarta EE specifications, including JPA (EclipseLink), CDI, EJB, JAX-RS and Annotation Processing (Jakarta EE 10).
- Experience with Jakarta EE containers (WebSphere Liberty or similar).
Cloud Platforms:
- Hands-on experience with cloud providers like AWS, Azure, or Google Cloud.
- Understanding of cloud-native development practices, including containers (Docker, Kubernetes) and serverless architectures.
Asynchronous Programming:
- Proficiency in asynchronous programming paradigms using technologies like JMS, Kafka, or RabbitMQ.
- Familiarity with patterns to deal with asynchronous complexity like SAGA, command-response-pattern or inbox / outbox.
Domain-Driven Design (DDD):
- Experience designing and implementing solutions following DDD principles.
- Strong understanding of strategic and tactical DDD, including bounded
- contexts, aggregates, entities, and repositories.
- Ability to translate principles like hexagonal architecture into practical software design.
Distributed Systems:
- Knowledge of distributed system patterns like eventual consistency.
- Experience designing systems for high availability, scalability, and resilience in a cloud environment.
APIs and Microservices:
- Proficiency in designing and developing RESTful APIs.
- Knowledge of microservices architecture like self-contained systems and tools like Quarkus or MicroProfile.
Databases:
- Strong experience with relational databases (PostgreSQL).
- Deep understanding of central data modeling, transaction handling and concurrency control concepts.
- Knowledge of data storage best practices in distributed and asynchronous systems.
Software Development Ecosystem:
- Hands-on experience of industry standard dev tools like source code management (Git), CI/CD (Jenkins, ArgoCD) and runtime tools (Docker / Podman).
Architecture & Design
Solution Architecture
- Ability to define and oversee the system’s architecture in line with the principles of DDD and cloud-based infrastructure.
- Experience in creating high-level and low-level designs, addressing scalability, maintainability, and performance.
Event-Driven Architecture:
- Experience designing and building event-driven architectures, ensuring decoupling of services and efficient message passing.
Security:
- Knowledge of security best practices and vulnerability prevention strategies in cloud environments.
Team Leadership
Mentorship:
- Ability to mentor junior and mid-level developers, guiding them through complex design and implementation challenges.
- Foster a culture of continuous learning and improvement within the development team.
Collaboration:
- Strong collaboration with other teams (DevOps, QA, Product Management) to ensure alignment on technical and business goals.
- Experience working in agile development environments (Scrum/Kanban).
- Problem-Solving & Innovation
Complex Problem-Solving:
- Ability to identify and solve complex technical problems, especially in areas related to system concurrency, data consistency, and distributed processing.
Technical Innovation:
- Stay updated with the latest advancements in Jakarta EE, DDD, and cloud technologies, promoting their adoption when appropriate.
- Strong track record of driving innovation and introducing best practices.
Soft Skills
Strong Communication:
- Excellent verbal and written communication skills, able to convey technical ideas clearly and concisely to both technical and nontechnical stakeholders.
Decision-Making:
- Ability to make well-informed decisions under pressure, particularly in high-stakes scenarios involving the production system.
Adaptability:
- Comfortable with evolving technologies and environments, especially with the rapid changes in cloud and asynchronous systems.