Software Engineer - Distributed Systems
What You Will Do:
- Design, build and deploy software systems that run 24/7 at increasing scale.
- Develop custom tools and automate processes to find answers to challenging questions and reveal the unknown.
- Write code, document, participate in code reviews, and mentor other engineers.
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.
- Strong understanding of web technology.
- Fluency in Python, C, C++, Java, or a similar language.
- Ability to work well with and able to influence many personality types at all levels of the organization.
- Excellent written and interpersonal communication skills.
- Experience building large-scale distributed systems.
- Experience at a large-scale consumer internet site.
- Experience with configuration management tools (Puppet, Chef, Ansible, Salt, CFEngine), monitoring (Nagios, Sensu, Monit), metrics (Graphite, statsd).
- Experience with AWS.
- Experience with web frameworks.
- Interest in IR/ML techniques, and supporting systems implementing these techniques.
- Experience with Hadoop (via mrjob!), Lucene, ElasticSearch, MySQL, ReSTful web services.
Meet Some of Yelp's Employees
Jorge creates new artifacts and features for Yelp’s website. He makes sure that tools are scalable, and that Yelp can support the increase in traffic as it expands around the world.
Back to top