Job Summary
We are seeking an experienced Java Software Engineer to join a team responsible for developing and enhancing an enterprise-grade platform for storing, trading, and servicing digital assets. This hands-on role involves designing, developing, testing, and deploying secure, scalable, and resilient cloud-based microservices using modern software development practices. The ideal candidate will collaborate with cross-functional teams to build high-quality software solutions in a fast-paced Agile environment.
Key Responsibilities
• Design, develop, and maintain secure, scalable, and resilient cloud-based microservices using Java and Spring Boot.
• Collaborate with technical leads, architects, and cross-functional teams to deliver high-quality software solutions.
• Design and implement RESTful APIs, client services, and asynchronous messaging solutions.
• Develop and maintain SQL database solutions for application data management.
• Write automated unit and integration tests to ensure software quality and reliability.
• Package applications using container technologies and prepare services for cloud deployment.
• Build and deploy applications using continuous integration and automated deployment pipelines.
• Participate in code reviews, design reviews, and engineering best practices.
• Work closely with product management to analyze requirements, decompose epics into user stories, and deliver customer-focused solutions.
• Build scalable, resilient cloud-based systems aligned with long-term technology strategies.
• Provide production support, including participating in on-call rotations when required.
• Mentor and support junior software engineers.
Required Qualifications
• Bachelor's degree in Computer Science, Engineering, or a related field is preferred.
• 5+ years of software engineering experience.
• Strong expertise in Core Java and Spring Boot.
• Experience developing RESTful services and microservices-based applications.
• Proficiency with SQL and relational databases.
• Experience with AWS or other cloud platforms.
• Experience with containerization technologies such as Docker and Kubernetes (EKS).
• Experience with version control systems such as Git.
• Experience with messaging technologies such as Kafka, Amazon SNS, and Amazon SQS.
• Understanding of microservices architecture and Twelve-Factor App principles.
• Experience writing unit and integration tests using JUnit and Spring Boot Test.
• Experience with CI/CD pipelines and deployment tools such as Jenkins.
• Ability to build reliable and resilient software solutions.
• Strong analytical, problem-solving, communication, and organizational skills.
• Ability to work effectively both independently and within Agile development teams.
• Passion for learning new technologies and continuously improving technical skills.
Preferred Qualifications
• Experience developing enterprise-grade cloud-native applications.
• Experience working in Agile software development environments.
• Experience mentoring junior engineers and contributing to engineering best practices.
• Experience supporting production applications and participating in on-call support rotations.