About this role
Salary: £30,000 - 50,000 per year
Requirements: Strong programming ability in one or more languages such as Python, C#, C++, TypeScript, or similarGood understanding of object-oriented programming (OOP)Strong software engineering fundamentals, including modular design, separation of concerns, version control, testing, and debuggingExperience developing well-structured software for complex systemsStrong analytical and problem-solving skillsA STEM background such as Computer Science, Engineering, Mathematics, or Physics, or equivalent practical experienceExperience with machine vision or image/data processing is advantageousExperience with sensor or hardware integration is advantageousExperience with multithreaded, real-time, or performance-sensitive software is advantageousExperience developing Windows or Linux desktop applications is advantageousExperience working across the full software stack is advantageousExperience contributing to established, shared codebases is advantageous Responsibilities: Develop and maintain high-quality, reusable software componentsWork across projects using Python, C#, C++, TypeScript, and modern web technologiesContribute to system design, technical decisions, and code reviewsDebug, profile, and optimize complex or performance-sensitive softwareWork within a multidisciplinary engineering teamSupport rapid development projects and longer-term product development Technologies: C#HardwareSupportLinuxOOPPythonTypeScriptWebWindows More:
We offer a permanent, hybrid opportunity to join our highly technical engineering team, developing sophisticated software for complex, real-world systems. Youll work on projects involving software development, data processing, sensor integration, and machine vision, from rapid proof-of-concept work to robust software components used in long-lived engineering products. Specialist domain knowledge isnt essential and can be developed within the role. This opportunity suits a Software Engineer who enjoys solving challenging technical problems, learning new technologies, and developing software that interacts with complex real-world systems.
last updated 40 week of 2026