Embedded Systems Staff Engineer
B
BugcrowdCybersecurity
Location: Remote - USFull-TimeStaff
SalaryThe national estimate for the current hourly rate for the position of $96.75 - $133.03.
Apply NowOpens the employer's application page
Job Details
- Experience
- 6+ years experience developing C/C++ on Linux
- Required Skills
- Linux
Requirements
- Have 6+ years of experience developing C/C++ on Linux.
- Bring significant experience with low-level systems software such as emulators, virtual machines, operating systems, compilers, debuggers, binary translators, hypervisors, or dynamic instrumentation systems.
- Demonstrate deep understanding of ARM and/or AArch64 assembly, calling conventions, exception models, privilege levels, and memory semantics.
- Understand Linux process execution, including ELF loading, virtual memory, signals, threads, system calls, dynamic linking, and debugging facilities.
- Have experience debugging complex native-code failures using tools such as GDB, LLDB, strace, perf, sanitizers, core dumps, or custom instrumentation.
- Be able to reason about instruction-level behavior and identify subtle differences between architectures or execution engines.
- Have familiarity with fuzzing, symbolic execution, dynamic binary analysis, or program instrumentation.
- Have strong software-design skills and experience owning technically complex systems.
- OCaml or another functional programming language is preferred.
- Background in vulnerability research, reverse engineering, or firmware analysis is preferred.
- A BS degree in Computer Science or a related technical field, or equivalent practical experience, is preferred.
Responsibilities
- Own and evolve 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 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.
View Full Description & ApplyYou'll be redirected to the employer's site