Embedded Systems Staff Engineer

New
J
JobgetherSecurity analysis
100% remote, work-from-home arrangement within the United States.Full-TimeStaff
SalaryHourly compensation ranging from $96.75 to $133.03, based on U.S. national estimates. Potential eligibility for a discretionary bonus program or commission plan, subject to applicable program rules and individual and organizational performance.
Apply NowOpens the employer's application page

Job Details

Experience
6+ years of experience developing software in C/C++ on Linux.
Required Skills
C++Linux

Requirements

  • Have 6+ years of experience developing software in C/C++ on Linux.
  • Bring significant low-level systems software experience, such as emulators, virtual machines, operating systems, compilers, debuggers, binary translators, hypervisors, or dynamic instrumentation systems.
  • Have a deep understanding of ARM and/or AArch64 assembly, calling conventions, exception models, privilege levels, and memory semantics.
  • Know Linux process execution, including ELF loading, virtual memory, signals, threads, system calls, dynamic linking, and debugging facilities.
  • Have experience debugging complex native-code failures with tools such as GDB, LLDB, strace, perf, sanitizers, core dumps, or custom instrumentation.
  • Be able to reason about instruction-level behavior and identify differences between architectures and execution engines.
  • Have familiarity with fuzzing, symbolic execution, dynamic binary analysis, or program instrumentation.
  • Demonstrate strong software design skills and experience taking ownership of technically complex systems.
  • Preferred: experience with OCaml or another functional programming language.
  • Preferred: background in vulnerability research, reverse engineering, or firmware analysis.
  • Preferred: a bachelor's degree in Computer Science or a related technical field, or equivalent practical experience.

Responsibilities

  • Lead the architecture, maintenance, and evolution of ARM and AArch64 execution support through emulation.
  • Diagnose correctness, compatibility, and performance issues involving instruction semantics, memory management, exceptions, system calls, signals, threading, and process initialization.
  • Implement support for new ARM architectural features, instruction-set extensions, ABI variants, and execution environments.
  • Investigate and resolve behavioral differences between native execution, QEMU emulation, and internal analysis engines.
  • Improve the performance, determinism, observability, and reliability of large-scale emulated workloads.
  • Design and maintain test suites and regression infrastructure covering instruction-level and end-to-end ARM behavior.
  • Debug customer binaries and firmware involving unusual platform, compiler, or operating-system behaviors.
  • Collaborate across technical disciplines to advance binary analysis and execution capabilities.
View Full Description & ApplyYou'll be redirected to the employer's site
Hourly compensation ranging from $96.75 to $133.03, based on U.S. national estimates. Potential eligibility for a discretionary bonus program or commission plan, subject to applicable program rules and individual and organizational performance.
Apply Now