Senior Embedded Linux Engineer

Apptronik Inc.
Sunnyvale, CA, United States
2 days ago
Apply on www.juju.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Job source

Tech stack

Board Bringup Computing Platforms Bash Shell Booting (BIOS) UClibc (C Standard Library) C++ (Programming Language) Ubuntu (Operating System) Code Review Nvidia CUDA Computer Engineering Software Debugging Linux
+26 more
Device Drivers Linux on Embedded Systems Middleware Ethernet EtherCAT Filesystem Hierarchy Standards Firmware Joint Test Action (IEEE Standards) Python (Programming Language) Linux Kernel Network Protocols Open Source Technology QNX (Software) Public Key Infrastructure Real-Time Operating Systems Software Technical Review Strategies of Testing Extensible Firmware Interface Real Time Systems Git Yocto Information Technology TensorRT U-Boot NVIDIA Jetson Hardware Debugging

Job description

We are seeking a Senior Embedded BSP Engineer to own the board support package and OS configuration for the NVIDIA Jetson Thor compute platform in our humanoid robots. You will collaborate with our firmware, hardware, and robot software teams to bring up custom carrier boards, develop and maintain the boot chain, kernel or RTOS configuration, and device drivers, and deliver reproducible, secure, field-updatable OS images. You will tune the platform for low-latency, real-time performance, support hardware bring-up from prototype through production, and help own platform quality and reliability as we scale from prototypes to fleets of hundreds and thousands of robots in the field. As you grow on the team, you will participate in code and design reviews and contribute to the architectural direction of our compute platform alongside your peers., * Develop and maintain the BSP for NVIDIA Jetson Thor modules and custom carrier boards, including board bring-up, device tree, pinmux, and peripheral enablement. Customize and maintain the boot chain (firmware, UEFI, and OS loader), kernel or QNX microkernel configuration, and out-of-tree kernel modules or QNX resource managers and drivers.

  • Build and maintain OS images (Linux via Yocto or JetPack/Ubuntu, and/or QNX via QNX SDP) with reproducible, CI-driven builds.
  • Tune the OS for real-time and low-latency behavior, including PREEMPT_RT, CPU isolation, IRQ affinity, QNX scheduling and partitioning, and power and thermal profiles. Own OS lifecycle tooling: JetPack / NVIDIA BSP upgrades, A/B OTA updates, secure boot, disk encryption, and fleet flashing and provisioning.
  • Triage lab and field issues such as boot failures, kernel panics, driver regressions, and thermal throttling, and document root causes.
  • Define new hardware requirements and review schematics and layout with the hardware team.
  • Work with cross-functional engineering teams, including Hardware, Robot Software, QA, Validation, and Manufacturing, to bring up compute hardware from prototype through production.
  • Collaborate with validation teams to develop test strategies and test plans. Participate in code reviews, design reviews, and pair debugging; help raise the bar for platform quality across the team.

Requirements

  • Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or equivalent practical experience.
  • Minimum of 5 years of experience building, debugging, and shipping embedded systems using Linux and/or QNX.
  • Hands-on experience with NVIDIA Jetson (Thor or Orin) and JetPack, including flashing and carrier board customization.
  • Strong OS-level skills: Linux kernel configuration, device tree, driver development and debugging, kernel upgrades or backports.
  • Experience with Yocto, Buildroot, or a comparable image build system. Solid understanding of the boot process: bootloaders, initramfs, and rootfs layout. Proficiency in C/C++; working knowledge of Python or Bash for tooling, and Git. Strong hardware debugging skills using tools such as oscilloscopes, logic analyzers, and JTAG / serial debug.
  • Ability to read and interpret system schematics and hardware datasheets. Working knowledge of embedded networking protocols such as CAN, EtherCAT, and Ethernet.
  • Familiarity with embedded Linux security fundamentals such as secure boot, PKI, and hardware key storage.
  • Experience writing and understanding technical specifications., * Experience with QNX Neutrino, including SDP, BSP development, and resource managers. Experience with real-time Linux tuning such as PREEMPT_RT.
  • Experience with humanoid robotics, industrial robotics, or other high-performance real-time systems.
  • Experience with CUDA, TensorRT, and container environments on Jetson. Experience with OTA update frameworks (RAUC, SWUpdate, Mender) and fleet provisioning. Familiarity with ROS 2 and DDS middleware.
  • Familiarity with safety-critical embedded system design standards, including ISO 26262. Contributions to upstream kernel or open-source BSP projects., * Prolonged periods of sitting at a desk and working on a computer
  • Must be able to lift 15 pounds at times
  • Vision to read printed materials and a computer screen
  • Hearing and speech to communicate

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.juju.com
Prepare application

Good distractions

Loading talks and stories from around this role…