Senior Software Engineer
Department: Software
Location: London, United Kingdom
Personal information

Who are we?

Passionate about food? Fascinated by robots? Join Karakuri.

We are a small, passionate and creative team building robots for restaurants and food industries and we’re having a lot of fun along the way.

Our teams work across robotics, mechatronics, software and embedded systems.

Our technology stack is legacy-free and we’re bringing the benefits of the latest software technologies to the exciting world of robotics and industrial automation.

What will you do?

The Sr. Embedded Software Engineer will be responsible for developing application and interface firmware for our automated meal assembly robots. You will be part of a team that works closely with Electronics Engineers to develop firmware for interfacing with sensors, controlling actuators and communicating/integrating with our larger software platform.

Responsibilities will include, but not limited to :

  • Develop reliable and maintainable C code following Test Driven Development methodologies to be used in a variety of systems from sensing (analogue and digital) to motor control (e.g. stepper, BLDC) for automated food dispensing systems.
  • Develop and maintain high level libraries (python, go) to interact with the embedded system.
  • Write low level software to integrate peripherals (SPI, I2C, UART) with the larger system over Ethernet, CAN/RS485.
  • Work closely with mechanical and electronics teams to prototype, specify, integrate, test and improve the capabilities of our embedded systems.
  • Planning and estimation of development tasks as well as production and maintenance of technical documentation.


What we need you to have:

  • 5+ years experience developing production-ready firmware.
  • A Bachelor’s Degree in a technical area.
  • Thorough understanding of embedded software fundamentals and design patterns used in real time operating systems.
  • Demonstrable experience designing, programming, testing and deploying reliable and scalable production quality firmware.
  • Experience with 32 bit ARM microcontroller architectures
  • Experience writing firmware for:
    • Communications protocols (RS485, CAN, I2C, SPI, Ethernet)
    • Motor drive circuits (Stepper, DC)
    • Sensors interfaces/filtering (optical, inductive, temperature)
  • Experience debugging embedded systems
  • Ability to read schematics
  • Experience working with linux based development environments
  • Experience working with teams using version control software


As well as being a fun place to work, we also offer a competitive salary and the following perks:

  • Company Stock option scheme
  • Good contributory pension
  • Vitality Health Insurance - giving you discounted gym membership plus many more rewards
  • Monthly social events!
  • Weekly team lunch.
  • Flexibility around working
  • And of course, you’ll get to play with our robots...