Embedded Software Engineer

Summary

We are looking for an experienced Embedded Software Engineer to join our Software Infrastructure team on a 2-year fixed term contract. You will contribute to the development of software for our range of wireless chips for Samsung products and also other wireless technology manufacturers around the globe. Our software is written in C and occasionally in assembler and runs in a resource constrained embedded real time environment.

We are looking for an experienced Embedded Software Engineer to join our Software Infrastructure team on a 2-year fixed term contract. You will contribute to the development of software for our range of wireless chips for Samsung products and also other wireless technology manufacturers around the globe. Our software is written in C and occasionally in assembler and runs in a resource constrained embedded real time environment.   Our Software Infrastructure team operates across both our sites: Samsung Cambridge Solution Centre (SCSC) based in Cambridge, UK and Samsung Denmark Research Center (SDRC) based in Aalborg, Denmark. SCSC is known for its expertise in Wi-Fi, while SDRC specialises in Bluetooth. Both centres are renowned for their excellence in wireless technology development, making this an exciting environment to contribute your skills. 

You will be working from our location in Cambridge and can expect some short trips to visit your colleagues in Aalborg and the occasional visit to customer sites to provide hands-on debug and support when needed.   Our team specialises in the hardware-near software that links the Bluetooth and Wi-Fi protocol software with the hardware. We create the foundation, which both the Bluetooth and Wi-Fi protocol software relies on. Collaboration is at the heart of what we do and we work closely together across both our locations (and also with development teams in Asia and North America) to deliver high-quality, on-time solutions!     Your role will involve helping to develop software through the entire software lifecycle including design, implementation, test, debug and support. You will develop for a number of areas of the drivers, Android integration and firmware and be part of the team who are responsible for the delivery of the fully tested component. You will have the opportunity to grow and take ownership of core components of our solution.

Key Responsibilities

  • Contribute to requirements capture
  • Contribute towards task definition and work breakdown including time estimation
  • Design documentation
  • Contribute to the development and test of software of major scale and complexity to agreed timescales
  • Contribute to the delivery of high quality software in line with the department’s processes
  • Maintenance of software including defect investigation
  • Contribute to software integration onto new platforms
  • Contribute towards the continuous development of the department’s processes
  • Conduct peer software reviews
  • Create relevant documentation following the department’s processes
  • Assist external inter-operability and compliance test events
  • Develop tests and scripts to exercise solutions being implemented
  • Support the development at customer sites (this may involve occasional foreign travel)

Skills Knowledge and Expertise

Required
  • Degree (or equivalent qualification/experience) in a relevant subject
  • Proven understanding of C programming languages
  • Experience in development and debug of Embedded Linux Kernel code
  • Understanding of software design techniques 
  • Understanding of debug techniques and tools
  • Understanding of software architecture
  • Good understanding of configuration management
  • Effective team player
  • Good communicator
  • Excellent problem solving ability and tenacity in finding root cause for complex issues

Desired
  • Experience in writing code for resource constrained environments where MIPS and memory have to be utilised carefully 
  • Experience of programming and debugging using Arm processors/tools
  • Interfaces for data transfer (PCIe, I2S, shared memory, UART, and SPI)
  • Profiling and optimisation of embedded software based on memory consumption, execution time, latencies analysis
  • Experience in development and debug of embedded firmware code
  • Experience of Android platform development
  • Familiarity with the Git source control system
  • Knowledge of a scripting language such as Python
  • Understanding of processor architectures and peripherals
  • Experience of embedded multi-processor systems and inter-processor communication techniques
  • Experience of developing embedded protocol software for wireless communications – ideally operating in an area close to the hardware 
  • Experience of Linux based development environments

Benefits

Joining our team, you'll receive a great benefits package.

Benefits include:
  • Annual performance based bonus
  • Continued training and development
  • Private medical, travel and life insurance
  • Flexible benefits system including Denplan, cycle to work scheme and more 
  • 25 days holiday with the option to buy or sell days
  • Great discounts on Samsung products
  • Free on-site gym and canteen
  Diversity, Inclusion and Accessibility 
We know that the diversity of our team is integral to our continued success. We encourage people to apply from all backgrounds. Please let us know if you need any reasonable adjustments to take part in this recruitment process and we'll do our best to arrange these.

Office address

St Johns House
Cowley Road
CB4 0DS

Join the CW jobs mailing list

This site uses cookies.

We use cookies to help us to improve our site and they enable us to deliver the best possible service and customer experience. By clicking accept or continuing to use this site you are agreeing to our cookies policy. Learn more

Start typing and press enter or the magnifying glass to search

Sign up to our newsletter
Stay in touch with CW

Choosing to join an existing organisation means that you'll need to be approved before your registration is complete. You'll be notified by email when your request has been accepted.

i
Your password must be at least 8 characters long and contain at least 1 uppercase character, 1 lowercase character and at least 1 number.

I would like to subscribe to

Select at least one option*