About the Role
We are looking for a talented Software Engineer to join our embedded software development group, working on advanced multi-disciplinary observation and video systems. This is a hands-on technical role that spans the full software development lifecycle — from architecture and design through implementation, integration, and long-term product support.
What You'll Do
- Develop software packages for a variety of multi-disciplinary observation and video systems
- Design and implement software components based on system requirements, with a holistic view of the full system
- Take ownership across all stages of development and provide technical support throughout the product lifecycle
- Collaborate closely with project managers, system engineers, and cross-disciplinary teams
- Develop C++ software for Real-Time Operating Systems in complex, multi-interface environments
- Define software architecture and lead its implementation
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or Electrical Engineering — mandatory
- Proven knowledge and hands-on experience in RT / Embedded software development — mandatory
- 5+ years of C++ development experience — mandatory
- Strong knowledge and experience with Multithreading and Object-Oriented Design (OOD) — mandatory
Nice to Have
- Experience in a multi-disciplinary engineering environment — significant advantage
- Systems-level thinking and the ability to understand complex architectures
- Strong ability to work independently and learn new technologies quickly
- Excellent interpersonal skills and ability to work effectively in a team