Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a skilled and motivated Software Engineer to join our engineering team in Albuquerque, NM. In this role you will design, develop, and maintain the real-time control software that drives ACME's motion cueing and recoil simulation systems. You will work at the intersection of embedded Linux, high-precision motor control, and deterministic real-time networking - writing code that directly controls electromechanical hardware in safety-critical training environments., * Develop and maintain real-time control software running on Red Hat Enterprise Linux with the RHEL Real-Time Kernel.
- Implement and optimize EtherCAT master/slave communication stacks for deterministic, low-latency I/O with servo drives and motion controllers.
- Write high-performance C and C++ code for motion control algorithms, hardware abstraction layers, and system diagnostics.
- Collaborate with mechanical and electrical engineers to integrate software with electromechanical actuators in Dynamic Motion Seat and GAR® weapon recoil systems.
- Participate in system integration, hardware-in-the-loop testing, and field verification at customer sites.
- Maintain software documentation, version control, and configuration management processes.
- Support proposals and customer reviews with technical expertise in real-time and motion control software.
Requirements
Do you have experience in Version control systems?, * Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, or a related technical field.
- 5+ years of professional software development experience in a Linux environment.
- 5+ years of hands-on experience with Red Hat Enterprise Linux (RHEL), including system configuration, service management, and OS-level debugging.
- Demonstrated experience with the Red Hat Real-Time Kernel (PREEMPT_RT) and real-time application development (latency analysis, CPU isolation, interrupt affinity, etc.).
- Strong proficiency in C and C++ (C++14 or later); ability to write efficient, maintainable, and testable code.
- Experience with EtherCAT fieldbus protocol - interface development, master configuration (e.g., EtherLab/IgH or equivalent), and cyclic PDO communication.
- Solid understanding of multi-threading, synchronization primitives, and real-time scheduling under Linux.
- Familiarity with version control systems (Git) and software development lifecycle practices., * Experience with motor control systems: position/velocity/torque control loops, PID tuning, servo amplifier interfacing.
- Background in simulation, aerospace, or defense industries.
- Familiarity with signal processing, kinematics, or washout filter algorithms used in motion cueing.
- Experience integrating with simulator host systems (DDS, shared memory, UDP-based interfaces).
- Knowledge of CAN bus, RS-422/485, or other industrial communication protocols.
- Experience with hardware-in-the-loop (HIL) test environments.
- Active U.S. security clearance or ability to obtain one.
Benefits & conditions
Pulled from the full job description
- 401(k) 4% Match
- Health insurance
- 401(k) matching
- Paid time off
- Vision insurance
- Dental insurance, * Meaningful work - your software will train military pilots and aircrew who rely on it in the field.
- Collaborative, low-bureaucracy engineering culture with direct access to leadership.
- Competitive salary commensurate with experience.
- Comprehensive benefits including health, dental, vision, and retirement.
- Opportunities to travel to customer sites and witness your systems in operation.
- Exposure to a broad technology stack spanning real-time OS, industrial networking, and embedded motion control., * 401(k) 4% Match
- Dental insurance
- Health insurance
- Paid time off
- Vision insurance