Embedded Software Engineer

Overview

On Site
Depends on Experience
Full Time

Skills

Embedded Software
C++
C
Git
OOD
Linux Kernel
GNU Compiler Collection
Computer Networking

Job Details

Job Description: -
Act as an individual contributor developing Embedded Software applications.
Design, implement, test, document and maintain firmware for Embedded Linux platforms.
Resolve critical Linux Kernel, Library and other third part CVEs.
Potentially help upgrade or migrate kernel versions for embedded linux projects.
Collaborate with the Validation and systems team for firmware and system verification.
Work collaboratively with others to achieve goals.
Able to perform comfortably in a fast-paced, deadline-oriented work environment
5+ years' experience in Firmware development on embedded Linux products C/C++ coding experience for microcontrollers and Linux Applications.
Experience with cross-platform toolchains & build tools including, GCC, Make/CMake, yocto Linux toolchains, as well as container based environments (Docker).
Comfortable writing software utilizing operating system fundamentals including synchronization, multithreading/concurrency, shared memory and IPC mechanisms.
Knowledge of connectivity software and networking with technologies including TCP/IP, BT/BLE, and Wi-fi.
Knowledge of best practices associated with Secure Product Design (SPD).
Knowledgeable of Agile-based development process, preferably some flavor of Scrum, on multiple projects.
Comfortable selecting, updating, maintaining or patching 3rd party device drivers to interface with external hardware.
Experience with best practices for firmware architecture, multithreaded/concurrent software designs, Modular Software and Objected Oriented Design (OOD).
Hands-on Experience using source control (Git).
Ability to utilize software debugging and troubleshooting techniques.
Excellent problem-solving skills with attention to detail.
Effective written and verbal communication abilities to engage with diverse cross-function teams.
Solid history of testing, debugging, and participating in code reviews before software is committed.
AI-powered automation, and other disruptive technologies.
SKILLS:
C,C++,Debug

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.