Intermediate Backend Engineer - Developer Tooling
About the Role
We’re looking for an experienced Backend Engineer to join the Development Tooling team to help maximize the efficiency and productivity of GitLab engineers. You'll be crucial in building and maintaining the foundational internal tools, frameworks, and infrastructure abstractions that empower all product developers to write, test, and ship reliable code faster.
This role is ideal for a hands-on engineer who thrives on solving other engineers' pain points, enjoys working across different technology stacks, and has a passion for improving the software development lifecycle (SDLC).
What you'll do in this role:
Develop Internal Tools: Design, implement, and maintain internal tooling, frameworks & APIs that streamline common developer tasks, such as managing feature flags, automating environment setup, or provisioning internal resources.
Improve Local Development: Enhance and optimize our local development environment tools and configuration (e.g., containerization setup, dev tooling CLI) to reduce startup time and improve stability for new and existing engineers.
Performance and Reliability: Investigate and address bottlenecks in the developer workflow, focusing on improving the speed and reliability of different stages.
Tooling Consistency: Develop and enforce standards and reusable library components for tasks like service communication, configuration management, and health checks across our primary Ruby on Rails and Go codebases.
Cross-Functional Collaboration: Work closely with product engineers, software engineers in test, and infrastructure teams to understand pain points and translate them into robust, self-service tooling solutions.
Documentation and Support: Create clear, comprehensive documentation and provide support for the tools you build, acting as a steward for developer experience.
You should apply if you bring:
Technical skills
Must-Have
3+ years of professional experience as a Backend or Platform Engineer.
Strong proficiency in Go (Golang).
Strong experience designing and writing tooling or frameworks used by a large number of developers.
Solid experience working on moderately complex technical refactoring or migration projects within a large codebase (e.g., mono repos).
Solid experience configuring and querying monitoring systems like Prometheus and/or Grafana.
Practical experience with cloud-native infrastructure concepts, particularly Docker.
Strong experience using Continuous Integration systems (e.g., GitLab CI, Jenkins, CircleCI, or similar).
Solid experience with SQL (e.g., PostgreSQL or similar) and NoSQL databases (e.g., Redis, Elasticsearch, or similar).
Solid experience with test automation frameworks for backend testing (e.g., Selenium, Capybara, Watir, or similar).
Nice-to-Have
Practical experience contributing to open-source tools or libraries relevant to the developer workflow.
Practical experience in designing APIs.
Practical experience with Ruby on Rails.
Practical experience with cloud platforms (e.g., AWS, GCP, or Azure or similar) and basic exposure to Kubernetes concepts.
Practical experience with GitOps or Infrastructure as Code (e.g., Terraform) for managing collector deployments.
Practical experience with logging systems (e.g., Elasticsearch, Logstash, Kibana, or similar).
Interpersonal skills
Ability to articulate technical status, blockers, and implementation details clearly and concisely in written and verbal form.
A proven track record of taking a defined goal and driving it to completion with minimal supervision.
A proven track record of working cross-functionally to ensure successful delivery.
A strong drive to deeply understand how distributed systems work and to methodically debug complex, cross-service issues in a production environment.
Ability to work efficiently in an async environment (see GitLab’s Manager of One).
Proactive attitude in identifying potential issues and addressing them early.
Solid experience in working in an agile environment, adapting to shifting priorities and deadlines.
Openness to diverse backgrounds and transferable skills, with a commitment to GitLab’s values and inclusive culture.
About the Team
The Development Tooling group, as part of the Developer Experience stage, is dedicated to creating systems, frameworks, and tooling that increase GitLab engineers’ productivity to meet business goals and deliver with high-quality standards. The team manages GitLab’s development workflows, tooling, and related tech stack, streamlining the contribution process for team members and contributors alike.
More information can be found on our Team Handbook page.
Intermediate Backend Engineer - Developer Tooling
About the Role
We’re looking for an experienced Backend Engineer to join the Development Tooling team to help maximize the efficiency and productivity of GitLab engineers. You'll be crucial in building and maintaining the foundational internal tools, frameworks, and infrastructure abstractions that empower all product developers to write, test, and ship reliable code faster.
This role is ideal for a hands-on engineer who thrives on solving other engineers' pain points, enjoys working across different technology stacks, and has a passion for improving the software development lifecycle (SDLC).
What you'll do in this role:
Develop Internal Tools: Design, implement, and maintain internal tooling, frameworks & APIs that streamline common developer tasks, such as managing feature flags, automating environment setup, or provisioning internal resources.
Improve Local Development: Enhance and optimize our local development environment tools and configuration (e.g., containerization setup, dev tooling CLI) to reduce startup time and improve stability for new and existing engineers.
Performance and Reliability: Investigate and address bottlenecks in the developer workflow, focusing on improving the speed and reliability of different stages.
Tooling Consistency: Develop and enforce standards and reusable library components for tasks like service communication, configuration management, and health checks across our primary Ruby on Rails and Go codebases.
Cross-Functional Collaboration: Work closely with product engineers, software engineers in test, and infrastructure teams to understand pain points and translate them into robust, self-service tooling solutions.
Documentation and Support: Create clear, comprehensive documentation and provide support for the tools you build, acting as a steward for developer experience.
You should apply if you bring:
Technical skills
Must-Have
3+ years of professional experience as a Backend or Platform Engineer.
Strong proficiency in Go (Golang).
Strong experience designing and writing tooling or frameworks used by a large number of developers.
Solid experience working on moderately complex technical refactoring or migration projects within a large codebase (e.g., mono repos).
Solid experience configuring and querying monitoring systems like Prometheus and/or Grafana.
Practical experience with cloud-native infrastructure concepts, particularly Docker.
Strong experience using Continuous Integration systems (e.g., GitLab CI, Jenkins, CircleCI, or similar).
Solid experience with SQL (e.g., PostgreSQL or similar) and NoSQL databases (e.g., Redis, Elasticsearch, or similar).
Solid experience with test automation frameworks for backend testing (e.g., Selenium, Capybara, Watir, or similar).
Nice-to-Have
Practical experience contributing to open-source tools or libraries relevant to the developer workflow.
Practical experience in designing APIs.
Practical experience with Ruby on Rails.
Practical experience with cloud platforms (e.g., AWS, GCP, or Azure or similar) and basic exposure to Kubernetes concepts.
Practical experience with GitOps or Infrastructure as Code (e.g., Terraform) for managing collector deployments.
Practical experience with logging systems (e.g., Elasticsearch, Logstash, Kibana, or similar).
Interpersonal skills
Ability to articulate technical status, blockers, and implementation details clearly and concisely in written and verbal form.
A proven track record of taking a defined goal and driving it to completion with minimal supervision.
A proven track record of working cross-functionally to ensure successful delivery.
A strong drive to deeply understand how distributed systems work and to methodically debug complex, cross-service issues in a production environment.
Ability to work efficiently in an async environment (see GitLab’s Manager of One).
Proactive attitude in identifying potential issues and addressing them early.
Solid experience in working in an agile environment, adapting to shifting priorities and deadlines.
Openness to diverse backgrounds and transferable skills, with a commitment to GitLab’s values and inclusive culture.
About the Team
The Development Tooling group, as part of the Developer Experience stage, is dedicated to creating systems, frameworks, and tooling that increase GitLab engineers’ productivity to meet business goals and deliver with high-quality standards. The team manages GitLab’s development workflows, tooling, and related tech stack, streamlining the contribution process for team members and contributors alike.
More information can be found on our Team Handbook page.
