Full Job Description
As a 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)
Working Conditions and Physical Requirements
The ideal candidate must be able to complete all physical requirements of the job with or without reasonable accommodation.
Sitting and / or standing - Must be able to remain in a stationary position 50% of the time
Carrying and / or lifting - Must be able to carry / move laptop as needed throughout the work day.
Environment - remote, work-from-home 100% of the time.
Pay Range Disclosure
At Bugcrowd, we strive for fairness, equality and to create an environment that allows our people to perform at their very best. Our compensation philosophy is to foster a collaborative community that rewards, attracts and retains the best possible talent. The provided compensation details are based on US national averages and we retain the flexibility to tailor to the needs of the business.
The national estimate for the current hourly rate for the position of $96.75 - $133.03.
This position may also be eligible to participate in a discretionary bonus program or commission plan, subject to the rules governing the program, whereby an award, if any, depends on various factors, including, without limitation, individual and organizational performance.
Disclaimer
This position has access to highly confidential, sensitive information relating to the technologies of Bugcrowd. It is essential that the applicant possess the requisite integrity to maintain the information in the strictest confidence.