Position Title: Automation/Controls Software Engineer (C#/C++)
Location: Livermore, CA (Onsite)
Duration: 2 Options: Direct-hire Permanent (Preferred) OR Contract-to-Hire (Targeting 2 3 months conversion to perm)
Start Date: As Soon As Possible
Scope of Work / Summary of Problem Statement
The client is seeking to add Multiple Controls Software Engineers to support the design and development of software for high-precision manufacturing equipment built in-house. These positions will support ongoing automation initiatives focused on machine control, motion systems, computer vision, and manufacturing process integration.
These engineers will work, collaborate closely with software, mechanical, and electrical engineering teams to develop reliable, scalable automation solutions for high-volume manufacturing environments.
The ideal candidate has a passion for industrial automation and enjoys developing software that controls complex manufacturing equipment. They possess a strong understanding of motion control, machine vision, embedded systems, and software architecture, while collaborating effectively across multidisciplinary engineering teams to deliver reliable, production-ready solutions.
Duties / Responsibilities
- Design, develop, and maintain control software for high-precision automated manufacturing equipment.
- Develop software for embedded PC platforms that communicate with motion control hardware and automation systems.
- Design and implement multi-threaded, high-performance software applications using C# and C++.
- Develop software supporting automated sorting, assembly, inspection, and manufacturing processes.
- Integrate machine control systems with Manufacturing Execution Systems (MES) and production workflows.
- Develop software for motion control, data acquisition, and machine vision applications.
- Collaborate with mechanical, electrical, and manufacturing engineering teams throughout the design and implementation process.
- Participate in all phases of the Software Development Life Cycle (SDLC), including design, coding, testing, validation, and release.
- Create and maintain technical documentation and user documentation for developed applications.
- Troubleshoot software and hardware integration issues in manufacturing environments.
- Research and implement emerging technologies related to automation, machine vision, and industrial software development.
Necessary Skills
- 6 8+ years of experience developing industrial automation or machine control software (or equivalent combination of education and experience).
- Strong programming experience in C# and C++.
- Experience developing large-scale, multi-threaded and multi-process software applications.
- Hands-on experience with motion control systems and data acquisition hardware.
- Strong background in machine vision and image processing.
- Experience with Cognex VisionPro is highly preferred.
- Exposure to machine learning applications within industrial automation is a plus.
- Experience integrating automation equipment with Manufacturing Execution Systems (MES).
- Strong understanding of Object-Oriented Design (OOD) and Object-Oriented Programming (OOP).
- Experience developing software in Windows environments; Unix/Linux development experience is desirable.
- Strong debugging, troubleshooting, and analytical problem-solving skills.
- Excellent communication and collaboration skills in a cross-functional engineering environment.