Bugcrowd logo
Bugcrowd·

Embedded Systems Staff Engineer - Bugcrowd

Fully remoteFull-timeSenior$201K - $277KUTC-8–-4USA only#C##arm#c++BonusCommission

As an Embedded Systems Staff Engineer, you will own the architecture, maintenance, and continued improvement of ARM architecture support within Bugcrowd.

Job Summary

In this role, you will work at the boundary between CPU emulation, operating-system semantics, binary analysis, fuzzing, and symbolic execution. You will improve Bugcrowd’s ability to execute and analyze ARM and AArch64 binaries, diagnose subtle differences between native and emulated execution, and extend our support for new operating environments, binaries, and firmware targets.

Essential Duties & Responsibilities

  • Own and evolve Bugcrowd’s ARM and AArch64 execution support using emulation.
  • Diagnose correctness, compatibility, and performance issues involving instruction semantics, memory management, exceptions, system calls, signals, threading, and process startup.
  • Add support for new ARM architectural features, instruction-set extensions, ABI variants, and execution environments.
  • Investigate discrepancies between native execution, QEMU execution, and Bugcrowd’s analysis engines.
  • Improve the performance, determinism, observability, and reliability of large-scale emulated workloads.
  • Develop test suites and regression infrastructure for instruction-level and end-to-end ARM behavior.
  • Debug customer binaries and firmware that exercise unusual platform, compiler, or operating-system behavior.

Education, Experience, Knowledge, Skills, and Abilities

  • 6+ years experience developing C/C++ on Linux.
  • Significant experience working with low-level systems software such as emulators, virtual machines, operating systems, compilers, debuggers, binary translators, hypervisors, or dynamic instrumentation systems.
  • Deep understanding of ARM and/or AArch64 assembly, calling conventions, exception models, privilege levels, and memory semantics.
  • Strong understanding of Linux process execution, including ELF loading, virtual memory, signals, threads, system calls, dynamic linking, and debugging facilities.
  • Experience debugging complex native-code failures using tools such as GDB, LLDB, strace, perf, sanitizers, core dumps, or custom instrumentation.
  • Ability to reason about instruction-level behavior and identify subtle differences between architectures or execution engines.
  • Familiarity with fuzzing, symbolic execution, dynamic binary analysis, or program instrumentation, plus strong software-design skills and experience owning technically complex systems.

Preferred Experience

  • OCaml or other functional programming language.
  • Background in vulnerability research, reverse engineering, or firmware analysis.
  • BS degree in Computer Science or related technical field, or equivalent practical experience.
  • US Person (for ITAR, such as a US citizen, lawful permanent resident, or protected individual).

Timezone overlap

UTC-8–-4

Benefits

Bonus, Commission

Open to

US

Sign in to track applications and earn points.

More roles at Bugcrowd

Similar remote roles