Software Systems Engineer

CACIFort Bragg, NC
9d

About The Position

We are looking for a Systems Software Engineer to design, develop, and optimize the core software that powers our platform. In this role, you will work close to the hardware, managing memory, CPU cycles, and I/O to ensure maximum performance and reliability. You will be responsible for building robust low-level components, troubleshooting kernel-level issues, and ensuring our software interacts seamlessly with various hardware architectures.

Requirements

  • Languages: Proficiency in C or C++ is mandatory. Experience with Python or Assembly is highly desirable.
  • Operating Systems: Deep understanding of OS internals (process management, memory allocation, file systems, concurrency, and networking stacks).
  • Environments: Strong experience developing for Linux (Kernel/User space), Unix, or RTOS (FreeRTOS, VxWorks, QNX).
  • Debugging: Mastery of system debugging tools such as GDB, Valgrind, Perf, Strace, or LTTng.
  • Computer Architecture: Solid understanding of x86, ARM, or RISC-V architectures, including caching mechanisms, DMA, and interrupt handling.
  • Concurrency: Proven ability to write thread-safe code and manage synchronization primitives (mutexes, semaphores, lock-free structures).
  • Analytical Thinking: Ability to debug "impossible" problems where the cause may be far from the symptom.
  • Attention to Detail: Systems software often lacks a safety net; a single memory leak or race condition can crash the entire environment.
  • Communication: Ability to explain complex technical trade-offs to non-systems teams.
  • Collaborative Mindset: Experience working in cross-functional teams (e.g., working with Hardware, QA, and SRE).
  • Education: Bachelor’s or master’s degree in computer science, Computer Engineering, Electrical Engineering, or a related field.
  • Experience: 3 years with strong academic projects or internships in systems/low-level programming.
  • Mid/Senior: 3–7+ years of professional experience in systems programming, kernel development, or embedded systems.

Nice To Haves

  • Experience with virtualization technologies (KVM, QEMU) or containerization (Docker, Kubernetes).
  • Knowledge of high-performance networking (DPDK, RDMA, or eBPF).
  • Experience with distributed storage systems (Ceph, GlusterFS) or database internals.
  • Contributions to open-source systems projects (e.g., Linux Kernel, LLVM, Chromium).

Responsibilities

  • Core Development: Design and implement low-level software components, including device drivers, kernel modules, and system libraries.
  • Performance Optimization: Identify bottlenecks in the system stack and optimize code for low latency, high throughput, and efficient resource utilization (memory/CPU).
  • Hardware Integration: Collaborate with hardware teams to bring up new boards, debug firmware/software interfaces, and implement hardware abstraction layers.
  • Scalability: Develop and maintain large-scale distributed systems or real-time operating system (RTOS) components.
  • System Diagnostics: Build monitoring and diagnostic tools to troubleshoot complex system-level issues in production and development environments.
  • Code Quality: Participate in rigorous code reviews and write comprehensive unit/integration tests for critical system paths.

Benefits

  • Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives.
  • We offer competitive compensation, benefits and learning and development opportunities.
  • Our broad and competitive mix of benefits options is designed to support and protect employees and their families.
  • At CACI, you will receive comprehensive benefits such as; healthcare, wellness, financial, retirement, family support, continuing education, and time off benefits.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service