Position: Embedded Linux Software Engineer
Company: Yael Acceptic
Category: C++
Experience required: 5y
English level: upper
Published: 2023-05-01T00:00:00+03:00

We are looking for an Embedded Linux Software Engineer who will be responsible for developing and maintaining embedded software systems based on Linux platforms. This role will require an understanding of Linux kernel internals, system integration, middleware software and software debugging techniques.

**About:**
You will become a part of a highly professional team working in the field of smart sensors and IoT for the futuristic public smart spaces. 
The task at hand is to establish a pipeline for continuous design, training and evaluation of new models for people/object detection and tracking and further deployment of these models to the edge device.


**Responsibilities:**
- Design, develop, and test embedded software solutions based on Linux platform;
- Integrate and develop middleware and platform software components into the Linux distro;
- Collaborate with other software engineers to integrate Linux-based software components into larger software systems;
- Perform software debugging and troubleshooting on embedded systems;
- Document software designs, requirements, and testing procedures;
- Stay up to date with the latest embedded software development technologies and techniques;
- Research and adapt available open-source solutions.

**Requirements:**
- 5+ years of experience in embedded software development using Linux platforms; 
- Proficiency in C++/Python/Shell programming languages, git;
- Deep understanding of Linux kernel internals, device drivers, and system integration (U-boot, ARM Toolchains, Kernel, systemd, BusyBox);
- Experience with embedded system development tools and software development kits (SDKs);
- Hands-on experience with build systems (Yocto);
- Familiarity with software debugging and troubleshooting techniques;
- Strong problem-solving and analytical skills;
- Excellent communication and collaboration skills;
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or related field;
- Spoken and written English (upper-intermediate and higher).

**Would be a plus:**
- Experience designing middleware for OTA, system health, diagnostics and environment monitoring, logging, etc.;
- Experience with OpenCV, FFmpeg, v4l2;
- Knowledge of machine learning frameworks such as TensorFlow or PyTorch;
- Experience with the Raspberry Pi platform for embedded systems development;
- Understanding of the MQTT protocol for IoT communication;
- Experience with CI/CD automation systems for software development and testing (Azure Pipelines).

**We offer:**
Professional Development: free English courses, access to company’s library, free access to the corporate Udemy account, possibility to participate and share your knowledge as a speaker in our internal meetups, opportunity to work from anywhere (depends on the project).

**Benefits:** 100% paid vacation and sick leaves, health insurance, membership in IT Cluster, assistance in relocation, access to psychological help, office cabinet structure, playroom, free accountant and lawyer services, opportunity to accumulate part of the own salary in the company in dollar terms, team building activities.