SUMMARY: As a Senior Embedded Software Engineer, you'll architect the intelligent software that powers next-generation connected devices and industrial systems. You'll collaborate with hardware teams to bring cutting-edge products to life, developing everything from bootloaders to cellular connectivity solutions that enable seamless communication in mission-critical applications across our Intelligent Site Management products.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Design and implementation of embedded software solutions on Linux platforms
- Develop and maintain bootloader systems using u-boot for various hardware platforms
- Create and customize Yocto-based Linux distributions for embedded targets
- Interface with cellular modems from Sierra Wireless, and other manufacturers
- Implement D-Bus communication protocols for inter-process communication
- Perform new hardware bring-up and board support package (BSP) development
- Develop device drivers and low-level interfaces for UART, USB, and 1-wire protocols
- Design and implement networking solutions including VPN configurations
- Write robust embedded software in C++ and Python
- Utilize development tools including Jira for project management, Bitbucket for code repositories, and Git for version control
- Unit test all coding changes and validate on target hardware
- Work with Testing and Operations teams to construct comprehensive system/integration test plans
- Perform peer reviews of embedded software design and implementations
- Assess and communicate the impact of system changes to stakeholders and management
- Contribute technical expertise in design and architecture meetings
- Maintain detailed documentation of embedded systems, interfaces, and development processes
QUALIFICATIONS: To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements below are representative of the knowledge, skill, and/or ability required.
- Bachelor's Degree in Computer Science/Engineering, Electrical Engineering, or related field
- 8+ years of hands-on experience with embedded Linux development
- Expert-level knowledge of u-boot bootloader development and customization
- Project experience with Yocto Project for embedded Linux distribution creation
- Proven experience interfacing with cellular modems (Sierra Wireless, u-blox, Quectel, etc.)
- Experience with D-Bus messaging and system service integration
- Expert-level skills in C++ and Python for embedded applications
- Some project experience with AI tools and assistants to enhance productivity and code quality
- Experience with development tools: Jira, Bitbucket, and Git workflows
- Demonstrated expertise in new hardware bring-up and BSP development
- Deep understanding of hardware interfaces: UART, USB, SPI, I2C, and 1-wire protocols
- Strong networking knowledge including TCP/IP, VPN implementation, and wireless protocols
- Experience with cross-compilation toolchains and embedded debugging techniques
- Knowledge of real-time operating system concepts and embedded system constraints
- Ability to read schematics and work closely with hardware engineering teams
- Experience with requirement management, configuration management, and change management tools
PHYSICAL DEMANDS: The physical demands are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Required to sit, stand, bend and walk regularly; lift and/or move up to 25
- Visual and auditory ability sufficient for written and verbal communication.
- The noise level in the work environment is usually moderate.
Salary: $100,000.00 - $130,000.00
Apply Now
Please fill out the form below to submit your application.