Position: Embedded Linux Software Development Engineer for Toradex
Company: Ciklum
Category: C++
Experience required: 3y
English level: intermediate

**Toradex** is a global company strongly focused on engineering & technology. We’re powered by a diverse & uniquely gifted workforce. We pursue the best people to propel our innovative vision of embedded computing. If you’re interested in being a driving force at an agile technology company, engineering clever computing solutions & helping other companies bring their products to life, we should talk.


Devices across numerous industries – medical, transportation, robotics & many more – are powered by **Toradex** SoMs. We provide effective & robust embedded computing solutions and strive for the best development experience in the industry with a focus on intelligent hardware design, innovative software solutions & free comprehensive support. Our relationship with our customers ensures that we all succeed, and it allows us to participate in the realization of incredible new products.


**Toradex** provides strong integration of hardware, software, and services. The company offers off-the-shelf products to a broad and global customer base in order to allow the fragmented embedded market to benefit from economies of scale.


**Toradex**’s main products are Arm® processor-based SoMs which are combined with optimized operating systems. **Toradex** partners with companies like NXP, The Qt Company, and others and are at the edge of technology.

As an **Embedded Linux Software Development Engineer** you are part of the R&D team, making sure our Linux **BSP**s and related software offerings for our SoMs (System on Modules) are constantly developed, enhanced, and the quality improved. The work ranges from initial bring-up, to driver and kernel development, up to build-system and distro level development.


**Responsibilities**:
 - Develop and maintain embedded Linux BSPs;
 - Work on drivers and kernel;
 - Mainline selected items;
 - Document new or existing features in our developer website knowledge base;
 - Improve build system;
 - Work on Linux related development tasks according to task planning process;
 - Report short comings and possible improvements related to products, software offerings, documentation, processes, etc. in order to allow continuous improvements;
 - Report project and task status and alert if resources are tight or not sufficient;
 - Communicate your current activities within the development team and towards management;
 - You directly report to the respective project manager in Switzerland.


**Requirements**:

**- Experience porting the U-Boot and embedded Linux kernel to custom hardware;**
- Experience programming Arm SoCs;
- Sound knowledge of embedded graphics (DSI, eDP, LVDS, HDMI, OpenGL, Vulcan);
- Able to use embedded peripherals (AC97, CAN, I2C, I2S, SD/SDIO/MMC, SPI, UART);
- Experience integrating high-speed peripherals (CSI, PCIe, SATA, USB);
- Familiar with communication peripherals (Bluetooth, Ethernet, Wi-Fi);
**- Knowing OpenEmbedded/Yocto Project build system;**
- Able to tackle user space integration tasks;
- Familiar with open-source mind set;
**- Intermediate+ English communication skills;**
- Sound engineering approach;
- Willing to learn new/unknown technologies and share knowledge through concise documentation;
- Living continuous improvement culture;
- Focus on high-quality deliverables.


**What's in it for you**:

+ Ability to work on challenging, large and complex product
+Learn new things every day, work on the latest technologies
**+Unique working environment where you communicate and work directly with the manager in Switzerland**
+Business trips
**+Health Insurance in 2021.**