RESPONSIBILITIES
- Contribute to the design and development of a high-volume enterprise messaging application.
- Support and enhance multiple mission-critical enterprise applications.
- Write unit and integration tests for new and legacy code.
- Take initiative and work independently on some projects while contributing to a large team on others.
- Collaborate with QA team to ensure quality production code.
- Provide second-tier production support for 24/7 applications.
- Follow team guidelines for quality and consistency within the design and development phases of the application.
- Identify opportunities to improve and optimize the application.
REQUIREMENTS
- Bachelor's degree in Computer Science or Information technology.
- 6+ years of experience with core Java and Java EE
- Proven success with test-driven development
- Understanding of distributed transactions
- A deep knowledge of:
- Java 8+
- OOD, Design Patterns
- Distributed messaging, JMS
- Spring and its frameworks like Spring Boot, Spring MVC, Spring Data
- Multi-threaded server-side development
- Experience in concurrent and distributed programming
- Track record of completing assignments on time with a high degree of quality
- Experience and/or knowledge of all aspects of the SDLC methodology and related concepts and practices
- Practical knowledge of Java application servers (JBoss, Tomcat) preferred
- Experience with Agile development methodologies preferred
- Knowledge of Maven / Gradle preferred
- Experience working with commodity markets or financial trading environments preferred
Good to Have & willing to learn.
- Experience with the core AWS services
- Knowledge on serverless approaches using AWS resources.
- Experience in AWS services such as API Gateway, Lambda, DynamoDB, S3,
- Cognito and AWS CLI.
- Experience in using AWS SDK
- Experience with AWS CDK
- Experience in AWS Amplify, RDS, EventBridge, SNS, SQS and SES
- Experience on WebSockets, PDF generation libraries