Back to Blog

The life and lessons of an Ocado Technology intern

The life and lessons of an Ocado Technology intern

Rewind to November 2013 when, on a cold dark evening, I was entering one of Imperial College’s career fairs. As a third-year Computing student I needed to find a six-month placement, but had no clue where to start looking. Should I go into finance, a bigger tech company or a startup?

The endless possibilities caused my head to spin. So I did what everybody in my situation would do – started browsing. And that’s how I learned about Ocado Technology.

A short chat and a bonus pen later, I found myself in front of my computer, solving problems on Codility as a first step of the recruitment process. After a few stressful days of waiting I finally received the email inviting me to the Assessment Day.

The second part of my application consisted of two tests followed by two interviews. I was thrilled because Ocado seemed like a really exciting place to be. Constant changes and improvements sounded like the excitement factor I was looking for in a job. Plus, Java! I couldn’t dream of a better place to do my placement.

Then the 7th April came. A day full of surprises.

My first day

Having done the induction, I was collected by Mark Bush who showed me to my desk. I was a bit confused about why we couldn’t take the stairs at first, but then it all started making more sense. I was lucky enough to be located on the newly refurbished first floor.

Bean bags, cool Breakout Area and weirdly shaped desks which can be arranged in many different ways were just the beginning though. It was time to meet the team.

But wait, all those people, when they introduced themselves, they claimed to be from different teams… What was going on?

As it turned out, Code For Life is an initiative to help teachers teach computer science in schools. Ocado Technology employees volunteered their free time to develop a game that would show children the basics of programming. For a student like me it was the coolest project to work on.

Children trying Code for Life

Everything sounded like a dream until we started talking technology. I was told the application was going to be a Django web app with front-end written in JavaScript. Wait, what? Isn’t Django a framework for Python? Are you sure you got the right intern? Where’s the Java I kept hearing about during my interviews?

Don’t get me wrong, I have done a bit of Python before. But I felt that in contrast to my experience in Java, there wasn’t much I could offer the team. However, fear doubles all. Thanks to my hard work and my teammates’ amazing patience (thank you all, you know who you are), I soon found myself up to speed with Python and Django.

The project progresses

When I first joined, Code For Life only consisted of the game with one, hard-coded level. It’s amazing to look at the progress we made over those six months. Now it’s a whole portal, offering teaching resources, progress tracking and a game, Rapid Router, introducing programming to children at Key Stage 1 and 2.

But what is Rapid Router exactly? To put it simply, a game intended to teach children programming. In the game, you use Blockly – a visual programming language – to get the van or a character from the origin to the destination.


Using blocks is a nice introduction for the young ones, who haven’t encountered real code before. The app has a range of challenging levels which increase in difficulty as children progress. But that’s not all.

If the students feel up for something more demanding, or simply want to show their creative side, they can go to Level Editor and make their own map. They can then share their designs with other classmates to play or copy and change.

Once users become really good at creating programs, we slowly help them to shift to Python. At first, they create Blockly algorithms and then convert them to Python. This teaches them the basic Python syntax. Having learnt the grammar, they move on to writing programs themselves.

So, what did I learn?

Now, fast forward back to October, my internship has just ended. Time to look back at what I got out of this experience.

First of all, a chance to participate in all stages of designing and creating the product. It’s amazing to be involved in shaping of the whole project and be able to influence major decisions around it. Moreover, I had a great opportunity to develop my Python skills.

On a more personal ground, I have gained more self-confidence. Sometimes the team is looking for a way to solve a problem they have encountered and your idea, yes your idea, is the most optimal. It is important to spot a good solution and all its advantages over the alternatives.

Last but not least, satisfaction. Although I didn’t get a chance to experience the full Scrum process, I was able to develop a product that has a huge potential to change the way young minds are formed – not something every intern has an opportunity to do.

Overall, I loved every minute I spent at Ocado Technology, working on the Code For Life initiative. An interesting project and amazing people to work with seems like a recipe for a great internship.

I would definitely recommend Ocado Technology to anybody who likes taking up exciting challenges.

Scroll Up