Position SummaryWe're seeking a
Software Engineer to develop and support software systems that interface closely with mechanical and electrical components. This role sits at the intersection of software, and hardware requiring strong collaboration between teams. You'll work in a global team with creators around the world.
The ideal candidate has experience in embedded systems, machine control, and motor driver integration, and is comfortable working in a hands-on, multidisciplinary environment and can work independently as well as in a team setting.
Key Responsibilities- Design, develop, and maintain software for embedded systems in C/C++.
- Collaborate closely with mechanical and electrical engineers.
- Develop software for motor control systems, including integration with motor drivers and controllers.
- Interface with hardware components such as sensors, actuators, and communication buses (CAN, SPI, I2C, UART, etc.).
- Support system bring-up, debugging, and testing.
- Write clean, maintainable, and well-documented code.
- Participate in design reviews and cross-functional problem-solving.
- Support field personnel and respond to issues in the field.
- Interface with gaming regulating agencies.
QualificationsExpected Knowledge, Skills & Abilities- Strong proficiency in C/C++.
- Proficiency with embedded systems.
- Experience with microcontrollers
- Proficiency with source control tools (Perforce, Git, GitLab, GitHub, or similar) and collaborative workflows (branching, pull requests, code reviews).
- Familiarity with RTOS, bare-metal development.
Preferred Knowledge, Skills & Abilities- Experience with stepper motor control systems.
- Experience with NXP, Lattice, or Mico32.
- Experience with hardware interfaces (SPI, I2C, UART, and networking protocols such as TCP/IP, UDP).
- Knowledge of event driven state machines.
- Proficiency in Python, Java Script, C#.
- Experience with Visual Studio or VS Code.
- Experience with other bootloaders and firmware frameworks.
Education- Bachelor's degree in computer science is ideal. Considerations for candidates with Computer Engineering or Electrical Engineering with strong software background.
Physical Requirements The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. While performing the duties of this job, the employee is regularly required to sit, stand, walk, bend, use hands, operate a computer, and have specific vision abilities to include close and distance vision, and ability to adjust focus working with computer and business equipment.
Work ConditionsHybrid structure with 3 days a week on-site required.
Open to candidates located in either
Eden Prairie, MN or
Las Vegas, NV.The work conditions are representative and typical of similar jobs in comparable organizations
This job description should not be interpreted as all-inclusive; it is intended to identify major responsibilities and requirements of the job. The employee in this position may be requested to perform other job-related tasks and responsibilities than those stated above.