Core Responsibilities
- Building a performant search and indexing ecosystem for complex granularly permissioned data
- Contributing to open-source data processing libraries, integrating the latest innovations to achieve performance gains
- Building the distributed systems that power large scale compute workloads, orchestrating and efficiently scheduling hundreds of thousands of containers every hour
- Designing architecture and opinionated APIs to keep application developers on the happy path
- Tracing and performance observability in high scale distributed microservice architectures
- Building reliant, performant, and scalable systems for storage, auth, or asset serving to enable other product teams to build robust applications without deep domain expertise in the underlying systems
- Automating the deployment, management, and operations of complex distributed systems like Cassandra, Elasticsearch, Kafka, and more across different environments
Technologies We Use
- Different backend languages, including Java, Rust, and Go
- Open-source technologies like Cassandra, ElasticSearch, Spark, Kafka, Kubernetes, Flink
- Industry-standard build tooling, including Gradle and GitHub
What We Value
- Demonstrated ability to collaborate and empathize with a variety of individuals. Able to iterate with users and non-technical stakeholders and understand how technical decisions impact them.
- Ability to learn new technology and concepts, even without in-depth experience. Experience developing and managing highly-available distributed systems is beneficial, but not required.
- Bias towards quality and thoughtful about edge cases (“anything that can go wrong will go wrong”); writes code that is defensive against all possibilities.
- Builds solutions and APIs with users in mind while maintaining a high engineering bar. Seeks to centralize and abstract complexity away from our users in order to expose simple, powerful APIs for consumers.
- Active US Security clearance, or eligibility and willingness to obtain a US Security clearance is beneficial, but not necessary.
What We Require
- Engineering background in Computer Science, Mathematics, Software Engineering, Physics or similar field.
- Strong coding skills with demonstrated proficiency in programming languages, such as Java, C++, Python, Rust, or similar languages.
- Familiarity with storage and data processing systems, cloud infrastructure, and other technical tools.
- Strong written and verbal communication skills and ability to iterate quickly with teammates, incorporating feedback and holding a high bar for quality.
