Back to jobs
New

Embedded Tools Engineer

Austin, TX

About the Team

The Embedded Tools Team develops and supports infrastructure for embedded software development. Our responsibilities include developing and supporting continuous integration/continuous delivery (CI/CD) pipelines for in-house electronic hardware devices, developing software for firmware deployment, and participating in the design and development of a specialized acceptance test system used at our manufacturing site. We are a pragmatic team that prioritizes sound engineering and collaboration.

About the Role

As an Embedded Tools Engineer, you will be involved in every stage of developing our embedded software. You will help develop the software that ensures the quality, safety, and stability of our autonomous vehicles and robots. You will also participate in designing the software-hardware architecture and determining how these systems will work together. This hands-on position allows you to apply your technical skills and creativity to solve problems and contribute directly to our products. If you enjoy working with the core systems of cutting-edge technology, this job is for you!

What You'll Do

  • Design, develop, and maintain continuous integration and continuous deployment (CI/CD) pipelines and hardware-in-the-loop (HIL) systems for our embedded software, which is developed specifically for in-house built electronic hardware. This will streamline the software build, test, deployment, and usage processes.
  • Create tools for testing, diagnostics, and management of embedded systems.
  • Work with hardware and other software teams to ensure everything works well together.
  • Monitor infrastructure performance and implement improvements to enhance stability and efficiency.
  • Provide support to development teams by answering questions and resolving issues related to the embedded firmwares CI/CD process, builds and development flow.

What You'll Need

  • CI/CD & Automation:  Practical experience designing and maintaining workflows in GitHub Actions
  • Python (High Proficiency): Most of the tooling, diagnostic servers, and firmware update logic are written in Python. should have deep experience with both Asyncio and Hardware Interaction including proven experience using pyserial , python-can , and smbus2.
  • Modern Build Systems: Hands-on experience with Bazel and Nix for reproducible builds and package management.
  • C++ & Systems Programming: Ability to read, interpret, and debug C++ firmware code.
  • Scripting: Proficiency in Bash for low-level system configuration and hardware initialization scripts.
  • Technical Literacy: Ability to interpret complex technical documentation and electrical schematics to understand hardware and plan software architecture. 
  • Interface Protocols: Deep understanding of standard communication interfaces, specifically CAN, UART, Ethernet, and I2C.
  • Ownership: A highly responsible, organized, and methodical approach to problem-solving.

Nice to Have

  • Experience with Unix-like environments, command-line tools, and automation.
  • Knowledge of isolation and virtualization techniques, particularly Linux containers and Docker.
  • Experience in building and scaling CI/CD automation and infrastructure management.
  • Knowledge of Linux distribution management, particularly Ubuntu and NixOS (the latter is a significant plus).
  • Experience with various software build systems (Bazel , CMake).
  • Familiarity with DevOps practices, including CI/CD processes on GitHub, AWS, and Kubernetes for cloud infrastructure. 
  • Skills with soldering equipment.
  • Experience in the automotive industry (CAN, DBC, ISO TP, UDS, DoIP). 

Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.

Apply for this job

*

indicates a required field

Phone
Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...