Senior Robotics Software Developer

Type of Position: Full Time – Permanent

Location: Waterloo, ON

Education Requirement: University Degree

Experience Requirement: Minimum 7 years of software development experience with strong knowledge of C++, C# and Python


Role Summary

OCTOPUZ is looking for a Senior Robotics Software Developer to join our team creating offline programming and simulation solutions for industrial robotic applications. You will be a key member of the development team because of your excellent coding skills, your ability to solve challenging problems in creative ways, your ability to coach junior and intermediate team members, as well as your passion for delivering quality solutions on time. With your experience and skills you will play a key role in the definition, design and development on our next generation software solution as well as being key in defining the technology and tools that OCTOPUZ will utilize going forward. You take pride in well-designed, efficiently programmed and reliable code. You appreciate that working for a fast paced start-up means you need to be adaptable, customer focused and results-oriented.  Ideally you have had experience working on architectural and user interface aspects of previous development projects.


At OCTOPUZ you will have the opportunity to work with other Developers and Robotic Applications Engineers create OCTOPUZ’s core software as well as custom solutions for our end customers.  As a senior developer, you are comfortable working with non-technical individuals from other functional teams and external customers as required.


Role Duties and Specifics

As a senior member of the development team you will:

  1. Actively participate in the translation of requirements and use cases into development definitions and effort estimates
  2. Design, build, and maintain efficient, reusable and reliable OCTOPUZ code and custom solutions involving robot motion planning strategies and geometry manipulation
  3. Ensure the best possible performance, quality, and responsiveness of the software
  4. Actively contribute to solution architecture, product definition and graphical user interface design
  5. Coach junior and intermediate software developers
  6. Identify development bottlenecks and/or bugs, and devise solutions to these problems
  7. Help maintain code quality, organization, and automatization leveraging your experience
  8. Contribute to improving the development environment and processes


Mandatory Requirements

  1. 7+ years of software development experience with strong knowledge of C/C++, C# and Python as well as object-oriented design and implementation
  2. Bachelors of Science or graduate degree in Computer Science, Software Engineering or equivalent
  3. Experience with agile software development and release cycles
  4. Experience working with 3D graphics desktop applications
  5. A team player with strong verbal communication skills and experience coaching other team members to solve challenges and grow


Nice to Have Experience

  1. Experience with bringing robots to life! 6-axis industrial robot interfacing, or direct experience with brands such as Kuka, Fanuc, Yaskawa Motoman, ABB, or similar is highly desirable
  2. Background in Mathematics, Computational Geometry, and Computer Graphics
  3. Experience with CAD or CAD/CAM software
  4. Experience with graphical user interface design and implementation
  5. Experience with software architecture planning
  6. Experience in standard software development methodologies as well as code/design review
  7. Additional programming languages are highly desirable