Our client design and build the platform that powers their company, the world's largest online-only grocery retailer. They're also putting the world's retailers online, including Morrisons (the fastest growing online supermarket in the world), Fetch, Sizzle, and Fabled by Marie Claire.
They write and build all their own systems, from website to warehouse control systems, van routing systems to mobile apps, every system involved in their e-commerce and logistics operation has been carefully crafted by their team of passionate software engineers.
They have a rapidly expanding portfolio of amazing software products being developed in Barcelona. And they work closely with their development teams in their other centres around the world.
As a Software Engineer on the SRE team, you will have the opportunity to tackle the complex problems while using your expertise in coding, algorithms, complexity analysis and large-scale system design. Your tasks will focus on operational assets of the software. You will be part of the team that uses software instead of people to run operations on site.
- Design, write and deliver software to improve the availability, scalability, latency, and efficiency of Ocado's services.
- Solve problems relating to mission critical services and build automation to prevent problem recurrence; with the goal of automating response to all non-exceptional service conditions.
- Influence and create new designs, architectures, standards and methods for large-scale distributed systems.
- Working in cloud environment with instrumentation and automation in mind.
We are looking for someone with good software skills, who also is an expert in network engineering or system administration. Typically, we look for about a 50/50 mix of people who have more of a software background and people who have more of a systems engineering background. We feel this would be a really good mix.
- Experience with algorithms, data structures, complexity analysis and software design.
- Experience in one or more of: Java, Python, NodeJS, Scala.
- Expertise in designing, analyzing and troubleshooting large-scale distributed systems.
- Experience in cloud environments.
- Familiarity with running web services at scale; understanding of Unix systems internals and networking.
- Understanding of Unix/Linux systems from kernel to shell and beyond, taking in system libraries, file systems, and client-server protocols along the way.
- Networking: knowledge and understanding of network theory, such as different protocols (TCP/IP, UDP, ICMP, etc), MAC addresses, IP packets, DNS, OSI layers, and load balancing).
A relaxed, international, talented, creative and friendly environment (phew!) where they will provide you with the best tools to develop amazing stuff. They invest in their employees, ensuring they provide them with the best in house and external training programs available. They also really encourage people to attend conferences and be involved in the local developer community.