Senior Software Engineer (Embedded Linux)
About the job Senior Software Engineer (Embedded Linux)
Our client, a global leader for power reliability products is looking for a Senior Software Engineer. Candidates must have a strong background in design and development of embedded software on custom electronics including experience in the following areas: C/C++, Linux Kernel, toolchain, licensing, and hands-on hardware experience with ARM MCUs. This is a remote position, located in the United States with occasional travel (10%) to one of our facilities may be required for development, system testing, and debug. This position will report to the Manager of Embedded Software.
Responsibilities
Develop, debug, and support embedded Linux firmware using C/C++ for the ARM family of processors.
Create Buildroot / Yocto Linux distributions
Create and maintain a secure U-Boot for current and next generation platforms
Update Linux device drivers including interrupt handling, I/O, and networking
Maintain procfs and sysfs pseudo filesystems and flattened device tree files
Utilize Bitbucket code repositories to manage and merge features and issues
Create SBOMs, identify and mitigate Common Vulnerabilities and Exposures (CVE)
Document designs in Microsoft Word, Jira, and Confluence
Work collaboratively with…
Architects to ensure solid Linux platform requirements
Software application and testing engineers to deliver reliable, real-time, mission critical embedded software
DevOps engineers to perform secure CI/CD builds
Qualifications
Being a team player is essential
BS degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
Previous experience (and job title) as a Sr. Software Engineer or Sr. Software Developer role
7+ years embedded real-time software development experience including:
Embedded Linux experience is essential, including: Buildroot, working in kernel space, and secure builds. Past contributions to Kernel.org are a plus.
Demonstrated knowledge of the design, coding, testing, verification, validation, and support of embedded software using C/C++ - Python experience is a plus
Understanding of control systems theory and experience implementing on Microcontrollers
Ethernet and WiFi networking experience
Familiarity with the following hardware concepts: GPIO, I2C, SPI, ADC, DAC, UART, DMA, flash memory, low power microprocessor modes
Ability to read electronic schematics
Experience with configuration management / process tools: Jira, Confluence, and Bitbucket/Git
Excellent written and verbal communications skills
Working knowledge of Agile methodology fundamentals and continuous process improvement
Continuous learner and self-starter
Continuous Integration / Continuous Deploy (CI/CD) build familiarity including Jenkins is a plus
Experience with electrical power distribution (grid) principles is a plus
Ability to travel less than 10% of the time with some periods lasting more than a week
#J-18808-Ljbffr