Job Purpose

The main purpose of this role is to work on designated software development projects, with an emphasis on writing robust, effective code, and developing, maintaining, deploying and supporting high-quality software systems. To take an active role in supporting business needs and meeting organisational objectives, as part of the Ocado Technology team.


Roles & Responsibilities 

  • Designing and building machine learning platform to use by Ocado Technology Data Scientists and engineers
  • Analysis of problems / requirements defined by platform users
  • Developing company-wide best practices in creation of ML solutions
  • Evangelisation for Data Driven / Smart organisation
  • Constantly looking for improvements and learning from mistakes
  • Working closely with Team Leader and Product Manager to set technical direction within the team and to ensure software developed is of a consistently high standard, cohesive and meets business objectives
  • Assisting all Team Leaders to ensure projects are accurately estimated and delivered to schedule
  • Working closely with Team Leader and Product Manager on issues related to requirements, process and design
  • Mentoring colleagues and take an active role in their development
  • Research, development & optimisation
  • Participate effectively in all stages of systems development, including:
    • requirements gathering
    • design of systems and data
    • software construction (coding)
    • deployment of production ready code
    • maintenance and support of existing systems
    • investigation and resolution of production issues
    • performance tuning
    • code review and change control
    • demoing new features to stakeholders

You may be asked to perform tasks as required by management deemed as a reasonable request. This job description is a summary of the typical functions of the role, not an exhaustive or comprehensive list of possible role responsibilities, tasks and duties and is subject to review. The responsibilities, tasks and duties of the job holder might differ from those outlined in the job description and other duties, as assigned, might form part of the job. 

Desired skills & competencies


  • Programming experience in Python
  • Experience in machine learning projects
  • Experience in the full Software Development life-cycle from design to deployment
  • Experience in data processing tools and awareness of related ones (e.g. BigQuery (SQL), pandas or Dataflow)
  • Knowledge of SCRUM or other Agile methodologies



  • Knowledge in AWS/GCP cloud
  • Knowledge of tools used in ML projects (like TensorFlow, Keras) 
  • Proven ability of tackling challenging projects
  • Masters or other postgraduate qualification in Computer Science, Software Engineering or equivalent.

Required Competencies:

  • Technical Excellence : demonstrates intellectual rigour, possesses relevant abilities & is able to pick up new skills quickly
  • Innovation & Problem Solving: able to solve complex problems, participates in continuous improvement, adapts the ideas of others
  • Productivity, Drive & Achievement: proactive approach, gets things done, demonstrates accountability & ownership, prioritising own workload
  • Business awareness: ability to apply learned skills, awareness beyond immediate area/role
  • Adaptability: working under pressure, flexible, positive & focused during times of change
  • Communication & Impact: strong verbal and written communication in English and Polish. Robust interaction with internal clients
  • Teamwork: works well with others & actively contributes towards team objectives


Personal Skills

  • Be passionate about Big Data
  • Able to explore new technology, strong innovation skills
  • Good communication skills
  • Able to assess strengths and  weaknesses of technology or approaches and communicate their  best application
  • Able to operate independently towards goals
  • Able to coordinate well with other teams


Apply for this Job

* Required