We are offering an amazing opportunity for a motivated and creative graduate to join our team in late summer 2025. Job Overview: We are looking for a logical thinker who can use their science, engineering or mathematical background to analyse and solve software design challenges across various development projects. Our projects will require a variety of approaches, from theoretical modelling and simulation to hands-on prototyping and testing. This is a consultancy role involving end-to-end development, quality, and testing. You will have the ability to adapt to the appropriate development environment and language for a particular application and client, an aptitude for software architecture and design, code implementation, and testing ready for release. Your continued development is paramount to us and we will offer tailored guidance and support while you are working on interesting and challenging projects. You will represent the company through external meetings with clients and suppliers, as well as being an effective member of internal project teams. Responsibilities: You will contribute as part of a team to work on software concept development, detailed design, implementation, documentation, prototyping, testing, and software build and release tasks as required for consultancy projects. Software development is to be undertaken in accordance with industry standards and working within an ISO 13485 quality management system. Ideal candidate requirements: A logical thinker on track to achieve or have a relevant honours degree with a minimum of a 2:1 or equivalent in an engineering, maths, or science-based course. Additionally, you will be able to demonstrate some of the following skills and aptitudes: 1. Good C++ / C#, preferably with some understanding of, or a willingness to learn embedded, desktop, cloud, or mobile programming. 2. Experience of, or an interest in using real time operating systems: e.g. FreeRTOS, WindRiver, QNX, Windows Embedded or similar. 3. A basic understanding of communications protocol design, user interface design, security and cryptography. 4. Fundamental awareness of the principles of software engineering, including specification and verification within the full software development life cycle. 5. A basic understanding or willingness to learn Test Driven & Behaviour Driven Development. 6. An ambition to work on software development in medical and diagnostic devices, consumer products, biotechnology, laboratory or test equipment. 7. An ability to communicate ideas, concepts and designs and contribute to design and code reviews.