Linaro is hiring a software engineer into the embedded device automation team. This role will be a bridge between the automation platform and the Linaro embedded device lab. The primary responsibility of the role will be to write custom software to map between the control plane components and embedded devices being automated. This role will require working with engineers in Linaro on a variety of teams, as well as engineers from customers, and open source software communities. Linaro specialises in testing automation on physical and virtual devices and developing device automation and testing tools. Our device automation tools enable hardware provisioning of all classes of devices, test scheduling, orchestration of build and test at scale, and reporting on regressions in continuous test and integration environments. A day in the life on this team will involve enabling a new device-type to run in the LAVA automation environment. This will involve researching the electronic component capabilities of each new device and working with the embedded-device lab team to connect the device to the Linaro Automation Appliance control harness or other custom control components. Work will proceed to interface the control harness physical capabilities with the automation software driver, by mapping physical devices control components to the LAVA software automation templates. The ideal candidate is someone who enjoys tinkering with embedded devices like arduino, and Raspberry Pi, and someone who likes booting Linux on a variety of devices. Interest in OS and firmware building, and Linux OS package integration is also a plus. The ideal candidate is able and eager to participate in public open source software projects with developers around the world. This position is open to college graduates as well as engineers with a few years experience. Compensation and responsibilities will be based on the candidate’s starting experience. It will be a challenging role that will position the candidate in the future as an experienced embedded-device developer, device automation engineer, or operating system integration engineer. This position is local to Cambridge, UK due to the hands-on nature of the role in writing software for physical embedded devices. As an entry-level engineer you will be paired with an experienced team lead who will onboard you and give you the coaching and mentorship you need to grow in your role at a reasonable pace, and teach you how to be productive and capable in a distributed working environment. Required Travel : Some International travel will be required for conferences and team working sprints. Key responsibilities will be a subset of the following: Research power-control, firmware control, factory-reset, and console interactivity mechanisms for new embedded devices from documentation sources. Create LAVA device-dictionaries and health-checks for automating testing on embedded devices. Create CI tests loops to prevent automation control regressions for all new hardware automation. Debug LAVA automation software failures on automated testing rigs. Document automation capabilities for each device and contribute to product documentation. Improve, and scale Linaro’s build, deploy, and test automation frameworks. Contribute as-needed to open source projects such as SQUAD and LAVA. Personal Skills Required Skills and Experience Familiarity with Python or C programming language. Familiarity with Shell scripting (sh, bash, zsh, etc.) Experience with embedded systems like Raspberry Pi or Arduino. Basic Knowledge using git SCM. Ability and willingness to travel domestically and internationally three to four times a year. Excellent communication skills in English, both verbal and written. Independently motivated, requiring little external motivation to keep on task. Ability to be productive as part of a globally distributed team. Desired Skills and Experience University engineering or computer science degree or equivalent experience. Experience with embedded electronics (soldering, reading schematics, integrating components, etc.)