Embedded Software Engineer
- Contribute at all stages of the full software life cycle from requirements analysis; through design, coding and unit test; to integrating the software with the hardware target, laboratory-based acceptance test, delivery and maintenance.
- Develop the embedded software required to enable the functionality of the company's instrument.
- Work closely with Software QA developers to ensure they develop tests to adequately verify all development activities.
- Create and maintain a software system that allows the effective set up of experiments, captures experimental data and allows review and analysis of the experimental data.
- Assist in prototype board debug providing problem analysis, test code if required and solution options.
- Store all software source code, build instructions and special/tools or utilities needed to accomplish the above in a suitably organised GitHub repository.
- Define and execute the required unit testing verification activities needed to demonstrate the software design has met specification.
- Maintain the associated paperwork, log books and test reports required to keep a design history of work performed, in line with specified standards and regulations, e.g. IEC 62304, ISO 13485 or FDA 21CFR, part 820
- Ensure compliance with the company's internal quality processes and ensure designs / ideas are compliant with appropriate international standards and guidelines (as above).
- Degree qualified in computer science, software engineering or a closely related discipline.
- Development experience as part of scrum team and a working knowledge of agile principles.
- Ability to translate requirements into design specifications and a demonstrable understanding of requirements management.
- Highly proficient in embedded C and have proven experience with; 16/32-bit Microcontrollers, RTOSs, multi-threaded and multi-processor systems, communication protocols (SPI, I2C, TCP/IP)
- Knowledge of interrupt handling, bootloaders, flash operations and peripheral programming.
- Practical experience and in-depth knowledge of an IDE and JTAG debuggers/programmers
- Use of defect and task tracking software e.g. Jira
- Experienced with version control systems (SVN / GIT)
- Experience developing safety critical software or for a highly regulated market
- An understanding of balancing technical development with business requirements and schedules
- Experience in the development and execution of Unit Testing
- Experienced in the use of Static Analysis tooling
- Experience of working as part of an Agile team
- Linux as a development target
To find out more about Real please visit www.realstaffing.com
Real Staffing, a trading division of SThree Partnership LLP is acting as an Employment Agency in relation to this vacancy| Registered office | 1st Floor, 75 King William Street, London, EC4N 7BE, United Kingdom | Partnership Number | OC387148 England and Wales