Roles and Responsibilities
- Interacts with the Team Lead and Business Analysts to understand features and design for implementation.
- Designs, develops, and implements modern web-based/backend applications to support business requirements.
- Performs hands on coding using Java /AWS & writes unit test cases for good code coverage.
- Resolves technical issues through debugging, research and investigation.
Job Requirements
- More than 10 years of experience in designing and developing distributed applications using Java EE platform and related frameworks.
- Strong understanding of Object-Oriented concepts in Java.
- Expertise in Core Java /Advanced Java and Spring Frameworks - Spring MVC, Spring Boot, Spring Batch.
- Must have a minimum of 3 years of experience in building and deploying applications on AWS Cloud.
- Experience building Serverless applications on AWS using AWS SAM, API Gateway, Lambda, SQS, SNS, Kinesis, Cognito, DynamoDB, IAM Roles/Permissions.
- Experience in building RESTful APIs.
- Experience in using OAuth2/OIDC.
- Experience using Maven and Jenkins for CI/CD.
- Experience in messaging technologies like JMS/AWS SNS, SQS/Kafka.
- Experience in using relational databases like Oracle/PostgreSQL.
- Experience in modelling NoSQL databases like AWS DynamoDB with a good understanding of DynamoDB modelling concepts.
- Experience in deploying applications in Unix environments and writing shell scripts.
- Experience in debugging AWS native applications using CloudWatch/Splunk.
Good to Have
- Experience in using NoSQL databases like DynamoDB/Cassandra/MongoDB.
- Experience in using caching technologies like Redis, Memcached or similar.
- Building and deploying applications as Docker Containers on AWS ECS.
- Experience in application log analysis using Splunk or any other log search tool.
- Mobile app development experience using hybrid frameworks like React Native/Flutter.
Education:
- Bachelor’s degree in computer science or workforce equivalent Technical certifications preferred.