Software Engineer - Distributed Systems (London)
Yelp’s DistSys teams design, implement, and maintain scalable software architectures that are at the heart of our technology. We do everything from building cluster optimization tools to designing APIs, developing libraries, and creating speedy and reliable infrastructure that’s easy to use for our relevance/machine learning developers.
Do you fret over consistency versus availability guarantees? Do you love making complex systems easy to use, resilient, and scalable? That’s what we do! You might have heard of one of our open source projects like data-pipeline (1) or Tron (2). Or maybe you’ve read our blog post on how we monitor Cassandra at scale (3), or watched our talk at MesosCon about our distributed task runner (4). We help enable hundreds of engineers to safely and quickly deploy their features into production while serving millions of active Yelp users.
If this sounds like you, join the team that glues Yelp’s feature teams to their underlying infrastructure—in data centers, up in the cloud, or anywhere in between.
First, Some Things You Should Know About Yelp:
- Yelp was founded to help people find great local businesses like restaurants, dentists, hair stylists, and mechanics.
- Yelp is a top 20 visited website in the US, between Snapchat and eBay, with 93 million monthly unique visitors, according to comScore.
- Yelpers have written more than 163 million reviews.
- Yelp develops and maintains software to recommend the most helpful and reliable reviews. The software looks at dozens of different signals, including various measures of quality, reliability, and activity on Yelp.
- Our engineers deploy the microservices responsible for running our application multiple times per day to thousands of machines across our cloud-based infrastructure.
What You Will Do:
- Design, build, and deploy software systems that run 24/7 at ever increasing scale
- Develop custom tools and automate processes to find answers to challenging questions and reveal the unknown
- Write code, document and participate in code reviews, and mentor other engineers
- Support the software your team develops
What We Are Looking For:
- Strong knowledge of systems and application design with an understanding of operational and reliability trade-offs
- Solid foundation in data structures, algorithms, and complexity analysis
- Ability to work closely with information retrieval/machine learning experts on big-data problems
- A hunger for tracking down root causes—no matter how deep it takes you—and fixing them in systematic ways
- Strong understanding of operating systems, file systems, and networking
- Fluency in Python, C, C++, Java, or a similar language
- Ability to work well with many personality types at all levels of the organization
- Experience building large-scale distributed systems
- Experience with configuration management tools (Puppet, Chef, Ansible, Salt, CFEngine), monitoring (Nagios, Sensu, Monit), and metrics (Graphite, statsd)
- Experience with cloud computing services like AWS
- Interest in IR/ML techniques, and supporting systems implementing these techniques
- Experience working with and contributing to open source projects
What We Offer:
- Full responsibility for projects from day one, an awesome team, and a dynamic work environment
- Competitive salary with equity in the company, a pension scheme, and an optional employee stock purchase program
- Private health insurance, including dental and vision
- Flexible working hours and meeting-free Thursdays
- Regular 2-day Hackathons and weekly learning groups, always with interesting topics
- Opportunities to participate in events and conferences throughout Europe
- Public transportation season ticket loan and £50 per month toward any exercise of your choice
- Monthly personal development allowance
- Central location, a fully stocked kitchen, adjustable sitting/standing desks, quarterly offsites, happy hours, and more!
Back to top