A leading Global equipment and services provider for Power Generation is currently looking to develop and improve Automated Distribution and Wireless Communication products in order to improve the Smart Electrical Grid's resiliency and reliability. This will report to the Manager of Embedded Software with the goal of developing debugging and support for Embedded Linux Systems.
Candidates must have a strong background in design and development of embedded software for custom electronic products and requires experience with C/C++, Linux Kernel, toolchain, licensing, and hands on hardware experience with ARM MCUs.
Primary Responsibilities, Senior Software Engineer (Embedded Linux):
- Develop, debug and support embedded Linux firmware
- Lead the creation of Buildroot/Yocto Linux distributions
- Come up with and maintain a secure U-Boot for not only current but also next generation technology
- Continuously update Linux device drivers which includes interrupt handling, I/O and networking
- Keep up with and maintain procfs and sysfs pseudo filesystems and flattened device tree files
- Use Bitbucket code repositories in order to manage and merge new features and any issues
- Create SBOMs identify and mitigate Common Vulnerabilities and exposure (CVE)
- Document all designed in Microsoft, Jira and Confluence
- Work Alongside:
- Architects to make sure that everything complies with solid Linux platform requirements
- Software application and testing engineers to ensure the delivery of reliable, real-time, mission critical embedded software
- DevOps engineers to perform secure CI/CD builds
Minimum Requirements, Senior Software Engineer (Embedded Linux):
- MUST BE A TEAM PLAYER
- BS Degree in Computer Science, Computer Engineering, Electrical Engineering
- Prior experience (and title) as a Senior Software Engineer or Senior Software Developer
- 7+ years embedded real-time software development which should include:
- Embedded Linux experience is a MUST!
- Prior experience with of design, coding, testing, verification, validation, and support of embedded software using C/C++
- Python experience is a plus
- Understanding of control system theories and prior experience with implementing on Micro-controllers
- Ethernet and Wifi networking experience
- Familiar with the following concepts: GPIO, I2C, ADC, DAC, UART, DMA, Flash memory, low power microprocessor modes
- Past experience with configuration management/process tools (Jira, Confluence, and Bitbucket/GIT)
- Excellent verbal and written skills
- Experience working in agile methodologies
- Prior experience with electrical power distribution is a plus
- CI/CD build experience including Jenkins