Backend Engineer, Global Search
GitLab's DevOps platform empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies with 1,400+ team members and values that guide a culture where people embrace the belief that everyone can contribute.
This position is remote based.
A brief overview:
GitLab is building an open-source, single application for the entire software development lifecycle—from project planning and source code management to CI/CD, monitoring, and security.
At GitLab, we live and breathe open source principles. This means our entire handbook is online, and with a few clicks, you can find the details of future releases, the maturity of our different product categories, the details of our past releases, and an overview of the product vision you’d contribute to when working here.
What it’s like to work here at GitLab:
At GitLab, developers are independent and self-organized individual contributors who work together as a tight team in a remote and agile way.
Most backend developers work on all aspects of GitLab, building features, fixing bugs, and generally improving the application. The Global Search team is focused on bringing world class search functionality to GitLab.com and self-managed instances with Elasticsearch. The Global Search team members are experienced Ruby and GoLang developers who focus on implementing core search functions by employing Elasticsearch. They are also advising other development teams on best practices of leveraging Global Search capabilities (e.g. indexing and searching various product feature contents).
Some of the work the team did in the past which may give you more insight into this position
- Elasticsearch lessons learnt for Advanced Global Search
- Zero downtime reindexing
- Split search scope into each own index
- Advanced Search Background Migrations for Elasticsearch Indexing
What You can Expect to Work on:
- Building best in class search experience for GitLab customers and users
- Improve and implement our indexing and searching strategies
- Own architecture, performance and scaling of the GitLab search solutions with Elasticsearch and other search engines.
- Build responsive and scalable services and APIs
- Self-managed installation mechanisms
Requirements
An ideal candidate -
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Self-motivated and self-managing, with strong organizational skills.
- Share a set of GitLab values and work in accordance with those values.
- Strong professional work experience in Ruby and Ruby on Rails.
- Proficient in Golang or willing to learn on the job.
- Elasticsearch or other search engine experience - modeling, processing, nodes, index management and performance tuning.
- Understand Database principles and optimization mechanisms, especially PostgreSQL.
- Understand system internals, distributed system and high availability principles.
- Experience working with a remote team or ability to thrive in a fully remote organization.
- Passionate about/experienced with open source and developer tools.
- Work experience in product company.
Country Hiring Guidelines
GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.
Your Privacy
For information about our privacy practices in the recruitment process, please visit our Recruitment Privacy Policy page.