Job Description
Remote is seeking Senior Software Developers to join the team at ASD. The Senior Software developers will support, maintain and enhance existing software capability ensuring application availability, ensure quality and security of software capability through appropriate testing and review and assist in the continuous improvement process by developing and enhancing procedures. They will have demonstrated competence in Java software development (.Net or other programming experience will also be considered) and Python and/or similar experience with other scripting languages.
Role Description
Job Duties and Responsibilities may include:
- Support, maintain and enhance existing software capability ensuring application availability.
- Ensure quality and security of software capability through appropriate testing and review.
- Assist in the continuous improvement process by developing and enhancing procedures.
- Engage with business and product owners to clarify and fully develop user requirements using agile development methods.
- Document technical processes in accordance with organisational policies and procedures and promote bi-directional knowledge transfer within a team environment.
- Provide guidance and uplift capability of other team members. Work as a member of an integrated team and effectively prioritise, allocate tasks, participate in and contribute to design reviews, stakeholder meetings and agile processes.
- Enhance and support automation capability for existing systems and recommend/design new structures and tools which meet business requirements which take into account the target environment. Integrate Commercial Off-The-Shelf and Government Off-The-Shelf software. Translate logical designs into physical designs and integrate software employing an Agile Software Development Methodology (ASDM).
Technical skills:
- Experience in the Cyber Security or related domain would be highly regarded
- Demonstrated competence in Java software development (.Net or other programming experience will also be considered)
- Demonstrated competence with Python and/or similar experience with other scripting languages
- Experienced in developing and deploying software within a Linux / UNIX environment
- Demonstrated competence in the use of automation and deployment tools.
Essential criteria:
- PROG 5 - Programming/software development: Level 5 (SFIA) Takes technical responsibility across all stages and iterations of software development. Plans and drives software construction activities. Adopts and adapts appropriate software development methods, tools and techniques. Measures and monitors applications of project/team standards for software construction, including software security. Contributes to the development of organisational policies, standards, and guidelines for software development.
- TECH 5 - Specialist advice: Level 5 (SFIA) Provides definitive and expert advice in their specialist area. Actively maintains recognised expert level knowledge in one or more identifiable specialisms. Oversees the provision of specialist advice by others. Consolidates expertise from multiple sources, including third-party experts, to provide coherent advice to further organisational objectives. Supports and promotes the development and sharing of specialist knowledge within the organisation.
- DESN 5 - Systems design: Level 5 (SFIA) Designs large or complex systems and undertakes impact analysis on major design options and trade-offs. Ensures that the system design balances functional and non-functional requirements. Reviews systems designs and ensures that appropriate methods, tools and techniques are applied effectively. Makes recommendations and assesses and manages associated risks. Adopts and adapts system design methods, tools and techniques. Contributes to development of system design policies, standards and selection of architecture components.
- SYSP 5 - System software: Level 5 (SFIA) Ensures that system software is provisioned and configured to facilitate the achievement of service objectives. Evaluates new system software and recommends adoption if appropriate. Plans the provisioning and testing of new versions of system software. Investigates and coordinates the resolution of potential and actual service problems. Ensures that operational procedures and diagnostics for system software are current, accessible and well understood.
- SINT 4 - Systems integration and build: Level 4 (SFIA) Provides technical expertise to enable the configuration of system components and equipment for systems testing. Collaborates with technical teams to develop and agree system integration plans and report on progress. Defines complex/new integration builds. Ensures that integration test environments are correctly configured. Designs, performs and reports results of tests of the integration build. Identifies and documents system integration components for recording in the configuration management system. Recommends and implements improvements to processes and tools.
Desirable criteria:
- Strong written and verbal communication skills
- Desire to be accountable for their actions
- Strong stakeholder management skills
- Demonstrate leadership behaviours
- Willing to challenge the traditional ways of doing business
- Thrive in dynamic environments and comfortable with ambiguity
- Outcome-focused mindset
- Adaptability, resilience, flexibility and teamwork, including regionally dispersed teams