We are seeking a highly experienced Senior Software Engineer to drive the development of our next‑generation machine control software. In this role, you will leverage your 7 to 10 years of experience in embedded Linux, C/C++, and advanced control theory to architect systems that combine real‑time motion control, industrial EtherCAT communication, and intuitive operator interfaces.This position is ideal for a seasoned engineer who thrives at the intersection of software and hardware, enjoys solving complex control and kinematic problems, and has a proven track record of building highly deterministic, proprietary systems for demanding industrial CNC environments. Key ResponsibilitiesSystem Architecture & Implementation: Design, implement, and maintain scalable C/C++ software architectures for real-time motion control, machine coordination, and core system services.Embedded Linux Development: Develop and optimize custom hardware abstraction layers, real‑time modules, and deterministic software components within an embedded Linux/RTOS environment.Motion Control & Control Theory: Implement and refine advanced servo control loops, kinematics, trajectory planning, and complex motion algorithms.EtherCAT Integration: Architect and optimize reliable EtherCAT communication networks for drives, remote I/O modules, sensors, and distributed control systems (integrating commercial or proprietary EtherCAT master solutions).UI/UX Integration: Develop and maintain Qt‑based applications (Qt Widgets or QML) for seamless operator interfaces, advanced diagnostic tools, and configuration utilities.Cross-Functional Collaboration: Partner closely with mechanical, electrical, and controls engineering teams to define rigorous system requirements and ensure flawless hardware/software integration.Performance Optimization: Analyze and dramatically improve system determinism, latency, and reliability in strict real‑time environments.Full-Stack Debugging: Troubleshoot and resolve highly complex issues across the entire stack - from real‑time kernel threads and custom drivers to EtherCAT networks and UI layers.Technical Leadership: Support architecture design, mentor junior engineers, and produce highly detailed technical documentation.Required QualificationsBachelor’s degree in Computer Science, Electrical Engineering, Robotics, or a closely related field.7 to 10 years of professional, hands-on experience in C/C++ software development.Extensive experience with Embedded Linux, multithreading, and real‑time programming (e.g., PREEMPT_RT, Xenomai, or custom RTOS).Deep understanding of CNC architectures, control theory, and motion control systems.Proven, practical experience integrating and optimizing EtherCAT networks in a high-performance industrial setting.Proficiency with Qt (or similar frameworks) for UI/UX development.Advanced debugging and profiling skills using tools such as gdb, perf, Wireshark, or hardware logic analyzers.Demonstrated ability to translate highly complex mechanical and electrical requirements into robust, maintainable software architectures.Preferred QualificationsAdvanced degree (Master’s or Ph.D.) in an engineering discipline focused on robotics or control theory.Subject matter expertise in multi-axis machine tool behavior, advanced kinematics, and high-speed trajectory generation.Experience configuring and deploying custom embedded Linux distributions (e.g., Yocto, Buildroot).Experience with modern build systems and CI/CD pipelines (CMake, Meson, Jenkins, etc.).Strong understanding of industrial machine safety concepts and functional safety standards.Personal AttributesExceptional analytical and problem‑solving skills with a systems-level mindset.Highly comfortable leading technical initiatives within multidisciplinary engineering teams.Self‑motivated and detail‑oriented, with the capacity to take full ownership of complex, mission-critical projects.Clear, definitive communicator who can articulate architectural decisions to both technical and non-technical stakeholders.Requirements added by the job posterBachelor's Degree or higherWorking in an onsite setting7+ years of work experience with C/C++7+ years of Software Development experience in an embedded or real-time environment
Job Title
C Software Engineer (CNC Controller - LinuxCNC/EtherCAT/Qt)