Job Purpose:
As a
Software Engineer specializing in Java, you will collaborate with cross-functional teams to design, develop, and maintain Java-based applications and services deployed on AWS. You will work under the guidance of senior engineers to build scalable, reliable software solutions that meet business requirements and leverage cloud technologies for optimal performance and availability.
Key Responsibilities:
Software Development & Maintenance
Design, develop, test, implement and deploy new software, as well as
maintaining existing software, with a focus on quality, efficiency, and scalability.
Configure, execute, and manage GitLab CI/CD pipelines across staging and production environments.
Ensure deployments are consistent, reliable, and compliant with best practices in cloud infrastructure.
Agile & Cross-Functional Collaboration
Partner with development, QA, and customer success teams to align deployment requirements, customer-specific needs, and release timelines.
Provide deployment support during customer onboarding and release rollouts, ensuring successful configuration and transition.
Communicate effectively with technical and non-technical stakeholders to keep them informed of deployment status, issues, and resolutions.
Participate in agile ceremonies and contribute to sprint planning, retrospectives, and continuous delivery goals.
Continuous Learning & Upskilling
Stay up to date with the latest AWS services, DevOps practices, and CI/CD advancements.
Learn and experiment with new tools, scripting frameworks, and automation techniques to enhance deployment capabilities.
Engage in peer learning, mentorship, and knowledge-sharing sessions to foster team-wide technical growth.
Process Improvement & Innovation
Troubleshoot and resolve deployment issues quickly and perform root cause analysis to implement long-term solutions.
Monitor deployment processes and post-deployment health using AWS CloudWatch, New Relic, and other monitoring tools.
Document deployment processes, environment configurations, and customer-specific customizations to ensure repeatability and knowledge transfer.
Identify gaps in current processes and propose innovative automation solutions to improve scalability, efficiency, and reliability.
Essential Qualifications & Experience
Over 2 years of hands-on experience designing and developing Java-based applications using J2EE, Spring, REST, and Microservices on Linux environments.
Build and consume RESTful APIs to support application functionality.
Perform unit testing, integration testing, troubleshooting, and debugging of applications.
Experience with Linux command line.
Basic knowledge of AWS cloud services such as EC2, S3, Lambda, and RDS.
Familiarity with databases and SQL.
Basic understanding of web technologies (HTTP, REST, JSON).
Proficiency in Bash, Python, and JavaScript for scripting and automation.
Excellent troubleshooting skills with the ability to perform root cause analysis under time-sensitive conditions.
Contribute to the automation of deployment, testing, and monitoring processes
Strong communication and interpersonal skills, with the ability to collaborate effectively across cross-functional teams and interact with customers when needed.
Bonus Qualifications:
AWS Cloud Practitioner Certification
Understanding of CI/CD pipelines and containerization (Docker).
Experience with DevOps practices, including CI/CD pipelines and infrastructure automation.
Understanding of software design patterns and architectural principles.
Ability to work in a fast-paced, dynamic environment and adapt to changing requirements.
Commitment to continuous learning and professional development.
Other Contextual Information:
Hybrid working environment, requiring both remote and on-site collaboration at IMS offices as needed.
Opportunity to work on modern cloud-based software solutions, contributing to key projects in the insurance and mobility industries.
Must be comfortable working within a distributed, cross-functional team.