Software Developer

Do the words robotics, Advanced Kinematics, and Artificial Intelligence excite you?

Are you driven to discover software solutions to robotics problems that robotics companies tell you can’t be done?

A start-up culture within a mature and successful company – technical challenges and high responsibility with job stability and healthy project funding. This is what ODI can offer you.

ODI has started the AkAI project to further their capabilities by researching and developing technologies using robotics and advanced software including perception and machine learning to achieve manufacturing tasks with robotics that are currently only possible with highly skilled labour. The team is firing on all pistons developing software and hardware solutions using some of the latest technologies – ROS, custom built robots, and perception using cameras and blue laser scanners. The multidisciplinary team is built up of a combination of experienced engineers and talented career starters in the fields of mechanical, mechatronics, electrical, and software who are in constant collaboration towards a common goal. A factory and machine shop are within the same building in which to develop and test solutions.

The team is growing and is currently in need of talented software developers who are passionate about problem solving, advanced software, and robotics. You will be expected to work directly with the robots and automated equipment, and learning on the job is a must.

Required Experience:

  • C# and/or C++
  • OOP
  • Source control
  • Strong algebra skills
  • Awareness of and dedication to programming best practices
  • Willing to work with robots and other manufacturing equipment

Bonus Points

  • Robotics experience – Work, academic, or hobby
  • Agile software development, Jira
  • Perception – point cloud and optical cameras, PCL and OpenCV
  • ROS
  • C++ 11/14
  • Solid modelling and CAD – SolidWorks, AutoCAD
  • PLC/IPC programming – Beckhoff, Allen Bradley


  • Designing and implementing software for cutting edge robotic manufacturing processes.
  • Collecting and processing data from sensors, and making decisions based on the input.
  • Planning and executing robot motion.
  • Utilizing a database for machine learning and decision making.
  • Visualizing processed sensor data and models for validation.
  • Simulating processes for offline development.
  • Testing the software in simulation and then on real hardware.
  • Working within a scrum team to complete tasks in two week sprints.
  • Participating in brain storming sessions to develop solutions to challenging technical problems as a team.