You take the lead in defining the embedded Linux configuration for the development of our products;
You write drivers to facilitate low level device access to and from the high-level applications running on the embedded Linux;
You participate actively in the board startup process – low level debugging using oscilloscope and/or protocol analysers;
Stay up to date with the latest technologies and industry trends in Linux and you actively participate in component selection (e.g. processor) for new projects;
You port new drivers or technologies to the older configurations for legacy projects if using the latest releases is not possible;
You define tests to validate the development, sometimes you also implement tests or assist test engineering;
You participate in the high-level application development with focus on interaction with kernel and peripherals;
You will report to the R&D Manager Software.
Job requirements
Bachelor or master’s degree in Electronics, ICT, computer sciences, or equal;
Proficiency in software development with a focus on Embedded Linux especially low level (kernel, drivers, system libraries);
Good knowledge of USB protocols (in particular, but not restricted to handling HID devices);
Knowledge of network stack and protocols;
Experience with cross compilation toolchains and related frameworks, such as Yocto or Buildroot;
Ability to work collaboratively in a team environment;
Focus on quality and maintainability: you care about creating well defined deliverables, fully traceable and reproducible, respecting the deadlines;
Nice assets if you have knowledge/experience in:
Processor architectures within linux context (e.g. ARM, x86);
Boot loaders and board startup;
Higher level application programming languages (Python, C++, Qt);
Electronics (I2C, JTAG, CAN bus) and microcontroller boards;