System Software Engineer C++ - Canada - Toronto Film School

    Toronto Film School
    Toronto Film School Canada

    4 weeks ago

    Default job background
    Description
    We are searching for a Software System Engineer C++ to join our growing agtech startup in Salmon Arm, BC.

    Join a team at the forefront of technological innovation in mushroom harvesting as we build robots to address critical labour shortages and build a more sustainable food future.

    This unique role offers an opportunity to innovate within an energetic startup environment and help shape the future of agriculture with cutting-edge machine learning/deep learning vision models.

    You will gain experience in all stages of the software development lifecycle and be part of the global solution to bringing the power of AI into the real world.

    Our System Software Engineer is a critical team member responsible for the development, integration and configuration of the on-robot software services that support our machine learning/ deep learning vision models.

    This is an opportunity to join a team at the initial stages of taking our farm-proven robotics products to market.

    As a System Software Engineer, you will get to:
    Collaborate in an agile software development environment with Developers, Designers, and Project Managers.
    Fuse output of multiple vision Machine Learning models using OpenCV.
    Use your expertise in debugging C++ code on Linux platforms to identify and resolve complex technical issues efficiently.
    Design, develop, and maintain software applications that leverage middleware messaging services for seamless communication between distributed systems.

    Collaborate with ML/DL engineers to integrate vision models into the robot's software ecosystem, ensuring seamless operation and real-time performance.

    Optimize existing computer vision algorithms for speed and accuracy.
    Work closely with hardware teams to tailor software solutions for specific edge devices and industrial PCs.
    Naturally build upon the work of others, especially with respect to leveraging Open-Source software.
    Provide technical leadership and mentorship to junior developers, guiding them in software design and coding standards.
    Conduct code reviews to ensure code quality, adherence to coding standards, and the implementation of best practices.
    Some combination of following skills, abilities, experience, and attributes will help you thrive in this role:
    ~ Product-focused creative thinking.
    ~ Bachelor's degree in computer engineering or computer science or equivalent experience.
    ~5+ years of professional software development experience.
    ~ Experience in building containerized microservices with Docker.
    ~ Experience with developing and deploying software on robotic systems or embedded platforms, especially deploying deep learning or AI models to devices in the NVIDIA Jetson family.
    ~ Proficient in programming languages such as C++, Python, and experience with computer vision libraries (e.g., The ability to visualize the interactions and interfaces between software and electro-mechanical systems.
    ~ Experience with Git and the Linux command line.
    ~ Strong proficiency in middleware messaging services, such as: Gazebo Transport, ZeroMQ.
    ~ You will have access to extended health, dental, and vision care and an annual health care spending account.
    A start up can be a busy place. Take 3 weeks of paid vacation to start on top of statutory holidays.
    We design and build mushroom harvesting robots to solve critical issues in the mushroom growing industry. While we design robots, we speak human. This is innovation to us. And we keep the office stocked with snacks at all times
    If this describes your background, skills, experience, and attributes head over to our website and submit your application.