Software Engineer - Machine Learning Platform
Remote - Anywhere
[As of June 2020, Quora has become a remote-first company. This position can be performed remotely from anywhere in the world, regardless of any location that might be specified above.]
The vast majority of human knowledge is still not on the internet. Most of it is trapped in the form of experience in people's heads, or buried in books and papers that only experts can access. More than a billion people use the internet, yet only a tiny fraction contribute their knowledge to it. We want to democratize access to knowledge of all kinds — from politics to painting, cooking to coding, etymology to experiences — so if someone out there knows something, anyone else can learn it. Our mission is to share and grow the world's knowledge, and we're building a world-class team to help us achieve this mission.
About the Team:
Our small engineering team works on challenging problems every day. We have a culture that's rooted in constantly learning and improving, and our engineers are encouraged to think big and experiment with new ideas. We iterate quickly by using continuous deployment, which means that every commit goes live on our production servers within minutes, no matter what time it is. Our engineers focus on creating polished products and writing high quality code by designing APIs and abstractions that are extensible and maintainable. Everyone on the engineering team has a huge impact on our product and our company.
About the Role:
Machine Learning is going to play an important role in helping Quora achieve its mission of growing and sharing the world's knowledge. We have 100+ Machine Learning models in production powering various product features. We use a variety of algorithms — everything from linear models to decision trees and deep neural networks. Our production models operate at a huge scale and help over a hundred million people using Quora every month.
We want to empower all ML engineers at Quora to be as impactful as they can be in solving different ML problems at scale. To that end, we are looking for engineers to help us build our company-wide ML development platform. In this role, you will be the part of a small team solving very interesting technical problems at the intersection of various exciting domains like Machine Learning, Distributed Systems and High Performance Computing. Your work will have an enormous impact on Quora's long-term success.
- Ability to be available for meetings and impromptu communication during Quora's coordination hours (Mon-Fri: 9am-3pm Pacific Time). Learn why here
- Architect, build and maintain large scale distributed systems to support the whole pipeline from data collection and training to deployment and realtime serving
- Develop services on top of open source technologies like Kubernetes and Tensorflow, and integrate existing in-house systems
- Build abstractions to automate various steps in different ML workflows
- Build tools to debug, visualize and inspect various features and models
- Collaborate with ML engineers who use the platform, and help them be more impactful by improving the platform
- 3+ years of industry experience in Machine Learning, Infrastructure or related fields
- Experience with designing large-scale distributed systems
- Experience with building and owning end-to-end machine learning or related systems
- 2+ years of experience writing production code in Python, C++, or similar language
- BS or MS in Computer Science, Engineering or a related technical field
- Strong communication and inter-personal skills, experience working with ML teams is a plus
- Experience working with Kubernetes, Docker, Terraform, or other forms of containerized infrastructure
- Hands-on experience with AWS technologies like EC2, EBS, S3, EKS
- Love of learning and the Quora product
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.