Thank you for your interest in GitLab! It's an exciting time to
join our team. We're the world's largest all-remote company, and
we've been intentionally building our culture this way from the
start. With more than 1,200 team members in 65+ countries, GitLab
is a place where you can contribute from almost anywhere. We are an
ambitious, productive team that embraces a set of shared values in
everything we do.
All of our positions are 100% remote.
A brief overview of the GitLab Development Team:
The GitLab Development Team is a 260+ person globally
distributed team that consists of Backend Engineers, Frontend
Engineers, Fullstack Engineers, and Management.
The Vision of the Development Team is to be a world class team
of software engineers and managers who make our customers happy
when using our product(s). Our products should contain broad rich
features, high availability, high quality, fast performance,
trustworthy security, and reliable operation.
The Development Team is responsible for developing products in
the following categories:
- Threat Management
At GitLab, developers are independent and self-organized
individual contributors who work together as a tight team in a
remote and agile way.
The Database Group works on developing solutions for
scalability, application performance, data growth and developer
enablement, especially where it concerns interactions with the
database. In support of our Transparency value, the Database Group
page includes links to the boards listing our current work in
flight, team meeting recordings as well as our roadmap. Hopefully
this is the type of work that gets you excited about joining the
team, if so please read on.
Most backend developers work on all aspects of GitLab, building
features, fixing bugs, and generally improving the application. The
Database Group is responsible for making application changes to
improve database performance, availability and reliability.
Additionally, the Backend Engineer, Database will be expected to
review database related code with the goal of eventually becoming a
Our work can be grouped into a couple of main categories:
responsive and enablement. Categories that we consider responsive
work are areas that require our immediate or near-term attention to
help with performance, scaling and SQL expertise. Typically these
involve reviewing slow performing queries and providing guidance on
how to improve these queries.
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:
- Automated database migration testing
- Database Partitioning
- Reduce total size and growth of GitLab.com's PostgreSQL
- Address Primary Key overflow risk for tables with an integer
- Feature - Automate feedback of database query performance into
GitLab (Epic TBD)
- Develop new features in collaboration with our product
management, UX, and frontend teams.
- Keep changes small and iterate towards the best solution.
- Reviewing database related changes submitted by other engineers
or community contributors
- Documenting database best practices or patterns to avoid
- Developing tooling to proactively inform developers of
potential performance issues
- Research, design and implement solutions to improve product
You should apply if:
- you have significant professional software engineering
experience with PostgreSQL in large production environments
- you have significant experience with Ruby on Rails or other
- you can reason about software, algorithms, and performance from
a high level
- you are passionate about open source.
- you have strong written communication skills.
- you are self-motivated and have strong organizational
- you have demonstrated the ability to onboard and integrate with
an organization long-term. Within the last 5 years, you've worked
at one company for at least 2 years.
- you have demonstrated the ability to work closely with other
parts of the organization.
- you are able to thrive in a fully remote organization
- you are able to use GitLab
- you share our values, and work in accordance with those
- Experience in a peak performance organization, preferably a
- Experience with the GitLab product as a user or
- 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
- Computer science education or equivalent experience
- Passionate about/experienced with open source and developer
Country Hiring Guidelines
Please visit our Country Hiring Guidelines page to see where we
For information about our privacy practices in the recruitment