Senior Software Developer (Search)
- Design, implement, and operate core backend components of the search system, spanning request-time services and background data pipelines
- Contribute to document ingestion, crawling, and preprocessing workflows, adapting strategies based on source, domain, and freshness requirements
- Build and evolve indexing and retrieval systems, including data formats, update strategies, and access patterns
- Implement and improve search request flows, including query processing, retrieval orchestration, and response assembly under strict latency budgets
- Build well-tested services and pipelines with clear responsibilities and interaction contracts, while remaining flexible as the system evolves
- Define and implement observability primitives, including structured logs, metrics, traces, and quality signals for both online and offline components
- Support experimentation and iteration by enabling feature flags, controlled rollouts, and online experiments
- Track throughput, latency, and resource usage across the system, and improve performance or cost efficiency when business needs require it
- Collaborate closely with ML engineers to integrate semantic retrieval and ranking models, while keeping ML logic decoupled from core system internals
- Work with data analysts and product managers to translate product and quality goals into concrete backend behavior and measurable metrics
- Have 5+ years of experience as a software engineer working on production backend systems
- Have hands-on experience with Go in real-world services (experience with other systems languages like C++ or Rust is a plus)
- Have built concurrent, high-load systems, and are comfortable reasoning about throughput, latency, and failure modes
- Are familiar with distributed systems fundamentals, including fault tolerance, load balancing, and horizontal scalability
- Have operated your own code in production: deployed it, debugged incidents, rolled back changes when necessary, and understand what it means to interact directly with production systems — and when not to
- Tend to think systematically by default, but can make pragmatic tradeoffs and cut corners intentionally when time or scope requires it
- Are comfortable working across boundaries, reasoning about systems end-to-end rather than staying within a narrow component
- Collaborate effectively in cross-functional teams, communicating clearly with engineers, ML practitioners, analysts, and product managers
- Are curious about modern developer tooling and have used AI-assisted tools (coding agents, ChatGPT, etc.) in your workflow
- Backend systems for search, recommendation, or other ranking-heavy products (e.g. search engines, ads platforms, content feeds, e-commerce)
- Building or operating data pipelines, ingestion systems, or indexing workflows alongside online services
- Practical exposure to ML-backed systems, including classical ML pipelines or LLM-based services
- AI agent architectures, tool-calling systems, or agent-oriented workflows