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.
- If you don't have at least one year of experience in a similar role, please take a look at our College Engineering roles instead!
- 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
Senior Training Manager, Local Sales
Sahr runs Yelp's Sales Training Team in San Francisco. Combining friendly fun with hands-on learning, she shows new hires how to shine on the sales floor.
Back to top