Software Developer Level II - Industrial Machine Vision

Job expired!

Join ATS Corporation: Exciting Opportunity for a Software Developer Level II - Industrial Machine Vision

Job Description

Are you passionate about innovation in software development? ATS Corporation is looking for a Software Developer Level II to join our Innovation Center. As a key contributor, you will work on cutting-edge projects involving image processing, machine vision, data collection, and control solutions.

Major Duties

As a vital part of our innovation group, you will:

  • Develop and evolve world-class machine vision software.
  • Provide design direction and conduct code reviews for our software developers.
  • Mentor and technically develop the software team.
  • Support customers and create onboarding materials for new developers.
  • Collaborate closely with project managers, product owners, UI/UX developers, testers, control systems integrators, and end-users.
  • Work both individually and as part of a team.

Specific Responsibilities

General Experience

  • Write clean, efficient, and maintainable code.
  • Resolve customer problems with systematic and innovative solutions.
  • Participate in agile meetings, code reviews, and brainstorming sessions.
  • Lead and mentor management, customers, and peers through complex technical challenges.
  • Assist the project team in identifying critical path and dependencies.
  • Eager to evolve and improve processes for greater efficiency.

Software Development

  • Engage in software development including requirements gathering, design, programming, testing, and release.
  • Contribute to major software release plans aligned with the technology roadmap.
  • Collaborate with mechatronics designers, hardware designers, and operations personnel.
  • Develop and execute tests following Test Driven Development principles.
  • Generate software-related product documentation.
  • Stay informed about modern software technologies and coding principles.
  • Show interest in 2D/3D image processing and ML/AI applications in industrial spaces.
  • Participate in weekly agile meetings and offer mentorship to team members.
  • Provide constructive feedback during code and design reviews.
  • Contribute to the quality standards of our software design and technology stack.

Additional Responsibilities as Software Developer Level II

  • Demonstrate ownership throughout the software development lifecycle.
  • Provide supervision, training, and guidance to team members.
  • Effectively communicate and implement solutions internally and externally.
  • Consistently meet project deadlines and requirements.
  • Promote and practice standard departmental processes with a mindset for constant improvement.
  • Write functions that are testable, understandable, and account for edge cases.
  • Understand and implement SOLID principles for software development.
  • Ensure tasks are well-sized for continuous integration and incremental delivery.
  • Manage risk, change, and uncertainty effectively within your scope of work.

Qualifications

Education:

  • Post-secondary engineering or computer science degree, diploma, or equivalent with an emphasis on software design and development.

Desired Experience:

  • Proficient in coding, optimizing, and accelerating image processing and computer vision algorithms.
  • Expertise in C/C++, C#, VB.Net, XML, PowerShell, Python, and Visual Studio tools.
  • Implementation experience with SIMD, Multicore, and/or GPU accelerations.
  • Knowledge in traditional industrial machine vision and machine learning algorithms.
  • Experience with ethernet network programming, industrial protocols, and image processing frameworks like OpenCV and Halcon.
  • Strong problem-solving skills for Windows OS, hardware, and device driver issues.
  • Familiarity with Linux, OS virtualization, and disk management.
  • Experience in deploying vision systems in industrial environments.
  • Hands-on experience with industrial cameras and interfacing protocols.
  • Proficiency in using issue-tracking and revision-control systems.