Software Engineer II - C++/Rust
Your Impact
You will be a core contributor to the software systems that keep critical infrastructure, public events, and military operations safe from drone threats. As part of a high-performing engineering team, you will build and evolve the low-level, performance-critical software that sits at the heart of Dedrone's detection platform. This is a meaningful opportunity to deepen your Rust expertise while driving a strategic modernization effort - working on software that operates at real-world scale with real-world consequences.
What You'll Do
Location: This role is based out of our Kassel office and follows a hybrid schedule. We rely on in-person collaboration and ask that team members work onsite Tuesdays through Fridays, with the flexibility to work remotely on Mondays, unless there is an approved workplace accommodation. We believe that connection fuels innovation, and our in-office culture is designed to foster meaningful teamwork, mentorship, and shared success.
Reports to: Director RF Engineering
- Design, develop, and maintain high-performance C++ applications within Dedrone's detection and tracking platform, with a focus on correctness, low latency, and minimal I/O overhead
- Contribute to the incremental migration of existing C++ components to Rust, applying practical Rust development skills in a production environment
- Implement and optimize parallel processing pipelines on Linux systems, ensuring efficient use of multi-core hardware and system resources
- Collaborate closely with teammates in code reviews, architecture discussions, and knowledge sharing - with a shared commitment to clean, maintainable code
- Diagnose and resolve performance bottlenecks, memory issues, and concurrency bugs across complex, real-time systems
- Participate in defining and upholding engineering standards as the team evolves its tooling and language stack
What You Bring
- 3+ years of professional software development experience, with a strong foundation in C++
- Practical, hands-on experience developing Rust applications - you have shipped Rust code and understand its ownership and concurrency model
- Solid understanding of parallel and concurrent programming patterns and how to apply them safely and efficiently
- Experience developing and deploying software on Linux systems, including familiarity with system-level APIs and tooling
- A methodical approach to performance: you profile before you optimize, and you understand the cost of memory, threads, and I/O
- B.Sc. in Computer Science, Electrical Engineering, or a related technical field - or equivalent practical experience