Embedded Linux Software Developer (UK)
Inmusicbrands · Cambridge, Cambridgeshire · On-site
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
We are seeking a Linux/C++ Software Developer for the development of embedded hardware products based on Linux. This role works with onboard support packages, drivers, and tools, supporting our musical products. This includes creating OS package configuration, user-space programs, and scripts. Additionally, this role works cross-functionally with our global application development teams, hardware engineers, and product design teams to create truly compelling products.
This role requires a good understanding of Linux system programming, C, C++, and the open-source ecosystem.
Build solutions for product feature requirements, combining similar features from different product lines into a single unified solution.
Construct and support libraries and services consumed by application development teams.
Take ownership of product performance holistically considering application down to driver impact.
Work with hardware and software teams to create customer-delighting products.
Work with a cross-functional team to ensure product architecture is robust and fit for purpose.
Set up and debug build systems, e.g. CMake and Bitbake
Requirements:
Minimum 3+ years experience of embedded Linux
Programming languages: C, C++, Python, Scripting (including Bash)
Experience in Linux OS build toolchains such as Buildroot, Yocto, etc.
Ability to think at “system-level,” from application code right down to the metal
Knowledge of common comms interfaces (USB, Ethernet, UART, SPI, I2C)
Ability to perform profiling and tracing of real-time applications, debugging using gdb and remote debug tools
Experience with Git version control
Ability to read technical documents (schematics, datasheets, application notes) and write code against them
Ability to diagnose systems-level/hardware issues
Ability to work cooperatively in a team environment
Strong communication and teamwork skills
Nice to Haves:
ARM (and ARM NEON) optimization experience
Solid understanding of Linux kernel development, configuration, and tuning
systemd service configuration
Agile/Scrum/XP experience
Background in music, with live, Studio, or DJ experience
A degree-level qualification in Computer Sciences
Availability to travel internationally