Software Engineer, Tools Team, Architecture at XMOS
United Kingdom

XMOS is a UK based fabless semiconductor company with a unique multicore microcontroller architecture used in millions of products, from robotics to voice assistants, e-bikes to conference systems. Our devices provide the energy efficient, low cost and high-performance vector acceleration required by the rapidly evolving Edge AIoT industry and ML languages.

We focus on innovation through technology, and our engineering team spans a huge breadth of expertise, from silicon chip design to AI application software development, to highly optimized DSP and AI libraries, to development kits and our SDK and, of course, developing and maintaining our own tool chain.

We are now embarking on the design of our 4th generation processor, our most ambitious yet, and we are looking for passionate and ambitious engineers to come and join us.

What we are looking for

Our Tools team is looking for software engineers, from graduate to senior level. As part of this team, you can expect to be involved in:

  • Developing multistage bootloaders including the primary ROM bootstrap, in a mix of low-level assembly language and C.
  • Working closely with the silicon team to provide verification software and tools.
  • Specifying and developing simulation methods and tools in collaboration with the research and silicon teams.
  • Developing and debugging real-time tools, connecting to our debug interfaces.
  • Developing host software which interfaces via USB to our devices.
  • Using logic & USB analysers, debugging real-time issues with our development kits and programming dongles.
  • Interfacing with third party graphical visualisation tools in a variety of high-level languages.
  • Test, regression, and automation in various forms.
  • Constructing hardware test frameworks in high level languages such as Python 3.
  • Supporting the software release cycle.
  • Staying abreast of latest IoT security standards and developing secure software.

Join the team

If you want to be part of our Tools team, and can contribute in any of these areas, then we would love to hear from you. But, first, let us just check a few things:

You will need to have at least some of these:

  • Strong C and ideally C++11 (or newer) programming skills.
  • Python (2 or 3) experience.
  • Assembly language experience.
  • Experience of other high-level languages, and markup languages (such as XML), and serialisation languages (such as JSON.)
  • An appreciation of embedded, real time systems and the techniques used to write software that which runs on them.
  • An understanding of micro-processor architectures and digital electronics.
  • Experience in producing robust test harnesses and tests which run on simulation and/or on hardware.
  • Use of SCM and CI/CD – ideally Git and Jenkins.
  • Experience in working with multi-disciplinary teams to get products to market efficiently.

Even better, you may have some of these:

  • Experience in developing software for real-time systems in assembly and C.
  • Device driver or kernel development experience.
  • Experience in debugging embedded systems using lab equipment such as analysers and scopes.
  • Expertise developing for real-time systems, such as DSP,
  • A good understanding of multi-threaded software development.
  • An appreciation of IoT security issues and how to design secure systems,

The benefits

  • Competitive salary
  • Flexible working – while the role is based in our Bristol office in the UK, we support flexible working patterns accommodating a mix of home and office-based working.
  • Share options – EMI approved share options allocated at a level commensurate to seniority. A 4-year vesting profile with a 1-year cliff.
  • Holidays – 25 days paid with an additional 3 days over the Christmas period when the office closes.
  • Private medical insurance – membership of the corporate healthcare plan, currently held with AVIVA. Option of adding partner and children if they are residing in the UK (incremental premium must be paid by the Employee.)
  • Group income protection cover – the level of benefit payable is 75% of scheme salary and an employee will become entitled to benefit after being unable to work because of sickness or injury for 26 continuous weeks.
  • Life insurance – the benefit payable is a lump sum of 4 times scheme salary.
  • Salary sacrifice pension scheme – established for employee contributions, with XMOS matching these up to 5% of salary.