Site Reliability Engineer (Systems focus)

Sorry, this vacancy is now closed

Reference
SREST/2017
Closing date
30 Oct 2017
Hours
40 hours per week
Contract type
Full-time
Location
Krakow, Poland
Description

Site Reliability Engineering (SRE) is what you get when you treat operations as if it’s a software problem. Our mission is to progress, protect, and provide for the software and systems behind all of Ocado Technology’s services with an ever-watchful eye on their availability, latency, performance, and capacity. This is an unusual job, unlike others in the industry. Like traditional operations groups, we keep important, revenue-critical systems up and running despite weather issues, bandwidth outages, and configuration problems. Unlike traditional operations groups, we also have full access to and authority to fix, extend, and scale the code to keep it working and harden it against all the vagaries of the Internet. We hire people from both systems and software backgrounds. Strong candidates will have experience with both. Just as what we do is unique, where we do it is unique too. We’re Ocado Technology. We architect and build the ground-breaking, game-changing technology solutions that power Ocado, the world's largest online-only grocery retailer. We don’t do off-the-shelf. We don’t do easy. Because we’re writing, building and running all our own software systems, we’re constantly pushing the limits of what technology can do. And when we say ‘we’, we mean ‘you’. Join us and you’ll work across a phenomenal breadth of technology, with incredibly smart people, to create reliable, resilient, scalable and optimised software systems. In SRE, we flip between the fine-grained detail of disk driver I/O scheduling to the big picture of forward planning service capacity, across a range of systems and technologies. We own those services in production. We drive reliability and performance across massive scale by mastering the full depth of the stack. We literally do learn something new every day - usually surprising things - that have the potential to transform the lives of our users around the world. As a Systems Engineer on the SRE team, you will work on large-scale system design and troubleshooting, and be fluent in systems programming and/or automation. You will have a desire to tackle the complex problems of scale. Familiarity with running production environments at scale is crucial in this job along with an in-depth understanding of Unix systems internals, and networking. Behind everything our users see online is the architecture built by the Technology Infrastructure team to keep it running. From developing and maintaining our data centers to building the next generation of Ocado Smart Platform, we make our services best-in-breed. We're proud to be our engineers' engineers and love voiding warranties by taking things apart so we can rebuild them. We're always on call to keep our services up and running, ensuring our users have the best and fastest experience possible.

 

Responsibilities

  • 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.
  • Engage in service capacity planning and demand forecasting, software performance analysis and system tuning.
  • Conduct periodic on call duties.

 

Qualifications

Minimum qualifications:

  • BS degree in Computer Science or related technical field, or equivalent practical experience.
  • Experience in one or more of: Java, Python, NodeJS, Scala, or scripting experience in Shell.
  • Experience working with Unix/Linux systems from kernel to shell and beyond, with experience working with system libraries, file systems, and client-server protocols.
  • Networking: experience with network theory e.g. TCP/IP, UDP, ICMP, etc., MAC addresses, IP packets, DNS, OSI layers, and load balancing.

Preferred qualifications:

  • Expertise in designing, analyzing and troubleshooting large-scale distributed systems.
  • In-depth knowledge of operating systems (processes, threads, concurrency issues, locks, mutexes, semaphores, monitors and how they work).
  • Familiarity with algorithms, data structures and complexity analysis.
  • Systematic problem solving approach, coupled with a strong sense of ownership and drive.
Job alerts