Senior Backend Engineer - Data Frameworks (Ruby)
At GitLab, developers are independent and self-organized individual contributors who work together as a tight team in a remote and agile way.
The Data Frameworks Group works on developing solutions for data scalability, health, and developer enablement across all of GitLab's application datastores. We build frameworks and provide guidance that help teams make informed decisions about data architecture, placement, and lifecycle management, while ensuring data integrity and safety across both SaaS and self-managed deployments. If building frameworks that enable teams to work confidently with data at scale excites you, please read on!
Most backend developers at GitLab work on all aspects of the application, building features and fixing bugs. The Data Frameworks section is responsible for building the frameworks and tooling that ensure data changes work safely across all of GitLab's deployment scenarios—from GitLab.com to thousands of self-managed instances running different versions.
An Overview of this role
The main focus of the team is to proactively identify saturation points for our gitlab.com infrastructure, and identify and work with teams to implement corrective actions to solve them. With our recent move into the newly formed Data Engineering organization, the team mission is expanding, and we're growing the team accordingly. This change is allowing us to prioritize new efforts that are outside the scope of operating gitlab.com, and include shipping scalability features and data health focused initiatives to our self-managed customers.
This team collaborates closely with our infrastructure data access stage, our software delivery stage, and our analytics stage. We also have regular collaboration with teams across the organization to help them deliver high performing features and improvements.
A few examples of our current projects:
A few examples of upcoming projects in our evolving scope:
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 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 performance
What you'll bring
Professional software engineering experience with PostgreSQL in large production environments
Significant experience with Ruby on Rails or other Ruby frameworks
You can reason about software, algorithms, and performance at 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
Bonus qualifications
Experience with Distributed Messaging Queues (Kafka, NATS)
Experience with migrating large production datasets between data stores
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
About the job
Apply for this position
Senior Backend Engineer - Data Frameworks (Ruby)
At GitLab, developers are independent and self-organized individual contributors who work together as a tight team in a remote and agile way.
The Data Frameworks Group works on developing solutions for data scalability, health, and developer enablement across all of GitLab's application datastores. We build frameworks and provide guidance that help teams make informed decisions about data architecture, placement, and lifecycle management, while ensuring data integrity and safety across both SaaS and self-managed deployments. If building frameworks that enable teams to work confidently with data at scale excites you, please read on!
Most backend developers at GitLab work on all aspects of the application, building features and fixing bugs. The Data Frameworks section is responsible for building the frameworks and tooling that ensure data changes work safely across all of GitLab's deployment scenarios—from GitLab.com to thousands of self-managed instances running different versions.
An Overview of this role
The main focus of the team is to proactively identify saturation points for our gitlab.com infrastructure, and identify and work with teams to implement corrective actions to solve them. With our recent move into the newly formed Data Engineering organization, the team mission is expanding, and we're growing the team accordingly. This change is allowing us to prioritize new efforts that are outside the scope of operating gitlab.com, and include shipping scalability features and data health focused initiatives to our self-managed customers.
This team collaborates closely with our infrastructure data access stage, our software delivery stage, and our analytics stage. We also have regular collaboration with teams across the organization to help them deliver high performing features and improvements.
A few examples of our current projects:
A few examples of upcoming projects in our evolving scope:
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 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 performance
What you'll bring
Professional software engineering experience with PostgreSQL in large production environments
Significant experience with Ruby on Rails or other Ruby frameworks
You can reason about software, algorithms, and performance at 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
Bonus qualifications
Experience with Distributed Messaging Queues (Kafka, NATS)
Experience with migrating large production datasets between data stores
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