Senior Software Engineer - Infrastructure
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:
Core Infrastructure engineers build, maintain, and operate large-scale distributed systems to support Quora up and running and are responsible for reliability, scalability and efficiency of various services. We use many open source storage systems such as MySQL, MyRocks, HBase, Redis, Memcache, and ElasticSearch to power large-scale online access to Quora. In addition, we also build various in-house services to deal with scalability challenges with high efficiency, such as email/notification service, asynchronous job queue, and long polling connections. In this role, you will be a part of a small team solving technically challenging problems that has a huge impact on Quora’s mission sharing and growing the world’s knowledge.
- Own backend databases and services (e.g. MySQL, HBase, Memcached, Redis, Nginx, etc)
- Continuously improve scalability, reliability and efficiency of infrastructure systems.
- Write and review code, plan and execute upgrades, develop documentation and capacity plans, and debug production issues
- Build monitoring tools and automation to increase efficiency of all teams at Quora
- Share on-call rotation
- Ability to be available for meetings and impromptu communication during Quora's coordination hours (Mon-Fri: 9am-3pm Pacific Time). Learn why here
- B.S. or M.S. in Computer Science, Engineering or a related technical field
- 3+ years of experience working on large-scale distributed systems
- Familiarity in data storage (e.g. MySQL, MyRocks, HBase, Memcached, Redis, etc), traffic handling (e.g. DNS, CDN, load balancing, etc) or infrastructure orchestration (Ansible, terraform, docker, Kubernetes, etc)
- Excellent coding skills with proficiency in any programming language (e.g. Python, C++, Java, etc)
- Strong problem solving and communication skills
- Ability to debug production issues independently
- Familiarity with AWS services (e.g. EC2, S3) or other public cloud services.
- Operational experience in database systems e.g. MySQL, Memcache, Redis and NoSQL systems
- Operational experience with Linux operating system internals, filesystems, disk/storage technologies and networking
- Experience with scripting languages (e.g. shell script)
- Experience with capacity planning for web scale systems
- Passion for Quora's mission and goals
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.