Senior Software Architect

Engineering Cambridge, Cambridgeshire


We are looking for a Senior Software Architect to lead a small group of software engineers working on embedded motor controllers and related, connected systems.  Our software engineering work spans everything from embedded low level interrupts and device driver code up to PC based GUI and test harness development; with lots of engineering in between for motor efficiency, product safety and certification and connected HMI devices and comms.

As a Senior Software Architect you will be looking to practice your people skills and make effective use of your technical experience to monitor progress, engage with engineers and marketing and contribute to the whole process of going from promises to great product outcomes.  Willing to lead, help and support engineers across 3 continents, (+/- 5 hours).  This will involve developing proposals, specifications and architectures, as well as watching the market and picking up the latest technologies for deployment in-house.

You will occasionally be required to pitch in to writing software or firmware and have the ability to read schematics and engage at every level from schematic, board layout and hardware design up to product range road map planning.  You will have a good engineering degree, at least 10 years of experience and be willing to live within easy commuting distance of Cambridge, UK.

Key Skills and Experience

  • Previous experience of team leadership
  • Experience of planning projects and working through them from start to delivery and beyond
  • Thorough understanding of the whole software development process
  • Good knowledge of embedded C
  • Good knowledge of one or more of the following Python, C#, Java.  Experience with GUI design an advantage
  • Experience of several communication protocols
  • Enthusiasm
  • Numerate Degree followed by a good track record of delivering software and systems
  • Bare metal programming experience and deep understanding of 8, 16 and 32 bit microcontrollers
  • Engineering skills – able to go from FFTs to fixes, from latency to linker tables
  • Experience with version control systems such as GIT and subversion
  • Experience with motor control considered a great advantage
  • Experience with product safety and software reliability engineering considered an advantage