Job Description:
Senior Software Engineer position focusing on low-latency control systems, specifically multi-axis movement to search for and track satellites dynamically using feedback loops for deployment on embedded Linux or microcontrollers.
The role offers significant autonomy across architecture and implementation, alongside complex challenges involving geometry, coordinate systems, and real-time astronomical tracking.
The ideal candidate will have experience developing algorithms to control multiple motors or servo mechanisms using closed-loop feedback, including PID/PI tuning and position or velocity control.
Senior Software Engineer essential skills
- 3+ years relevant software engineering experience with C or C++
- Practical experience in control or robotics
- A sound understanding of gearing, inertia, friction, backlash, acceleration, overshoot, oscillation and stability.
- Experience with motor drives, feedback devices and real-time software
- A degree in engineering or equivalent qualification or experience.
Senior Software Engineer desirable skills
- Python
- RTOS
- Linux development, scripting and system diagnostics.
- General embedded systems
- Advanced control or estimation methods, including feed-forward control, Kalman filtering, sensor fusion or system identification.
- IMUs, gyroscopes, accelerometers, GNSS or multi-axis motion-control systems.
- MATLAB/Simulink or Python-based control and simulation tools.
- Interfaces such as CAN, SPI, I2C, UART/RS-485 or Ethernet.
- ROS 2, ros2_control, CANopen/CiA 402 or EtherCAT.