Job Description
Remote is seeking Software Developers to join the team at ASD. The Software Developers will deliver innovative capabilities by developing and integrating software, documenting technical processes and assisting with testing and deployment. The Software Developers will document technical processes in accordance with organisational policies and procedures and promote bi-directional knowledge transfer within a team environment and 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.
The Software Developers will have demonstrated experience in development languages/frameworks such as Python, Java, Java Messaging Service, Javascript/ Typescript, J2EE, RESTful web services, Django and Ruby, Kubernetes, OpenShift and demonstrated experience using Puppet, Ansible and Docker automation tools and React.
Role Description
Job Duties and Responsibilities may include:
- Design, build, integrate, deliver and document software capability that meets business requirements.
- Escalate issues and seek advice from team leader or project manager in a timely manner.
- 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.
- 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).
- Monitor systems and infrastructure; provide assistance with support requests to fix and troubleshoot issues.
- 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 ASD policies and procedures.
Technical skills:
- Demonstrated experience in development languages/frameworks such as Python, Java, Java Messaging Service, Javascript/ Typescript, J2EE, RESTful web services, Django and Ruby, Kubernetes, OpenShift
- Demonstrated experience using Puppet, Ansible and Docker automation tools
- Demonstrated experience using React.
Essential criteria:
- PROG 4 - Programming/software development: Level 4 (SFIA) Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services. Contributes to the selection of the software development methods, tools and techniques. Applies agreed standards and tools to achieve well-engineered outcomes. Participates in reviews of own work and leads reviews of colleagues' work.
- TECH 4 - Specialist advice: Level 4 (SFIA) Provides detailed and specific advice regarding the application of their specialism to the organisation's planning and operations. Actively maintains knowledge in one or more identifiable specialisms. Recognises and identifies the boundaries of their own specialist knowledge. Where appropriate, collaborates with other specialists to ensure advice given is appropriate to the organisation's needs.
- DESN 4 - Systems design: Level 4 (SFIA) Designs system components using appropriate modelling techniques following agreed architectures, design standards, patterns and methodology. Identifies and evaluates alternative design options and trade-offs. Creates multiple design views to address the concerns of the different stakeholders and to handle functional and non-functional requirements. Models, simulates or prototypes the behaviour of proposed system components to enable approval by stakeholders. Produces detailed design specifications to form the basis for the construction of systems. Reviews, verifies and improves own designs against specifications.
- SYSP 4 - System software: Level 4 (SFIA) Monitors system software metrics and adjusts configurations for optimum availability and performance. Reviews system software updates and identifies those that merit action. Configures system software for required functionality and performance. Investigates and resolves system software problems, requesting action from supplier if required.
- TEST 3 - Testing: Level 3 (SFIA) Designs test cases and test scripts under own direction, mapping back to pre-determined criteria, recording and reporting test outcomes. Participates in requirement, design and specification reviews, and uses this information to design test plans and test conditions. Applies agreed standards to specify and perform manual and automated testing. Automates testing tasks and builds test coverage through existing or new infrastructure. Analyses and reports on test activities, results, issues and risks.
- SINT 3 - Systems integration and build: Level 3 (SFIA) Defines the software modules needed for an integration build and produces a build definition for each generation of the software. Accepts completed software modules, ensuring that they meet defined criteria. Produces software builds from software source code for loading onto target hardware. Configures the hardware and software environment as required by the system being integrated. Produces integration test specifications, conducts tests and records and reports on outcomes. Diagnoses faults and records and reports on the results of tests. Produces system integration reports.