EMBEDDED OS ENGINEER

H.T. Prof Executive Search

Salt Lake City (UT)

On-site

USD 120,000 - 190,000

Full time

6 hours ago
Be an early applicant

Get a reply from this recruiter

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Our client seeks a hands-on Embedded OS Engineer to own the Ubuntu-based Linux firmware stack on the MK2 drone platform (Qualcomm QRB5165). You will build the OS, keep it secure, reliable, and ship it through automated CI/CD pipelines.

This role requires navigating low-level OS internals, BitBake workflows, and headless hardware with no display. You will maintain build systems, optimize performance, and implement OS customization post-build.

Qualifications

  • Hands-on experience with embedded OS and Yocto build system.
  • Strong understanding of Linux firmware for headless devices.
  • Experience with image recipes, local.conf tuning and patch workflows.
  • Ability to optimize build times and manage sstate-cache.
  • Familiarity with security hardening and patching processes.

Responsibilities

  • Own and maintain the Yocto-based firmware stack and image recipes.
  • Write and maintain .bb and .bbappend files; patch upstream BSP as needed.
  • Debug build pipeline failures and optimize Jenkins/GitLab CI.
  • Configure systemd units, timers, networking, and USB logging.
  • Remediate Nessus findings and manage security posture of embedded OS.

Skills

Yocto/BitBake
Embedded Linux
CI/CD pipelines
Systemd services
uDev rules
GitLab/Jenkins
QEMU/NATIVE ARM64
BSP image customization
Patch management

Tools

Ubuntu/Linux firmware
Patch creation (git diff)
Docker
Jenkins/GitLab pipelines
QBR/QRB5165 BSP

Job description

Our client is looking for a hands‑on Embedded OS Engineer to own the Ubuntu‑based Linux firmware stack on our MK2 drone platform (Qualcomm QRB5165). You will be the person who builds the OS, keeps it secure, makes it reliable, and ships it through automated CI/CD pipelines.

This is not a role for someone who has only worked at the application layer. We need someone comfortable navigating low‑level OS internals, Yocto’s BitBake machinery, system unit files, and the realities of headless embedded hardware with no display and limited recovery options.

Yocto / BitBake Build System

Own and maintain the teal-mk2-build repository, including layer configuration, local.conf tuning, and image recipes that produce the qti-ubuntu-robotics-image.

Write and maintain .bb recipes and .bbappend overlays; create .patch files (git diff–based) against the pinned Qualcomm QRB5165 BSP (LU.UM.3.3.1) so that upstream sources are never modified directly.

  • Debug BitBake task failures—understanding the do_fetch → do_compile → do_rootfs → do_image pipeline, sstate-cache behavior, and when to use -c cleansstate vs. -c rootfs -f.
  • Optimize build performance: reduce full-build times by understanding QEMU emulation overhead vs. native ARM64 compilation, tuning BB_NUMBER_THREADS and PARALLEL_MAKE, and leveraging shared sstatecache across Jenkins agents.
  • Manage package inclusion, exclusion (IMAGE_INSTALL:remove, PACKAGE_EXCLUDE, BAD_RECOMMENDATIONS), and inter-recipe dependency graphs.

Implement ROOTFS_POSTPROCESS_COMMAND functions to perform postbuild OS customization: package upgrades, apt security patching (Ubuntu ESM), service installation, and file system fixups.

  • Remove unnecessary services from production images—including HTTP servers (lighttpd), TFTP daemons, and other attack-surface-expanding services identified in Blue List / Nessus security assessments.
  • Write bash scripts and systemd service units that execute reliably in a headless, rootfs post-install context (no interactive terminal, limited /proc and /dev availability).
  • Manage the dpkg / apt ecosystem within the embedded rootfs: pinning packages, handling held packages, validating package state, and ensuring apt lock files are clean across incremental builds.

Maintain and improve Jenkins pipelines that build Yocto firmware images, including handling concurrent build isolation, artifact staging, and race conditions between parallel jobs.

Diagnose and resolve Jenkins agent performance issues: Java heap tuning, Docker overlay2 disk pressure, container lifecycle management, and build environment reproducibility.

  • Implement proper artifact copy patterns (stageDir isolation) to prevent race conditions when multiple builds run concurrently against shared directories.
  • Manage GitLab repository structure and branch protection for the build repo; implement .patch-based change workflows that preserve the integrity of pinned upstream BSP branches.
Embedded Linux System Configuration
  • Configure systemd-networkd for runtime network mode switching (DHCP linklocal) on headless devices using udev rules, button-press event handlers, and LED feedback mechanisms.
  • Write and maintain systemd service units and timers: understanding WantedBy, After, Requires, and ExecStart semantics for embedded boot sequences.
  • Implement reliable USB logging and file transfer services (usb-gadget, udevadm) for field diagnostics on devices with no screen.
  • Develop and maintain Prometheus node_exporter integrations and processexporter configurations for drone fleet health monitoring via Grafana dashboards.
Security & Compliance
  • Remediate Nessus / Blue List security findings affecting the embedded OS: SSH hardening (key-only auth, sshd_config tuning), open port reduction, and service inventory documentation.
  • Maintain /etc/shadow hygiene, locked account policies, and PAM configurations appropriate for production embedded devices.
  • Generate and maintain security compliance artifacts (port inventories, service lists, patch status reports) for internal security assessors.
Reliability & Performance Tuning
  • Profile and diagnose slow boot sequences, runaway processes, and memory pressure on ARM64 embedded hardware.
  • Use screen, tmux, and remote shell tooling to manage long-running build and deployment sessions on headless servers and devices.
  • Implement OS-level monitoring: log capture services, boot-time diagnostics, and watchdog patterns for unattended field deployment.
  • Advise on cloud build infrastructure choices (AWS Graviton / Azure ARM64) to eliminate QEMU emulation overhead and achieve 3–5× build time reductions.
Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

KLA Industries, Inc. • Salt Lake City (UT)

On-site
USD 110,000 - 170,000
Medical Insurance
401(k) Matching
Flexible work hours
+1
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Sora Resource Group • Salt Lake City (UT)

On-site
USD 120,000 - 180,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Ashton North LLC • Salt Lake City (UT)

On-site
USD 110,000 - 160,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Accounting Search • Salt Lake City (UT)

On-site
USD 110,000 - 160,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Tom Trese Networking LLC • Salt Lake City (UT)

On-site
USD 120,000 - 180,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

MDS Staffing • Salt Lake City (UT)

On-site
USD 120,000 - 180,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Aspire Talent Solutions • Salt Lake City (UT)

On-site
USD 120,000 - 180,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Zaddy Solutions • Salt Lake City (UT)

On-site
USD 120,000 - 150,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

True North Consultants, Inc. • Salt Lake City (UT)

On-site
USD 120,000 - 160,000
EMBEDDED OS ENGINEER
EMBEDDED OS ENGINEER

Markent Personnel, Inc. • Salt Lake City (UT)

On-site
USD 110,000 - 170,000