Member of Technical Staff (Search Core, Indexing & Data Pipeline Stream)
Role Overview
As a senior systems engineer on Perplexity's Search Core team, you'll design and build indexing pipelines, data storage formats, and streaming/batch processing systems that operate at the scale of billions of pages. You'll own foundational components end-to-end, from low-level hardware optimization to production deployment, while tackling multithreading and concurrency challenges. Your work directly shapes the performance and reliability of next-generation search infrastructure.
Perks & Benefits
This is a fully remote role with high ownership and influence over core architecture decisions, offering strong career growth for engineers who thrive in low-level systems work. You'll collaborate with a highly technical team on latency-sensitive, large-scale infrastructure, likely with flexible hours and async-friendly communication. Perplexity's fast-moving environment means your contributions have visible, immediate impact on production search systems.
Full Job Description
Perplexity is looking for a highly skilled Expert Systems Engineer to join our Search Core team. For the indexing and data processing stream. This role is critical to building next-generation search products and technologies. You will help drive key decisions around the architecture, design, and implementation of foundational components in our technical stack.
Responsibilities
Design and build core search engine components, especially indexing pipelines, data storage formats that operate at the scale of billions of pages
Develop streaming and batch data processing with YT systems for search index construction in a high-load environment
Push the limits of hardware performance through low-level optimizations and systems-level tuning
Tackle challenges in multithreading, concurrency, and system-level optimization
Design and build core search engine components, including indexing pipelines, retrieval algorithms, and ranking systems that operate at the scale of billions of pages
Develop streaming and batch data processing systems for search index construction in a high-load environment
Push the limits of hardware performance through low-level optimizations and systems-level tuning
Tackle challenges in multithreading, concurrency, and system-level optimization
Qualifications
3+ years of hands-on experience in systems programming (Rust, C++, C, or similar)
Ownership of full project lifecycle — you don't just write a fast inner loop, you care about how the system is built, deployed, operated, and scaled in production
Knowledge of Python or other scripting languages
Knowledge of Data processing systems (YT/Kafka/Hadoop)
Passion for writing clean, efficient, and scalable systems-level code
Strong knowledge of algorithms and data structures, and the ability to apply them effectively
Deep understanding of multithreading, including various approaches, challenges, and trade-offs
Experience building high-load, distributed, and hardware-adjacent services
Solid understanding of Linux internals (syscalls, networking stack, memory model, kernel tuning)
Familiarity with low-level optimization techniques (memory management, cache efficiency, SIMD, profiling)
Preferred Qualifications
Experience developing core components of search engines, databases, or information retrieval systems
Understanding of search fundamentals: indexing, query parsing, ranking, and relevance
Experience with trading systems or other latency-sensitive real-time systems
Familiarity with cloud services, Kubernetes, and AWS infrastructure
Similar jobs
Found 6 similar jobs