Grade HResponsible for supporting software / platform engineering activities (depending on specialism), working with users to capture requirements, using sound technical capabilities to lead the design, development and maintenance of the relevant systems and ensuring compliance with the relevant standards. Specialisms: Software Engineering; Platform Engineering.
- Preferably a Bachelor's (or higher) degree, preferably in Computer Science, MIS/IT, Mathematics or a hard science. Experience range: 8 to 12 years
- Data Platform Delivery & Management: Delivers, manages and operates data platforms including but not limited to: data hubs, ETL and data ingestion, storage and repository maintenance, data publishing and consumption. Ensures that services and components meet fundamental data management and governance best practices, and the necessary security, devops and dataops control framework are in place.
- Availability Management: Contributes to the availability management process and its operation and performs defined availability management tasks. Analyses service and component availability, reliability, maintainability and serviceability. Ensures that services and components meet and continue to meet all of their agreed performance targets and service levels. Implements arrangements for disaster recovery and documents recovery procedures. Conducts testing of recovery procedures.
- Capacity Management: Monitors service component capacity and initiates actions to resolve any shortfalls according to agreed procedures. Applies techniques to control the demand upon a particular resource or service
- Programming Development: Designs, codes, tests, corrects and documents complex programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well engineered result
- Release and Deployment: Assesses and analyses release components. Provides input to scheduling. Carries out the builds and tests in coordination with testers and component specialists maintaining and administering the tools and methods – manual or automatic - and ensuring, where possible, information exchange with configuration management. Ensures release processes and procedures are maintained.
- Requirements Definition and Management: Facilitates scoping and business priority-setting for change initiatives of medium size and complexity. Contributes to selection of the most appropriate means of representing business requirements in the context of a specific change initiative, ensuring traceability back to source
- Systems Design: Produces detailed designs and documents all work using required standards, methods and tools, including prototyping tools, physical data flows, file layouts, common routines and utilities, program specifications or prototypes and backup, recovery and restart procedures where appropriate
- Technical Specialism: Maintains knowledge of specific specialisms, provides detailed advice regarding their application and executes specialised tasks
• Deep and hands-on experience designing, planning, implementing, maintaining and documenting reliable and scalable data infrastructure and data products in complex environments.
• Development experience in one or more object-oriented programming languages (e.g. Python, Go, Java, C++)
• Experience designing and implementing large-scale distributed systems
• Exposure to adjacent domains such as platforms, storage, databases
• Knowledge and experience in development and managing operations of IOT streaming, IOT Edge processing, and Digital Twins is a plus
• Knowledge of graph technologies is a plus
• Good knowledge and understanding of modern development methodologies (Agile using Scrum and/or Kanban)