Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a Software Engineer who thrives on developing high-throughput data, low-latency code, and complex algorithm implementation. The available position moves beyond high-level application code, focusing on the intersection of systems programming, digital signal processing, and real-time data orchestration. As a Software Engineer at Altamira, you will design and build the software engines that power our sensing and communication platforms. You will be responsible for the full software lifecycle - architecting data pipelines, implementing algorithms in code, and developing robust APIs. You must be comfortable working in a Linux-centric environment where performance optimization and memory management are critical., · High-Performance Development: Architect and maintain mission-critical applications using C++ for performance-intensive processing and Python for prototyping algorithms, systems logic, data manipulation, and rapid feature deployment.
· Data Orchestration: Develop software to handle high-rate data streams over UDP/TCP, ensuring packet integrity and low-latency transfer between hardware and software.
· Automation & Tooling: Create Python-based tools for automated testing, signal simulation, and performance benchmarking of the software stack. Support GitLab CI integration for automated build and deployments.
· Agile Collaboration: Lead and participate in code reviews, utilize Git and Jira development productivity tools, support complex software releases in a collaborative environment.
Requirements
· Software Engineering: Professional software development experience with an emphasis on C/C++ and Python.
· Linux Systems: Proficiency with multi-threading, Inter-Process Communication (IPC), and network socket programming.
· Frameworks: Experience with X-Midas or similar signal processing frameworks (e.g., GNU Radio, REDHAWK).
· Mathematical Computing: Experience implementing mathematical / scientific algorithms in code.
· Software Best Practices: Strong rasp of Object-Oriented Design (OOD), design patterns, and modern DevOps/CI/CD.
Nice-To-Have Qualifications and Experience:
· CUDA or OpenCL: Experience using for GPU-accelerated signal processing.
· Docker or Podman: Knowledge of containerization and orchestration for deploying processing nodes.
· Signals: Familiarity with signal characteristics (pulsed/CW radar, modulations) and algorithms (FFTs, FIR filters, DDC).
· Digital Signal Processing (DSP): Understanding of concepts and software implementation (NumPy, SciPy, or FFTW).
· Applications: Background in Electronic Warfare (EW) or SIGINT (COMINT, ELINT) application areas.
Clearance Requirements:
- Must currently hold a minimum of a Top Secret clearance.