*Location:* On-site (Canada)
*Job Type:* Full-time
We are seeking an experienced *Control Systems Software Engineer* to join our dynamic Engineering Team. In this role, you will collaborate with mechanical, electrical, and software engineers to design, develop, and refine advanced control logic for industrial systems, optimizing performance, reliability, and integration. Your work will directly impact product efficiency and help solve complex technical challenges.
*Key Responsibilities:*
* Develop and debug control logic using *Python*, *C*, and *ladder logic* for PLCs.
* Design robust algorithms for efficient *process control* and real-time *data acquisition*.
* Implement and troubleshoot industrial *communication protocols* (I2C, UART, CAN Bus).
* Collaborate with cross-functional teams to integrate software solutions with mechanical and electrical components.
* Create and maintain test environments for control validation and system performance.
* Provide field support, conducting commissioning, testing, and troubleshooting at client sites.
* Document code and system architectures for team use and stakeholder communication.
*Requirements:*
* *Bachelor's/Master's degree* in Computer Science, Electrical Engineering, or a related field.
* 5+ years of experience in industrial control system development and software integration.
* Strong programming skills in *Python*, *C*, and *ladder logic*.
* Expertise in *finite state machines* and industrial communication protocols (I2C, UART, CAN).
* Experience with system commissioning and troubleshooting in field operations.
* Ability to work hands-on in both the shop floor and office settings.
* Willingness to travel internationally (U.S. and overseas) and a valid driver?s license.
*Preferred Qualifications:*
* Familiarity with *SCADA/HMI* systems and safety-critical environments.
* Knowledge of *PID control*, motion control, and *real-time systems*.
* Experience with *Modbus*, *OPC UA*, *Ethernet/IP*, and *Git*.
If you have a passion for solving complex problems and working on cutting-edge technology, we'd love to hear from you!
Job Type: Full-time
Pay: From $100,000.00 per year
Benefits:
* Life insurance
* Paid time off
* Vision care
Schedule:
* Monday to Friday
Experience:
* Python: 5 years (required)
* PLC: 5 years (preferred)
* C: 5 years (required)
* communication protocols (UART, i2c, SPI): 5 years (required)
Work Location: In person
The median wage is the salary of a given occupation where half the workers earn more than that amount, and half earn less. This information is presented on job postings to help job seekers determine how the salary compares to the amount earned by other workers working the same job. Job Bank preferred indicating the median wage, which is less affected by extremely high or low wages, rather than the average wage which is calculated by adding up all the salaries of a group of people and then dividing that total by the number of people.
It looks like you are visiting Job Bank from outside Canada.
If you are not legally authorized to work in Canada, you can’t apply for every job on Job Bank. Most Canadian employers will not hire you if you do not have a valid visa or work permit.
You are trying to search for jobs funded by the Canada Summer Jobs program, but it looks like you are located outside of Canada.
You must be located in Canada to participate in the Canada Summer Jobs program.
If you are not currently authorized to work in Canada, you should search for jobs advertised by employers who are recruiting international candidates instead.