Job Description
Remote is seeking a Principal Java/Bespoke Software Developer to join the team at the Australian Maritime Safety Authority (AMSA). The successful candidate will support, maintain and enhance NEXUS, a life-critical application used by the Rescue Coordination Centre Australia to coordinate maritime and aviation search and rescue activities and respond to pollution incidents.
Working within a small team of experienced developers and subject matter experts, the role will focus on NEXUS cloud and back-end components built using Java, AWS and Oracle technologies. Responsibilities will include enterprise software development, system integration, database design, DevOps workflows, technical documentation, software releases and limited rostered on-call support. (LH-07371)
Role Description
This role will support and develop AMSA’s life critical application NEXUS. NEXUS is used by AMSA's Rescue Response Centre Australia (RCCA) to help coordinate assets in maritime and aviation search and rescue incidents and triage and respond to pollution events.
Supporting the following Nexus users:
-
RCCA Staff (RCCA).
-
RCCA Intelligence Operators.
NEXUS System consists of multiple components built on various technologies/languages (.NET, Java, AWS, Oracle PL/SQL, ArcGIS) providing NEXUS users the capability to perform their operational business functions. This role will focus on supporting, maintaining and developing solutions for NEXUS cloud and back-end Java/AWS/Oracle components. NEXUS back-end comprises of multiple Java components and Java EE JMS components used for data integration and message processing. It also consists of AWS cloud components used to provide external integrations with AMSA’s external clients/partners.
Working in a small team of highly skilled Java and .NET developers/SME’s with years of business knowledge that all contribute to AMSA’s in-house support of Nexus.
Responsibilities will include:
-
Develop enterprise-grade software using Java and Oracle technologies
-
Develop / maintain web-based UI using ReactJS, CSS and HTML
-
Design data models, translate to physical data models and implement 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
-
Providing advice and support for Applications Director & CIO
-
Provision of on-call services as part of a team roster (calls are rare one per year)
Essential Skills Required
-
Excellent verbal and written communication skills.
-
At least 8 years Java experience, enterprise design patterns, JPA, Hibernate ORM, JEE an advantage, reactive programming an advantage.
-
Java Web service development, SOAP and REST APIs, OpenAPI/XSD Schemas, XML/JSON, Spring/SpringBoot.
-
Unix/Linux, Bash.
-
Maven lifecycle management, Continuous Integration, Unit and System Integration testing.
-
Major database experience, including data modelling, stored procedures. Oracle preferred.
-
Willingness to be 24x7 on-call. Historically calls escalated to the dev team between 10pm and 6am are rare one per year.
-
AWS development (EC2, Lambdas, API Gateway, S3/SQS, Cloud Formation).
Technical skills
-
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 as required from other areas.
-
Assist in the continuous improvement process by developing and enhancing procedures and produce documentation, including detailed design documentation, in accordance with client policies and procedures.
-
Work as a member of an integrated Agile team comprising technical and non-technical personnel.
Essential criteria
-
Programming/software development: Level 6 (SFIA): Develops organisational policies, standards, and guidelines for software construction and refactoring. Plans and leads software construction activities for strategic, large and complex development projects. Adapts or develops new methods and organisational capabilities and drives adoption of, and adherence to policies and standards.
Additional requirements
-
Must be Ok to be on call 24/7/365 in conjunction with the team. This is rostered to allow for leave etc, but when you are on call the candidate is responsible for break fix for a critical lifeline.