Intermediate Backend Engineer (Ruby on Rails), Create: Source Code Management
An overview of this role
We're currently looking for an intermediate-level Backend Engineer for our Source Code BE team. The Source Code BE team is focused on GitLab's suite of tools around Source Code Management. We interface with the Gitaly and Code Review teams and work closely with stable counterparts including the Source Code frontend team, product management, product design, testing, security, UX research and technical writing.
The Source Code team is focused on building and supporting all use cases related to interacting with the code stored in each project repository. Whether it's a quick consultation of a commit or a deep analysis of the history of changes to any given file, our team is tasked with building and supporting features that enable a great experience.
Source Code is one of the oldest and most complex parts of the GitLab application. We provide the interface layer, via Gitaly, to the Git repositories. A large portion of GitLab traffic, whether on gitlab.com or in private instances, is transported by Source Code endpoints, and we are focused on providing high reliability through performance tuning, SQL tuning, caching and rate limiting.
You can find more details about our roadmap and the team here:
What you’ll do
Work on projects such as the GitLab monolith in rails and GitLab Shell as well as Workhorse written Golang
Investigate and mitigate performance issues
Ensure we deliver on our commitments to the market by communicating clearly with stakeholders
Grow your skills as an engineer deepening speciality towards the many topics covered by this team: from deep integration of distributed systems to supporting frontend applications with GraphQL, including database optimization and performance work
Develop features and improvements to the GitLab product in a secure, well-tested, and performant way
Collaborate with Product Management and other stakeholders within Engineering (Frontend, UX, etc.) to maintain a high bar for quality in a fast-paced, iterative environment
Advocate for improvements to product quality, security, and performance
Solve technical problems of moderate scope and complexity
Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review
Ship small features and improvements with minimal guidance and support from other team members while collaborating with the team on larger projects.
What you’ll bring
Professional experience with Ruby on Rails
Some experience or interest with Golang
Professional experience with SQL (ideally Postgres)
An understanding and interest in deep Git functionality
Professional experience building web applications and APIs (ideally Ruby Grape or graphql-ruby)
Passion and interest in performance tuning and Rails caching strategies for high-traffic endpoints and a demonstrated ability to both diagnose and prevent these problems
Experience building highly available and performant business-critical product features
Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
Comfort working in a highly agile, intensely iterative software development process.
Experience owning a project from concept to production, including proposal, discussion, and execution.
Self-motivated and self-managing, with excellent organizational skills.
Ability to thrive in a fully remote organization.
Contributions to GitLab are highly regarded
Exposure or interest in Frontend modern libraries is valued but not required.
About the team
The current team is present around the globe leveraging asynchronous work practices that ensure follow-the-sun coverage for both collaboration and incident response when necessary. At the moment, the team counts on 11 engineers spanning from Associate to Staff levels distributed across APAC, EMEA and AMER. The team collaborates regularly with teams like Gitaly, Data Stores, Duo/AI Teams, Code Review and Remote Development Team, fostering innovation and alignment across departments.
The team is invested in both advancing the Source Code Management product category in a collaborative environment with product, design and frontend counterparts as well as improving reliability of our platform by addressing customer bugs, infrastructure development and security issues. They play a vital role in integrating and sometimes expanding internal systems like Gitaly, GitLab Shell and Workhorse to deliver on customer requirements and support our offering which among others includes Git Large File Storage (LFS). Their roadmap includes initiatives like continuing to improve our branch protections through Branch Rules and Approval Rules, CODEOWNERS functionalities, repository security, analytics and user experience improvements. Also includes technical initiatives like database scaling efforts (Cells), Reusable Rapid Diffs performance project and address Tech Debt.
How GitLab will support you
All remote, asynchronous work environment
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.
About the job
Apply for this position
Intermediate Backend Engineer (Ruby on Rails), Create: Source Code Management
An overview of this role
We're currently looking for an intermediate-level Backend Engineer for our Source Code BE team. The Source Code BE team is focused on GitLab's suite of tools around Source Code Management. We interface with the Gitaly and Code Review teams and work closely with stable counterparts including the Source Code frontend team, product management, product design, testing, security, UX research and technical writing.
The Source Code team is focused on building and supporting all use cases related to interacting with the code stored in each project repository. Whether it's a quick consultation of a commit or a deep analysis of the history of changes to any given file, our team is tasked with building and supporting features that enable a great experience.
Source Code is one of the oldest and most complex parts of the GitLab application. We provide the interface layer, via Gitaly, to the Git repositories. A large portion of GitLab traffic, whether on gitlab.com or in private instances, is transported by Source Code endpoints, and we are focused on providing high reliability through performance tuning, SQL tuning, caching and rate limiting.
You can find more details about our roadmap and the team here:
What you’ll do
Work on projects such as the GitLab monolith in rails and GitLab Shell as well as Workhorse written Golang
Investigate and mitigate performance issues
Ensure we deliver on our commitments to the market by communicating clearly with stakeholders
Grow your skills as an engineer deepening speciality towards the many topics covered by this team: from deep integration of distributed systems to supporting frontend applications with GraphQL, including database optimization and performance work
Develop features and improvements to the GitLab product in a secure, well-tested, and performant way
Collaborate with Product Management and other stakeholders within Engineering (Frontend, UX, etc.) to maintain a high bar for quality in a fast-paced, iterative environment
Advocate for improvements to product quality, security, and performance
Solve technical problems of moderate scope and complexity
Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review
Ship small features and improvements with minimal guidance and support from other team members while collaborating with the team on larger projects.
What you’ll bring
Professional experience with Ruby on Rails
Some experience or interest with Golang
Professional experience with SQL (ideally Postgres)
An understanding and interest in deep Git functionality
Professional experience building web applications and APIs (ideally Ruby Grape or graphql-ruby)
Passion and interest in performance tuning and Rails caching strategies for high-traffic endpoints and a demonstrated ability to both diagnose and prevent these problems
Experience building highly available and performant business-critical product features
Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
Comfort working in a highly agile, intensely iterative software development process.
Experience owning a project from concept to production, including proposal, discussion, and execution.
Self-motivated and self-managing, with excellent organizational skills.
Ability to thrive in a fully remote organization.
Contributions to GitLab are highly regarded
Exposure or interest in Frontend modern libraries is valued but not required.
About the team
The current team is present around the globe leveraging asynchronous work practices that ensure follow-the-sun coverage for both collaboration and incident response when necessary. At the moment, the team counts on 11 engineers spanning from Associate to Staff levels distributed across APAC, EMEA and AMER. The team collaborates regularly with teams like Gitaly, Data Stores, Duo/AI Teams, Code Review and Remote Development Team, fostering innovation and alignment across departments.
The team is invested in both advancing the Source Code Management product category in a collaborative environment with product, design and frontend counterparts as well as improving reliability of our platform by addressing customer bugs, infrastructure development and security issues. They play a vital role in integrating and sometimes expanding internal systems like Gitaly, GitLab Shell and Workhorse to deliver on customer requirements and support our offering which among others includes Git Large File Storage (LFS). Their roadmap includes initiatives like continuing to improve our branch protections through Branch Rules and Approval Rules, CODEOWNERS functionalities, repository security, analytics and user experience improvements. Also includes technical initiatives like database scaling efforts (Cells), Reusable Rapid Diffs performance project and address Tech Debt.
How GitLab will support you
All remote, asynchronous work environment
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.