Software Development- Design, develop, document, implement and maintain software components.
- Work with the existing Delphi codebase while evaluating and contributing to the selection of modern languages and toolchains for future development.
- Work with compiler toolchains to manage build pipelines and automated tests.
- Write clean, efficient, well-documented code.
- Maintain and refactor legacy Delphi codebases as required during the transition period.
Hardware-Software Integration
- Collaborate closely with the Embedded Systems Engineer to understand hardware designs, constraints and data outputs.
- Participate in software reviews, including reviews of changes to embedded software.
- Participate in hardware-software integration testing to ensure correct end-to-end functionality.
System Design & Architecture
- Participate critically in review of system requirements and translate these into detailed software specifications.
- Design software architectures that meet performance, memory, and reliability constraints.
- Apply sound object-oriented design and systems engineering principles.
Testing & Validation
- Develop and execute unit tests, integration tests, and system-level test plans.
- Apply test-driven development practices and contribute to continuous release processes.
- Identify and resolve defects using appropriate debugging and analysis tools.
Documentation & Compliance
- Write and maintain clear documentation including design specifications, technical notes, and user guides.
- Ensure software quality and traceability in line with internal standards and best practices.
Research & Innovation
- Stay current on relevant technologies, tools, and trends in software for embedded and industrial systems.
- Contribute ideas to improve software performance, reduce technical debt, and modernise toolchains.
Requirements