Software Developer – User Interfaces

P&P Optica (PPO) is dedicated to improving the safety, quality, and efficiency of food production in North America through the development of its innovative Smart Imaging technologies. Our Smart Imaging products and systems incorporate PPO’s world-class expertise in spectroscopy and data analysis to push the boundaries of what is possible for real-time food product analysis. PPO is rapidly growing to meet these opportunities and we’re looking for talented, new individuals to join our team. At PPO we believe it’s important to enjoy and take pride in what we do. We strive to ensure a fun, friendly, and respectful work environment that continually offers new and interesting challenges and opportunities.

For more information on us and to see our other open positions, please visit www.ppo.ca/careers

About the Position

The chosen candidate will become a key member of the software team at P&P Optica. The software team is responsible for a wide range of activities including software input to the design of our Smart Imaging Systems, development of data-capture, image-processing, and machine-learning modules for real-time analysis, hardware interfacing for microcontroller platforms, custom control modules and production integration, chemometric algorithm development, user interface design, and customer data portal facilities. Software team members are involved in all aspects of our software stack; we encourage broad knowledge and cooperation across the team by constantly challenging ourselves in new system software areas.

Primary Responsibilities: 

  • Develop software for complex, multiinstrument, smart image processing systems.
  • Design functional, effective user interfaces for systems involving sensors, microcontrollers, optical components, and production line hardware. Line and engineering staff are direct users; cloud-based interfaces provide tools for management.
  • Implement the front-end and back-end aspects of Web-based analytical tools.
  • Adapt and interface to Python-based soft-realtime vision and analysis systems.
  •  Document the use, internals, and configuration of user interfaces, for coworkers and customers.

Additional Tasks May Include:

  • Software installation on production and feasibility systems.
  • Testing of new software releases.
  •  Evaluation and integration of software development infrastructure.
  •  Support for on-site installation and testing at Customer's facilities.
  • Mentoring and supervision of interns, co-op students, and contractors.
  • Software support for hardware and feasibility testing groups.
  • Work with external suppliers for hardware and software (e.g. cloud infrastructure)
  • Other tasks and duties as required.

About You 

You want to work for a fast-paced, growing company that is helping its customers to be more successful through the use of its innovative products and solutions. You want to be part of a team of motivated people like yourself who are eager to solve challenging problems and learn new skills. You have a positive attitude, care about doing things right, and are motivated by making a positive impact.

Required Skills:

  •  Minimum 3+ years of experience developing industrial-strength software.
  • College diploma or university degree in engineering, mathematics, science or another applicable field. 
  • Solid experience with software development processes and tooling.
  • Ability to architect, implement, and prove out effective interfaces for varied user groups and needs.
  •  Industrial experience with Python.
  • Strong written and verbal communications skills with experience documenting software designs.
  • Ability to work effectively as part of a fast-paced, multi-disciplinary team with clear communication to all team members and management.

Bonus Skills:

  • Experience in imaging processing is highly beneficial.
  • Significant Linux experience is an asset.
  • Knowledge of machine learning and/or neural networks.
  • Comfortable with both low-level embedded software and higher-level, whole-system abstractions.
  • Familiarity with C/C++ and hardware interfacing techniques.
  • Strong background in mathematics/statistics as applied to signal processing, data analysis, or chemometrics.
  • Experience with automation using microcontrollers and/or PLCs.
  • Food industry experience is a significant asset. 

P&P Optica is committed to supporting a culture of diversity across our organization and we simply focus on hiring the best talent. We welcome and encourage applications from people with disabilities. Accommodations are available on request for candidates taking part in all aspects of the selection process.