Senior Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+4 more
Job description
The Senior Embedded Software Engineer will develop and maintain robust application software for Thermo King transport refrigeration units, with a specialized focus on the Rust programming language. This engineer will create software that runs within Embedded Linux and Real-Time Operating System (RTOS) environments. Working directly from incoming requirements, you will collaborate closely with the platformβs technical lead to derive and document low-level designs. Additionally, you will be responsible for upholding software engineering standards through peer reviews, unit/integration testing, and documentation practices, while providing mentorship and guidance to engineers who are new to embedded software development.
What you will do:
- Design, develop, and deliver maintainable, safe, and concurrent embedded applications using Rust.
- Consume higher-level system and functional requirements to derive, document, and execute detailed low-level software designs in collaboration with the platform technical lead.
- Drive software quality and adherence to software development processes through comprehensive unit and integration testing, rigorous peer code reviews, and high documentation standards.
- Provide active mentorship and guidance to team members who are new to embedded software development or the Rust programming language.
- Specify, design, and implement functionality and behaviors of embedded subsystems running on Embedded Linux and RTOS.
- Participate in the core execution phases of the software development lifecycle from low-level design through integration, unit/integration testing, deployment, and manufacturing support.
- Make performance, memory, and optimization trade-offs to meet strict product requirements.
- Apply systematic problem-solving skills to define issues, identify root causes, develop, qualify, and implement corrective actions in a timely manner.
- Document and resolve software defects using a bug tracking system and track defects through resolution.
- Interface with cross-functional engineering and systems engineering teams to understand technical inputs and deliver high-quality software artifacts.
Requirements
- Bachelorβs Degree (BA/BS) in Computer Science, Computer Engineering, or a related technical engineering discipline
- 5+ years of embedded software development experience
- Experience developing software for Embedded Linux
- Strong proficiency in the Rust programming language
- Familiarity with containerization technologies (e.g., Docker, Podman, containerd)
- Hands-on commitment to robust software development practices, including unit testing, integration testing, code reviews, and technical documentation
- Ability to translate functional requirements into clear, maintainable, low-level software designs
- Excellent verbal and written communication skills, with a passion for teaching and mentoring junior engineers, * Real-world experience building products with Yocto, including managing Kconfig, modifying device trees, and debugging kernel drivers
- Proficiency with C/C++ or Python
- Development experience with Zephyr RTOS
- Experience building and maintaining CI/CD pipelines
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this roleβ¦