Title: Intermediate Backend Engineer (Go), Data Stores: Tenant Scale
Location: Remote
Job Description:
GitLab is an open core software company that develops the most comprehensive AI-powered DevSecOps Platform, used by more than 100,000 organizations. Our mission is to enable everyone to contribute to and co-create the software that powers our world. When everyone can contribute, consumers become contributors, significantly accelerating the rate of human progress. This mission is integral to our culture, influencing how we hire, build products, and lead our industry. We make this possible at GitLab by running our operations on our product and staying aligned with our values. Learn more about Life at GitLab.
An overview of this role
The Tenant Scale team is focused on a long-term scaling solution for GitLab. The charter of this group is to explore, iterate on, validate, and lead the implementation of proposals to provide a solution to accommodate Gitlab.com’s daily active user growth. We are accomplishing this through the introduction of a Cells architecture along with an Organization entity that will be the vehicle to associate a customer’s data with a specific Cell. 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 Tenant Scale team 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 and consulting with development groups and sub-departments to implement changes required to support our Cells architecture.
Some examples of our projects:
- Cells
- Organization
What you’ll do
- 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
What you’ll bring
- Significant experience with Go.
- Experience with Ruby on Rail is a strong plus.
- Professional software engineering experience with databases (preferably PostgreSQL) in large production environments
- Familiarity with gRPC.
- Infrastructure / Deployments knowledge (optional).
- Interest in scalability / sharing and system programming languages, like Rust or Lua (optional).
- 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.
About the team
The Tenant Scale group is part of the Data Stores stage. We offer support for groups, projects, and user profiles within our product, but our main focus is a long-term horizontal scaling solution for GitLab.
The team’s handbook page covers processes and information specific to the Tenant Scale group. See also the direction page and the features we support per category.
How GitLab will support you
- Benefits to support your health, finances, and well-being
- All remote, asynchronous work environment
- Flexible Paid Time Off
- Team Member Resource Groups
- Equity Compensation &Employee Stock Purchase Plan
- Growth and development budget
- Parental leave
- Home office support
Please note that we welcome interest from candidates with varying levels of experience;many successful candidates do not meet every single requirement. Additionally, studies have shown that people from underrepresented groups are less likely to apply to a job unless they meet every single qualification. If you’re excited about this role, please apply and allow our recruiters to assess your application.
The base salary range for this role’s listed level is currently for residents of listed locations 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.
California/Colorado/Hawaii/New Jersey/New York/Washington/DC pay range
$98,000 –$157,500 USD
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.
Privacy Policy: Please review our Recruitment Privacy Policy. Your privacy is important to us.
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.