Responsibilities
Develop and deliver features based on project requirements.
Review peer
developers' source code and provide constructive feedback.
Prepare technical reports as requested by the PM.
Participate in technical training and knowledge-sharing activities.
Participate in BID interviews and solution/architecture discussions when required by the DUL.
Mentor and provide technical guidance to Junior/Mid-level developers.
Technical Requirements
Strong understanding of Networking: IP, CIDR, NAT, and OSI model.
Solid knowledge of Java Concurrency and Garbage Collection.
Proficient in Java Stream API, Lambda, and Functional Interfaces.
Experience with [protected info], React, or Angular, including component and state management.
Ability to design complex REST APIs, including pagination, filtering, and rate limiting.
Understanding of API monitoring, caching, and load balancing.
Strong experience with Spring Data JPA and transaction management.
Hands-on experience with at least one NoSQL database, including aggregation and projection.
Strong knowledge of SQL, including subqueries, views, query optimization, transactions, and ACID principles.
Experience with at least one cloud platform: AWS, GCP, or Azure; understanding of EC2 and object storage such as S3.
Strong understanding of SOLID principles and common design patterns.
Ability to analyze and troubleshoot issues through application/cloud logs.
Understanding of application security risks, including XSS, CSRF, and Injection.
Understanding of RBAC and ABAC authorization models.
Experience writing Unit Tests and Integration Tests.
Understanding of Microservice architecture and inter-service communication.
Proficient with Docker.
Hands-on experience with Redis and Kafka in application/system design.
Ability to create UML and flow diagrams.
Soft Skills
Strong problem-solving and analytical skills.
Able to communicate technical concepts clearly and effectively.
Good teamwork and collaboration skills.
Experience mentoring Junior/Mid-level developers.