Software Engineer (Distributed Data Systems)
Posted Updated
Description
- Design new concurrency control and transactional capabilities, that maximizes throughput for competing writers
- Design and implement new indexing schemes, specifically optimized for incremental data processing and analytical query performance
- Design systems that help scale and streamline metadata and data access from different query/compute engines
- Solve hard optimization problems to improve the efficiency (increase performance and lower cost) of distributed data processing algorithms over a Kubernetes cluster
- Leverage data from existing systems to find inefficiencies, and quickly build and validate prototypes
- Collaborate with other engineers to implement and deploy, safely rollout the optimized solutions in production
Benefits
- Equity Compensation; our success is your success with eligible participation in our company equity plan
- Health & Well-being; we’ll invest in your physical and mental well-being with up to 90% health coverage (50% for spouses/dependents) including comprehensive medical, dental & vision benefits
- Financial Future; we’ll invest in your financial well-being by making this role eligible to contribute to our company 401(k) or Roth 401(k) retirement plan
- Location; we are a remote-friendly company (internationally distributed across N. America + India), though some roles will be subject to in-person requirements in alignment with the needs of the business
- Generous Time Off; unlimited PTO (mandatory 1 week/year minimum), uncapped sick days and 11 paid company holidays
- Company Camaraderie; Annual company offsites and Quarterly team onsites @Sunnyvale HQ
- Food & Meal Allowance; weekly lunch stipend, in-office snacks/drinks
- Equipment; we’ll provide you with the equipment you need to be successful and a one-time $500 stipend for your initial desk setup
- Child Bonding!; 8 weeks off for parents (birthing, non-birthing, adoptive, foster, child placement, new guardianship) - fully paid so you can focus your energy on your newest addition
- Experience with inner workings of distributed (multi-tiered) systems, algorithms, and relational databases
- An ability to solve complex programming/optimization problems
- Robust and clear communication skills
- An ability to prioritize across feature development and tech debt with urgency and speed
- An ability to quickly prototype optimization solutions and analyze large/complex data
- Strong, object-oriented design and coding skills (Java and/or C/C++ preferably on a UNIX or Linux platform)
- You embrace ambiguous/undefined problems with an ability to think abstractly and articulate technical challenges and solutions
- Experience in optimization mathematics (linear programming, nonlinear optimization)
- Experience working with database systems, Query Engines or Spark codebases
- Existing publications of optimizing large-scale data systems in top-tier distributed system conferences
- PhD degree with 2+ years industry experience in solving and delivering high-impact optimization projects
