Develop, update, and maintain NIRIS software modules in accordance with agreed requirements, priorities, and release planning (NIRIS 4.7 and 4.8)
Evolve Java software components to support sustained compatibility with supported Java LTS runtimes
Implement agreed functional enhancements, including CESMO integration (Electronic Surveillance information exchange) and historic track data capabilities (filtered retrieval from stored NIRIS recordings)
Enhance the RTS subscription mechanism and UI to support filtering by source name, time interval, geolocation, and track number
Prepare software baselines for integration, testing, acceptance, and release
Develop and maintain unit tests and automated tests for implemented software changes
Support regression testing to ensure software quality, maintainability, and early defect detection
Ensure test coverage of at least 85% for delivered changes where technically applicable
Enhance NIRIS logging functionality, including per-port, per-endpoint, and per-interface logging
Implement logging filters, improved stack trace handling, log compression, and framework migration as required
Enable more efficient identification and analysis of runtime errors and operational incidents
Maintain and improve NIRIS interfaces with external systems, including support for Link 16 / JREAP, OTH-Gold, DIS, VMF, AIS, and other agreed formats
Provide technical support for interoperability test events (CWIX, TDLITS, INTEND, customer visits)
Address OANT/SMAQ configuration issues and analyser limit challenges
Update user manuals, governance documentation, technical design documents, interface documentation, test documentation, and release-related artefacts
Ensure all documentation remains accurate, current, and consistent with the implemented software baseline
Participate in sprint planning, daily stand-ups, sprint reviews, and project meetings
Track progress using agreed tools (Jira or equivalent) and proactively communicate risks or deviations
Submit Deliverable Completion Reports with evidence of code commits, test results, and traceability to acceptance criteria
Requirements
Minimum 5 years professional software development experience (full-stack focus)
Minimum 3 years Java development experience (modern frameworks, backend services)
Minimum 2 years TypeScript and/or Angular experience
Minimum 2 years RESTful services, messaging systems, or data exchange interfaces
Minimum 2 years near real-time or data-intensive systems
Minimum 1 year Docker (build, package, deploy Linux containers)
Minimum 3 years DevOps/CI/CD (GitLab, automated pipelines, artifact repos)
Demonstrable experience with unit, integration, and automated testing