Senior Software Engineer, AI and Search Team - C/C++ or Rust
Job description
About the role
Redis is seeking a highly experienced Senior Software Engineer to join our dedicated AI and Search team. In this critical role, you will be responsible for developing and enhancing core functionalities related to AI-driven search and retrieval capabilities within Redis. Your work will involve designing scalable algorithms, optimizing system performance, and implementing hardware-specific enhancements to meet the demands of latency-sensitive applications. As a key contributor, you will influence the technical direction of Redis's AI and search features, working closely with cross-functional teams to deliver innovative solutions that impact millions of developers worldwide. This position offers an opportunity to be at the forefront of integrating advanced search algorithms into a widely used in-memory database platform.
What you'll do
In this role, you will architect and implement core components of Redis's AI and search infrastructure using C/C++ or Rust, ensuring that the platform meets the stringent performance and reliability expectations of our global user base. You will collaborate with data scientists, product managers, and infrastructure engineers to translate high-level requirements into robust, scalable solutions that power next-generation search capabilities. Your responsibilities will include profiling and resolving performance bottlenecks at the system level, integrating low-level hardware optimizations, and ensuring that Redis remains a leader in real-time data retrieval and AI-driven applications. You will play a pivotal role in defining coding standards, conducting code reviews, and driving best practices across the team to maintain high levels of quality and reliability. Additionally, you will contribute to technical documentation and work closely with distributed teams to align implementation with product roadmaps and long-term strategic goals.
This position requires a deep commitment to engineering excellence and a passion for solving challenging problems at scale. You will be expected to take ownership of complex issues, from initial design through deployment and post-launch optimization, using data and experimentation to guide decisions. You will evaluate emerging techniques in vector search, information retrieval, and hardware acceleration, determining their applicability within Redis's existing architecture. You will work with minimal supervision, leveraging your experience to identify risks, propose mitigation strategies, and deliver high-impact solutions on schedule. Your expertise will be instrumental in mentoring junior engineers, sharing knowledge about performance tuning, debugging techniques, and architectural trade-offs in large-scale systems. You will also participate in on-call rotations, responding to production incidents and contributing to the continuous improvement of observability and resilience.
Requirements
- A minimum of 7 years of experience in building and maintaining production-grade systems, such as databases, search engines, or high-performance distributed systems.
- Deep understanding of vector search, information retrieval, or systems (storage or distributed), with proven expertise in at least one of these areas.
- Strong programming skills in C/C++ or Rust, with a focus on concurrency, memory safety, and performance optimization.
- Demonstrated ability to define technical designs, decompose complex problems, and influence architectural decisions.
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field, or equivalent professional experience.
- Experience implementing hardware-specific optimizations, including SIMD instructions, GPU acceleration, or SSD-based enhancements.
- Proven track record of working on large-scale, latency-sensitive systems with high throughput requirements.
- Excellent problem-solving skills, with the ability to analyze and optimize complex algorithms and system components.
- Strong communication skills, capable of collaborating effectively across teams and mentoring colleagues.
- Familiarity with open-source development practices and contribution to community projects is a plus.
- Knowledge of distributed systems, high-availability architectures, and cloud deployment strategies is advantageous.
- Ability to work in a fast-paced environment, managing multiple priorities and delivering results on time.
Nice to have
- Experience with NoSQL databases, especially Redis, and understanding their practical applications.
- Contributions to or maintenance of open-source projects related to search, AI, or database systems.
- Background in high-performance multithreaded systems, with expertise in concurrency control and synchronization.
- Familiarity with GPU computing frameworks such as CUDA or OpenCL.
- Knowledge of machine learning integration within search systems or AI pipelines.
- Experience working with hybrid retrieval models that combine traditional and vector-based search techniques.
Skills & tools
- Proficiency in C/C++ or Rust programming languages, with a focus on high-performance, concurrent systems.
- Deep knowledge of vector search algorithms, such as HNSW, PQ, and other approximate nearest neighbor techniques.
- Experience with performance optimization techniques, hardware acceleration, and low-latency system design.
- Familiarity with distributed computing concepts and cloud infrastructure.
- Ability to write and review high-quality, maintainable code, and contribute to technical documentation.
Practical notes
Redis values a diverse and inclusive workplace, welcoming applicants from all backgrounds. We offer a comprehensive benefits package, including:
- 25 days of flexible vacation to promote work-life balance.
- Hybrid work options to accommodate different working styles.
- Monthly allowances for internet and phone expenses to support remote work needs.
- A one-time grant to assist with home-office setup, ensuring a productive environment.
- Health and dental coverage to support overall well-being.
- Personal life insurance and critical illness protection for peace of mind.
- Office lunches and snacks to foster team engagement and collaboration.
We are committed to providing reasonable accommodations for applicants with disabilities throughout the recruitment process. If you require assistance, please contact recruiting@redis.com. All employment offers are contingent upon a successful background check. Redis retains candidate data for evaluation purposes in accordance with our privacy policy.
In this role, you will architect and implement core components of Redis's AI and search infrastructure using C/C++ or Rust, ensuring that the platform meets the stringent performance and reliability expectations of our global user base. You will collaborate with data scientists, product managers, and infrastructure engineers to translate high-level requirements into robust, scalable solutions that power next-generation search capabilities. Your responsibilities will include profiling and resolving performance bottlenecks at the system level, integrating low-level hardware optimizations, and ensuring that Redis remains a leader in real-time data retrieval and AI-driven applications. You will play a pivotal role in defining coding standards, conducting code reviews, and driving best practices across the team to maintain high levels of quality and reliability. Additionally, you will contribute to technical documentation and work closely with distributed teams to align implementation with product roadmaps and long-term strategic goals.
This position requires a deep commitment to engineering excellence and a passion for solving challenging problems at scale. You will be expected to take ownership of complex issues, from initial design through deployment and post-launch optimization, using data and experimentation to guide decisions. You will evaluate emerging techniques in vector search, information retrieval, and hardware acceleration, determining their applicability within Redis's existing architecture. You will work with minimal supervision, leveraging your experience to identify risks, propose mitigation strategies, and deliver high-impact solutions on schedule. Your expertise will be instrumental in mentoring junior engineers, sharing knowledge about performance tuning, debugging techniques, and architectural trade-offs in large-scale systems. You will also participate in on-call rotations, responding to production incidents and contributing to the continuous improvement of observability and resilience.
The ideal candidate brings a strong foundation in computer science fundamentals, including algorithms, data structures, and computer architecture, combined with hands-on experience building systems that handle massive workloads. You should be comfortable working with low-level details such as memory management, cache efficiency, and instruction-level optimizations.