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. Your work not only pushes the boundaries of technology but also makes a tangible impact on society.

    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.

    What you will work on. 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.
    • Develop and maintain APIs and services for on-robot vision processing.
    • 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.

    Who you are. 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., OpenCV, TensorFlow, PyTorch), as well as deep knowledge of CUDA for GPU programming and ONNX for model exchange.
    • 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.
    • Familiar with Protocol Buffers.
    • Expert debugging skills, for example: with Valgrind, gdb and gdbserver.
    • Excellent problem-solving skills and the ability to work as part of an interdisciplinary team.

    What our teammates enjoy. We build robots and deeply appreciate our humans. We move swiftly and expect a lot from each other. We build our work around this.

    • We value our people. We offer competitive compensation, and this role will have a salary range of $90,000 - $120,000 per year. You will have access to extended health, dental, and vision care and an annual health care spending account.
    • We value your time. We support work-life integration that focuses on delivering results not completing a timesheet. We flex to get the job – and life – done.
    • We recharge with downtime. A start up can be a busy place. Take 3 weeks of paid vacation to start on top of statutory holidays.
    • We know learning never ends. We support our people to pursue ongoing development and learning throughout the year.

    Who we are. We design and build mushroom harvesting robots to solve critical issues in the mushroom growing industry. While we design robots, we speak human. We are as passionate about our people as our product. No two days around here look the same, and we like it that way. We don't get hung up on our ideas or ourselves. We work hard and have loads of fun along the way. We are problem solvers at our core, and we value curiosity, open minds, and the desire to be better.

    What we believe. Life in a start-up is always moving and we believe in changing our minds often to stay open to new ideas and perspectives that drive us forward into spaces and places we've never been. This is innovation to us. We disagree with each other often and we commit to moving forward together always. We go all-out in our work and are all-in with each other. We move swiftly and keep processes and controls to a minimum. 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. And hey, we don't always get it right. We're human. If you think you have something to add to our team, feel an alignment with our values and are amped by our mission to build the best mushroom-picking robots in the world don't let this job posting stop you from connecting with us.

    #J-18808-Ljbffr