About the team
Dialpad’s Product Engineering organization is responsible for building and maintaining the customer-facing features at scale across all of our cloud native products and services: Talk, Contact Center, Sales Dialer, Video Conferencing, and Voice Intelligence.
Every day, millions of people across the world use our technology for communicating effectively and efficiently. Product Engineering teams focus on areas such as billing, growth, search & analytics, core platform, frontend & backend infrastructure, developer and partner ecosystem & integrations and more.
This is an exciting opportunity to be part of a small task force to create and operate the company's main search platform. The candidate will be responsible for contributing to a full stack of features including the search platform, the microservice architecture, the data model, the API frontend and the necessary data pipelines.
What you’ll do
In your first 30 days:
Get to know the cross functional team of engineers, product managers, designers and QA engineers that you will be working closely with. Set up your dev environment. Complete the engineering onboarding program (including training videos and documentation). Work on starter projects to get comfortable with the development process and tools. Starter projects are a good way to gain a wide breadth of exposure to different parts of the code base and to collaborate with engineers who are domain experts in different areas. Learn the common workflows, goals, and pain points of our users.In your first few months:
Work on features either solo or in groups of 2-4 engineers based on feature size. Take end to end ownership of a feature. This includes: Working with the product manager to fully understand the users workflows and the underlying user need or business problem a feature is aiming to solve. Working with the design team to finalize a user experience that is intuitive and accessible. Identify any dependencies with other engineering teams and engage appropriate stakeholders in the feature planning and design. Consider performance, debuggability, extensibility, user documentation, performance and usage monitoring and test coverage when designing and implementing features. Break down features into smaller deliverables. Track and communicate project status and progress with all project stakeholders.Ongoing:
Take ownership of an area under the search platform . Contribute to long term technical vision - how can we architect our code, data stores and data pipelines to meet the feature and performance goals of the future? Optimize the performance, scalability and cost of the search platform. Evaluate emerging technologies and shape the evolution of the tech stack to ensure the search platform meets current and future needs. Identify team-wide challenges, risks, technical debt areas and find ways forward through them. Advocate for new ideas and processes to improve the developer experience - make building the search platform easier, faster and more fun. Mentor and collaborate with fellow engineers to ensure features are built with good engineering practices and design. Build metrics, monitoring and alerting infrastructure to track performance, availability, cost and usage patterns of the search platform.Your role
Your previous experience should be in information retrieval or in distributed system engineering. You enrich the team through your engineering experience. You are excited to learn. You are ready to pitch in wherever there is a need. You proactively seek to grow your own skills and share your knowledge with the team. You are focused on the user’s experience. You dig deep to understand the use case and broader context for a feature to ensure the design and implementation of the feature properly addresses the problem at hand. You value code quality. You’re the type of person who is really proud when you build a well designed, well tested, long term solution.
Skills you’ll bring
Information retrieval:
In-depth understanding of how information retrieval systems work, including indexers, analyzers, field mapping, index rotations, ranking, re-ranking. Experience in maintaining a search engine at scale. Familiar with NLP/NLU within the context of IR. Experience manipulating, optimizing and comparing dense vectors. Familiar with the principle of hybrid search, rank fusion and reranking.Development skills:
In-depth understanding of distributed systems, microservices and message driven architectures. Fluent in GOlang and Python 3 (experience with Rust and typescript optional). Passionate about real time performance optimization and high availability. Experience with Swagger, OpenAPI or equivalent code generation tools. Experience with gRPC or equivalent rpc protocol.System engineering skills:
Familiar with Docker and Kubernetes. Familiar with cloud platforms. GPC (preferred) or equivalent (AWS/Azure). Familiar Terraform, Ansible or equivalent infrastructure as code stack. Familiar with Ci/CD frameworks and continuous delivery.Benefits and perks
Professional development
Dialpad offers reimbursement for expenses related to professional development, up to an annual limit per calendar year.