Essential cookies keep the site working. With your consent we also measure how the site is used, first-party only. We never run advertising trackers. Details in the cookie policy.

Senior Embedded Software Engineer

Renishaw

Salary not stated

Job type
Permanent
Location
Wotton-under-Edge
Added to TechnoJobs
1w ago

Job description

Job Description

Senior Embedded Software Engineer

Wotton under Edge

Up to £48,000 depending on experience

As an Embedded Software Engineer at Renishaw, you'll be responsible for the analysis, design, development, and integration of firmware across a range of our calibration products.

You'll be part of our laser and calibration software team, working with Agile methodologies, DevOps practices and collaborative software engineering tools.

You'll gain specific domain knowledge and be actively involved in the state-of-the-art technology solutions. Our firmware is developed mainly using C. You'll also have the opportunity to develop mobile and desktop applications using C# and other technologies.

The role is available for hybrid working, currently set as two days on site per week. From time to time there will be a need to attend site to carry out certain tasks and weʼre likely to ask you to attend more often during key phases of projects.

Responsibilities

  • Help design and architect new firmware Implement new embedded protocols
  • Develop unit, behavioural and integration tests
  • Develop and maintain software components, APIs and libraries used to communicate with Renishaw devices and instruments
  • Conduct design and code reviews
  • Work closely with others in a multi-disciplinary team
  • Collaborate as part of an agile software team
  • Work with project and product managers to define product specifications
  • Work closely with electronics engineers to optimise system engineering
  • Supervise or mentor more junior members of the team.

Key Requirements

Degree or equivalent qualification in Computer Science, Software Engineering, Electronics Engineering, or similar discipline (or similar demonstrable experience)

Working knowledge of:

  • Modern microcontrollers Embedded C and firmware design
  • Test-driven development / behavioural-driven development
  • Multithreaded programming on real time operating systems
  • Low level protocols - particularly UART / RS485, SPI, I2C

Understanding of:

  • Distributed version control systems (Git)
  • Software development lifecycle, from specification, design, and test-driven development, through to deployment, verification, and maintenance of software components

Ability to:

  • Measure timings, power, debug using digital oscilloscope etc
  • Demonstrate experience debugging embedded systems
  • Follow established development processes and guidelines
  • Communicate effectively with colleagues across different disciplines
  • Produce clear, concise technical documentation

Key Technologies

  • Embedded C, VS Code
  • CMake
  • NXP, Nordic MCUʼs
  • FreeRTOS, Zephyr
  • SEGGER debuggers
  • Visual Studio, NET (C#) + WPF (XAML)
  • Git (or equivalent)
  • Atlassian toolset (or equivalent)
  • Unit test frameworks (unity, fff, Googletest)
  • USB, Bluetooth and serial communication technologies

Desirable Requirements

  • Experience or interest in:
  • Development of USB devices and transport protocols (e.g SSI, USBTMC)
  • Test-driven development in an embedded environment
  • Developing on microcontrollers with embedded C++ / Assembler
  • Using RTOS for embedded applications (particularly FreeRTOS)
  • Higher level application software development (C# .NET, WPF, PowerShell, Python etc)
  • Software design languages (UML/Yourdon)

Awareness of:

  • Agile software development methodologies
  • DevOps practices (CI/CD, automated testing and task management tools)
  • Machine tool languages, geometry and measurement systems
  • Object oriented software design, MVVM and design patterns

Exposure to:

  • ARM CORTEX MCUʼs - in particular NXP LPC series and Nordic nRF series