The GitLab 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,600+ team members and values that guide a culture where people embrace the belief that everyone can contribute.
This position is 100% remote based.
At GitLab, developers are independent and self-organized individual contributors who work together as a tight team in a remote and agile way.
The Sharding Group is the direct outcome of applying our value of Iteration to the direction of the Database Scalability Working Group. We started with multiple proposals and ideas on increasing database scalability through different sharding implementations. We have targeted Decomposition as the first iteration for scaling our database to accommodate 10 Million Daily Active Users (DAU) of GitLab.com. Over the next several months we will continue to deliver on our Phased Rollout Plan to ship a decomposed database into production by mid 2022. After that we'll move on to similarly ambitious projects related to scaling our database which may involve horizontal sharding and/or a pod-like architecture. Hopefully this is the type of work that gets you excited about joining the team, if so please read on!
Backend Engineers at GitLab work on our product. This includes both the open source version of GitLab, the enterprise editions, and the GitLab.com service as well. The efforts led by the Sharding Group will have an impact across all of GitLab. You will be part of a group that is changing functionality used by all features in GitLab (e.g. Load Balancing) or consulting with development groups and sub-departments to implement changes required to support Decomposition.The Work
The Sharding Group is a part of the Enablement sub-department. Enablement, as the name suggests, is about enabling development efficiencies for our greater development community and improving our scalability story for GitLab.com. We have some lofty goals on what we’d like to achieve in the next year. We cannot do all of the work we have identified by ourselves, so we are creating tools to enable teams to implement scalable solutions. Below is a list of a few of these initiatives:
- Decompose GitLab's database to improve scalability
- Support for many databases
- Rollout decomposed CI Database on GitLab.com
- Develop new features in collaboration with our product management, UX, and frontend teams.
- Keep changes small and iterate towards the best solution.
- Reviewing rails and/or database related changes submitted by other engineers or community contributors
- Documenting best practices or patterns to avoid
- Developing tooling to proactively inform developers of potential performance issues
- Research, design and implement solutions to improve product performance
- Significant experience with Ruby on Rails
- Professional software engineering experience with PostgreSQL in large production environments
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems
- You can reason about software, algorithms, and performance from a high level
- You are passionate about open source.
- Strong written communication skills.
- Self-motivated and have strong organizational skills.
- You share our values, and work in accordance with those values.
- Experience in a peak performance organization, preferably a tech startup
- Experience with the GitLab product as a user or contributor
- Product company experience
- Experience working with a remote team
- Enterprise software company experience
- Developer platform/tool industry experience
- Experience working with a global or otherwise multicultural team
- Computer science education or equivalent experience
- Passionate about/experienced with open source and developer tools
Also, we know it’s tough, but please try to avoid the confidence gap. You don’t have to match all the listed requirements exactly to be considered for this role.
For Colorado residents: The base salary range for this role’s listed level is currently $89,600 - $157,400 for Colorado residents only. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, and alignment with market data. See more information on our benefits and equity. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary. Disclosure as required by the Colorado Equal Pay for Equal Work Act, C.R.S. § 8-5-101 et seq.
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.
GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know during the recruiting process.