About the Role
We are looking for an experienced engineer to work on advanced CNC, motion-control, and industrial automation systems. This role sits at the intersection of open-source CNC, real-time Linux, industrial fieldbus communication, and machine-tool kinematics.
The position is suited to someone who enjoys low-level systems work, understands both software and hardware, and is comfortable taking ownership of modules used in high-precision industrial machines.
Key Responsibilities
- Design, develop, and maintain control systems for industrial automation using EtherCAT.
- Develop and maintain control algorithms and software for CNC and motion-control applications.
- Work closely with hardware and software engineers to integrate control systems reliably.
- Perform system testing, debugging, latency analysis, and performance optimisation.
- Create and maintain technical documentation, design specifications, test plans, and user documentation.
- Provide troubleshooting and technical support for control systems in production environments.
- Take ownership of software modules used in machines serving precision manufacturing applications.
- Stay current with developments in real-time systems, robotics, industrial fieldbus technologies, and machine-tool control.
Required Skills & Experience
- Minimum 5 years of professional experience, excluding education.
- Strong C programming skills and working knowledge of C++ on Linux.
- Comfort working across the Linux kernel/userspace boundary.
- Strong understanding of real-time behaviour including determinism, jitter, priority inversion, and lock-free patterns.
- Understanding of kinematics and related linear algebra, including coordinate frames, homogeneous transforms, rotation representations, and singularities.
- Hands-on comfort with hardware-level debugging and working directly on machines.
- Experience with Git, code review, technical documentation, and disciplined engineering practices.
- Strong problem-solving, communication, and independent working skills.
Preferred Skills
- Hands-on LinuxCNC experience, including HAL configurations, kinematics modules, or machine retrofits.
- Experience with PREEMPT_RT or RTAI, including latency measurement and tuning on real hardware.
- Protocol-level experience with EtherCAT, CANopen, or another industrial fieldbus.
- Knowledge of G-code and RS274NGC concepts such as look-ahead, tool compensation, and canned cycles.
- Experience with servo tuning, vibration or resonance analysis, or motion trajectory planning.
- Python for tooling and test automation; CAD/CAM familiarity; ROS or robotic-arm exposure.
- Open-source contributions that demonstrate relevant engineering capability.
Education
B.E. / B.Tech / M.E. in Computer Science, E&TC, Electronics, Electrical, Instrumentation, Mechanical, Mechatronics, Robotics, or a related engineering discipline.