We are seeking a detail-oriented Motion and Controls Programmer to play a crucial role in the design, development, and maintenance automated systems. Responsibilities include:
Software Development: Assist with design, development, and testing of software for automated systems. Write code, develop modular components, implement safety protocols, and ensure that all software adheres to sound object-oriented design principles- emphasizing maintainability, reusability, high cohesion and low coupling.
System Integration: Collaborate with cross-functional teams, including technicians and engineers, to identify programming needs and integrate software with existing hardware.
Troubleshooting and Debugging: Participate in pro-active problem solving, prototyping, testing, and debugging to ensure the efficient, reliable and robust operation of automated systems.
Documentation: Contribute to the creation and upkeep of clear, organized documentation related to software and electrical/electronic control systems, including control philosophies, configuration notes, and version tracking with materials stored appropriately based on project needs.
Collaboration: Work closely with other team members to optimize machine performance and integrate systems. You will be a key part of the team, contributing to a smooth production process.
Growth and Culture: As a member of our team, we'll provide mentorship and support to help you continuously develop your technical and professional skills, and you'll play a key role in contributing to our positive team culture.
What Qualifications and Skills Do We Look For?
Technical Skills: Hands-on experience with CNC machines and a solid working knowledge of Linux. Proficiency in multiple programming languages and a commitment to using version control tools like Git.
Education: A degree in a relevant field AND/OR a trades certification in a related discipline.
Experience: A minimum of 2+ years of professional programming experience.