Your Role
As a Senior C++ Software Engineer on the Core Systems Team, you will architect, implement, and optimize real-time software components that power our next-generation IoT platform. You'll work closely with hardware engineers, algorithm developers, and product managers to push the boundaries of deterministic performance.
Key Responsibilities
- Design and develop high-performance, low-latency C++ applications for embedded Linux and bare-metal systems.
- Implement real-time control loops, data acquisition pipelines, and communication protocols (e.g., UDP, MQTT, CAN bus).
- Perform code reviews, static analysis, and unit/integration testing to ensure reliability and maintainability.
- Optimize memory usage, CPU utilization, and thread synchronization for resource-constrained environments.
- Collaborate with cross-functional teams to define system requirements and architectural decisions.
- Mentor junior engineers and contribute to internal knowledge bases.
- Profile and debug performance bottlenecks using tools like perf, Valgrind, and custom profiling frameworks.
- Participate in on-call rotation for critical production systems (rare).
Our Tech Stack
- Languages: C++17/20, Python (scripting), Bash
- Platforms: Embedded Linux (Yocto/Buildroot), RTOS (FreeRTOS, Zephyr)
- Tools: CMake, Git, Jenkins, Docker, Jira, Confluence
- Hardware: ARM Cortex-A/M, x86, custom FPGA interfaces
- Testing: Google Test, CppUnit, automated CI pipelines
- Optional: FPGA programming (VHDL/Verilog), Rust experience is a plus