Position: Senior Embedded Firmware Engineer
Company: RecruitGarden
Category: C++
Experience required: 3y
English level: intermediate
Published: 2021-08-01T00:00:00+03:00

We make Embedded Vision and Edge AI platforms for companies that need to include AI, image processing, and data connectivity capabilities in intelligent IoT Products. Our global network of expertise in Vision, Edge AI, design, development, and manufacturing produce optimized and scalable embedded vision systems that help everything from Home Automation, Robotics, Precision Farming & Agriculture, Remote Security, Medical, After Market Automotive, and Conservation. By delivering scalable platforms that include both Hardware and Software, we have created an ecosystem that is enabling some of the world’s leading brands to easily implement Vision and AI in their application. 

You will be responsible for developing unique software systems that are utilized in custom digital cameras and modules, integrating functions and features often not found in traditional cameras.

Responsibilities:
- Keeping abreast of relevant technology while working in a fast-paced environment and keeping up to date on changing programming and technology trends
- Firmware design for embedded devices and systems
- Working with code and drivers to enhance and build new systems and products including digital cameras, embedded video systems, wireless modules such as Wi-Fi or Bluetooth, cellular modules, high-speed communication buses, general-purpose controllers with graphical LCD, etc.
- Working within a team environment with other software development engineers on tasks in real-time embedded communication and control environments.
- Contributing to the design of next-generation imaging technologies, systems, and subcomponents.
- Using software design techniques and procedures to complete a sequence of related engineering tasks, such as investigating and debugging, designing, developing, and testing in accordance with company guidelines.
- Applying complex technical and analytical skills to existing software to make enhancements and add new features.
- Participating in the review of documents, designs, code, and test cases of software.
- Collaborating with HW engineers on a schematic review to ensure SW resources are aligned with HW.
- Performing functional testing of developed software to ensure correct operation and compatibility.

Job requirements:
- 4+ years proven industry experience working with embedded firmware
- Experience with image and video processing methods / with camera ISP coding - GStreamer
- Experience with the Ambarella platform will be a big advantage
- Strong skills with low-level Linux Kernel and embedded Linux distribution tools such as Yocto, Buildroot, or OpenWRT
- Strong skills with Boot-loader development, U-Boot
- Strong Embedded Programming Skills with C/C++/Python/Shell scripting
- Ability to work with various MCUs, DDR, eMMC, NAND Flash, I2C, GPIO, PLL, ADC, SPI Bus, etc.
- Experience with Agile development methodology
- Jira/Confluence and Git experience 
- Strong problem solving, debugging skills, and ability to think fundamentally
- Ability to understand, follow and participate in designing software architecture policies
- Understanding of object-oriented analysis and design