Job Opportunity
About the Role
This company focuses on cloud-native technologies and is committed to helping clients build better software.
* The mission is to support the transformation of development and infrastructure teams to become cloud-native.
* A supportive culture offers opportunities for you to develop your knowledge and skills while connecting with a range of IT professionals.
Professional working relationships are valued.
Key Responsibilities:
As a Senior Java Developer, you will play a vital role in supporting and maintaining solutions for Nexus Cloud and back-end Java/AWS/Oracle components.
* Develop enterprise-grade software using Java and Oracle technologies.
* Design data models, translate them into physical data models, and implement them using Oracle Database.
* Implement CRUD operations on the database using Java Object-Relational Mapping frameworks.
* Produce and maintain detailed design artefacts & technical specifications.
* Create and work with RESTful OpenAPI specifications, SOAP WSDLs, XML Schemas.
* Develop and maintain DevOps workflows using Jenkins, Git, and Maven & Ant.
* Perform and build Nexus software releases following established processes.
* Provide advice and support for directors and C-level executives.
* Participate in on-call services as part of a team roster (calls are rare).
Essential Skills Required:
* Excellent verbal and written communication skills.
* At least 8 years of Java experience, including enterprise design patterns, JPA, Hibernate ORM, JEE, and reactive programming.
* Java Web service development, SOAP, and REST APIs, OpenAPI/XSD Schemas, XML/JSON, Spring/SpringBoot.
* Experience with Unix/Linux, Bash.
* Maven lifecycle management, continuous integration, Unit and System Integration testing.
* Major database experience, including data modeling and stored procedures. Oracle is preferred.
* Willingness to be available 24x7.
* Experience with AWS development (EC2, Lambdas, API Gateway, S3/SQS, Cloud Formation).
Qualifications and Experience:
A strong commitment to software engineering processes and a proven ability to develop robust and maintainable software.
* A proven ability to document technical processes.
* Implement and maintain automated testing.
* Provide feedback on implementation and design aspects.
* Assist in the continuous improvement process by developing and enhancing procedures and producing documentation.
* Work as a member of an integrated Agile team.
Benefits:
A supportive and collaborative environment fosters growth and innovation.