Ocado Jobs – Software Engineer

Website Ocado

“We are on a mission: to transform the future of online grocery through cutting-edge technology innovation.”

What does the team do?

Self-driving vehicles are one of the most challenging and exciting technologies of our lifetimes, and logistics is expected to be one of the first commercially viable applications of this technology.

This is what we are developing in the Autonomous Mobility team, part of the Advanced Technology division of Ocado Technology.

The On-Vehicle Software team is one of the three core engineering teams within Autonomous Mobility.

We are responsible for all on-vehicle software systems required to load, store and present goods/items from a self-driving delivery vehicle. A few examples of these systems/problems include:

  • The control of all onboard mechatronic delivery systems designed and built by the Autonomous Mobility Hardware Team
  • Cloud communications with the Autonomous Mobility Cloud team (backend)
  • On-Vehicle communications with the vehicle platform and self-driving system

What will I be doing?

First and foremost you will be responsible for designing, implementing and testing software solutions to the problems described above. Our design processes involve software architectural design with a strong consideration for the hardware architecture and systems. As the team is responsible for all on-vehicle software we work on low-level firmware, higher-level application software and everything in between. Although some of our engineers work across the full stack, this isn’t expected. If you are more comfortable working closer to the metal than the cloud (or vice versa), that is completely fine. If that is the case, you will have a fantastic opportunity to learn and widen your skillset.

As we are working with autonomous vehicles, our testing process is just as exciting as the implementation!

Beyond unit testing (automated in CI pipelines), we test on dedicated custom-designed benchtop hardware before running full integration tests with active autonomous vehicles.

What we are looking for?

We are hiring across the spectrum of experience levels and skills as we have multiple positions available.

Our code-base is designed using an event-driven architecture (on both real-time and general-purpose operating systems) and implemented in C++ (CMake is used to control compilation), with some supporting tooling written in python and bash.

Considering this, our interactive coding exercise will be in C++ and will touch on topics like control flow, object-oriented programming, memory management, interrupt service routines and data structures. We acknowledge that languages, as well as tooling and supporting software, can be learnt on the job. However, we are interested in candidates with a sound understanding of both object-oriented design and C++.

As the game goes, things don’t always work as they should (especially when working with leading-edge custom hardware), and so we will be interested in systematic and creative debugging approaches.

Our hardware architecture consists of both real-time capable microprocessors and general-purpose, high-powered rugged processing units. This means our software stack ranges from application software (C++ 20 deployed on a Linux operating system) to low-level firmware (C++ 11 and using a real-time operating system). While experience using more advanced features of C++ would be fantastic, it is not essential – the same applied to low-level firmware experience.

Our system makes extensive use of both wired and wireless communication protocols. Experience working with serial communication protocols (CAN/CAN FD, SPI, I2C) would certainly be a bonus but is not a hard requirement. The same applies to experience with wireless communication.

Efficient and thorough testing – especially when a system has hardware dependencies – is an art form. For more senior roles, we will be looking for experience and knowledge in this area. We keep track of our development using the git protocol, and we expect applicants for more senior roles to have a working knowledge of it.

Lastly, as we are deploying our software on vehicles we are conscious of automotive cybersecurity – particularly when it comes to specific C++ implementation. Experience in this domain is not required for this application but would be considered valuable.

About Ocado Technology

Ocado Technology is changing the way the world shops using advanced Artificial Intelligence, Machine Learning, Robotics, Big Data, Cloud and IoT. We develop the innovative software and hardware systems that power Ocado.com, as well as the unique ‘Ocado Smart Platform’ which is being implemented by ambitious retailers across the world from Europe to America, Asia and beyond.

Our Values

We champion a value-led culture to get our teams working at their very best and to help create a collaborative working environment with inspiring projects that our people love. Core values of Trust, Autonomy, Craftsmanship, Collaboration and Learn Fast help drive our innovative culture. But don’t just take our word for it, have a look at what our people are saying about us on Glassdoor.

What we can offer you?

Our employee benefits are designed for you, we care about people and we’ve ensured we have a wealth of benefits that focus on your well-being. We regularly review our benefits to ensure we are supporting our employees appropriately. Currently, we offer technically stretching work, a competitive salary and;

  • A Work from Home policy that sees you in the office typically 40% of your time.
  • 30 days ‘working from anywhere’ policy
  • Equity Plan (10-15% of salary) for eligible roles and levels.
  • Wellbeing support through Apps such as Unmind and an Employee Assistance Programme
  • 25 days annual leave, rising to 27 days after 5 years of service (plus optional holiday purchase)
  • Pension scheme (various options available including employer contribution matching up to 7%)
  • Private Medical Insurance
  • 22 weeks paid maternity leave and 6 weeks paid paternity leave (once relevant service requirements are complete)
  • Train Ticket loan (interest-free)
  • Cycle to Work Scheme
  • Opportunity to participate in Sharesave and Buy as You Earn share schemes
  • 15% discount on Ocado.com and free delivery for all employees
  • Income Protection (can be up to 50% of salary for 3 years) and Life Assurance (3 x annual salary)

We also have regular divisional socials, and sports clubs, not to mention the Ocado Technology Academy for a packed schedule of courses, conferences and events.

Be bold, be unique, be brilliant, be you. We are looking for individuality and we value diversity. We are an equal opportunities employer and we are committed to treating all applicants and employees fairly and equally. We are committed to making reasonable adjustments to provide a positive, barrier-free recruitment process and supportive work environment. If you have any support or access requirements, we encourage you to advise us at the time of application.

We are thrilled to welcome applicants from across the world. Whilst we are able to offer visa sponsorship, please note that we are only able to cover costs relating to the Certificate of Sponsorship and the Immigration Skills Charge only. For all employment offers made for UK roles, it is expected that you will be based in the UK at a commutable distance, ready for your first day of work, so please keep this in mind. If you have any questions, please don’t hesitate to ask.

Due to the energising nature of Ocado’s business, vacancy close dates, when stated, are indicative and may be subject to change so please apply as soon as possible to avoid disappointment. If you have applied and been rejected for this role in the last 6 months, or applied and been rejected for a role with a similar skill set, we will not re-evaluate you for this position. After 6 months, we will treat your application as a new one. All benefits information is subject to change and the terms of the individual arrangements. Please assume you have been unsuccessful if you haven’t heard from us within 4 weeks.

If you think you have what it takes to make a difference, please submit your application below.

 Report Job