Senior Systems Software Engineer (Robotics)
Gastronomous Technologies Inc.
- Oakville, ON
- Permanent
- Temps-plein
- Accelerate/improve the quality of our platform's software through test-driven development.
- Design, implement and test software for embedded devices and IoT systems ensuring end-to end software development from requirements to production deployment.
- Implement and optimize algorithms for real-time control and motion planning in resource constrained embedded environments.
- Analyze and process sensor data to extract meaningful insights and enable intelligent decision making within the robotics system.
- Integrate new and existing software into new and existing machinery.
- Debug the software on the embedded systems to diagnose and fix issues.
- Create diagrams demonstrating flow of data through the system and code architecture.
- Detailed documentation of the software design of the systems and interfaces.
- Iterate on code, refactoring repeatedly to improve our code cleanliness.
- Create unit tests and system-level tests to verify code functionality.
- Build automated testing systems to ensure software reliability.
- Coordinate with hardware engineers and other staff to forecast whether the design will be feasible under cost and time constraints.
- Proven experience with software architecture design for complex, multi-component systems (4+ years of industry experience).
- Demonstrated ability to work on end-to-end system development, from requirements gathering to deployment and debugging.
- Strong experience in C++ and Python for system-level applications.
- Experience developing on a Linux based platform.
- Understanding of OOP and design patterns.
- Experience using git for source control.
- Understanding of embedded systems development; including microcontrollers, networking, device drivers, and real-time operating systems.
- Experience with SQL databases.
- Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems.
- Experience with Python and Bash scripting.
- Experience in robotics and machine automation.
- Knowledge of publish/subscribe architectures, such as ROS2 or MQTT.
- Experience with Docker.
- Experience with JIRA/Confluence.
- Familiarity with sensor fusion techniques, motion planning algorithms, and navigation systems for robotics.
- Some mechanical and/or electrical experience.
- Passion for turning bold ideas into reality.
- Must be able to work independently and with a multidisciplinary team.
- Organized and efficient, able to manage projects and present deliverables on time or communicate delays.
- Detail oriented with regards to machine development.
- Ability to work in a collaborative team environment and effectively communicate complex technical concepts.
- Strong problem-solving skills, attention to detail, and a passion for creating innovative robotics solutions.