GitLab Software Engineer in Test, Verify: Runner

Posted on March 19th, 2020

This Software Engineer in Test position for our Verify: Runner team is 100% remote.

A brief overview:

GitLab is building an open-source, single application for the entire software development lifecycle—from project planning and source code management to CI/CD, monitoring, and security.

We started 2019 with a team of six SET's. Since then, the Quality department has grown to over twenty team members, and we’ve increased the number of GitLab employees from 400 to over 1100 in the last financial year, too. 

At GitLab, we live and breathe open source principles. This means our entire handbook is online, and with a few clicks, you can find the details of future releases, check out our past releases, and see an overview of the product vision you’d contribute to when working here.

As a Software Engineer in Test at GitLab, you will be embedded in our Verify: Runner stage group. You’ll be responsible for expanding on our existing test automation frameworks and improving test coverage across a range of configurations for our GitLab CI execution agent. With shared runners for Mac, improved support for Windows Docker containers, and Autoscaling GitLab Runners on AWS Fargate upcoming in future releases, you’ll lead test automation efforts on new features for our already market-leading CI product.

What you can expect in a Software Engineering in Test, Verify: Runner role at GitLab:

  • As part of our Verify: Runner team you’ll work on test automation issues related to the Quality department, the Verify: Runner group, and the entire GitLab product. The work you’ll do will be transparent and open to the GitLab community.
  • You’ll develop new tests and tools for our frontend, backend APIs and services, and low-level systems like geo-replication, CI/CD, and load balancing.
  • You’ll identify and drive the adoption of best practices in code health, testing, testability, and maintainability.
  • You’ll work with engineers to define and implement mechanisms to inject testing earlier into the software development process.
  • You’ll configure automated tests to execute reliably and efficiently in our CI/CD environments.
  • You’ll work with a Product Manager and with the wider product and development teams to understand how new features should be tested and to contribute to automated tests for these new features.
  • You’ll work in an environment where we aim to have a 1:10 ratio of Software Engineer in Test to Engineers.
  • As an SET, you’ll have the opportunity to become and expert in our CI product and contribute to it’s continued growth.

Projects you might work on in our Verify: Runner stage group:

You’ll spend your time collaborating with a cross-functional team in which our Runner group is included. You could work on projects where you’ll be tasked with standing up a framework for AWS Fargate as we enable autoscaling runners, growing our test coverage across our CI product, or helping to mature our Windows offering.

You should apply if:

  • You’ve got at least a few years of professional experience developing in Ruby or working on a Ruby on Rails application.
  • You have working knowledge of Go.
  • You’re passionate about CI and the benefits it can bring to the software development lifecycle.
  • You’ve got a working knowledge of Docker.
  • You’ve worked with industry-standard CI tools like GitLab CI, Jenkins, Bamboo, or Circle CI for example.
  • You’re comfortable with Selenium-based test automation tools like Capybara.
  • You’ve got experience with Git and its command line.
  • You’re interested in growing your knowledge and skills in Test Environment Provisioning and Configuring using technologies like Terraform, Ansible, Kubernetes, GCP, or AWS.
  • You know about clean code and the test pyramid, and champion these concepts.
  • Our values of collaboration, results, efficiency, diversity, iteration, and transparency resonate with you.
  • You’ll thrive in an environment where self-learning and self-service is encouraged and instilled as a part of our culture.

We’re aware the confidence gap exists so we want to encourage you to apply even if you do not match all of the requirements exactly. The above list is intended to show the kinds of experience and qualities we’re looking for. It is not a complete list of pre-required skills.

What it’s like to work here at GitLab:

The culture here at GitLab is something we’re incredibly proud of. Because our team members are currently located in over 66 different countries, you’ll spend your time collaborating with kind, talented, and motivated colleagues from across the globe.

Some of the benefits you’ll be entitled to vary by the region or country you’re in. However, all our team members are fully remote and receive a “no ask, must tell” paid-time-off policy, where we don’t count the number of days you take off annually. You can work incredibly flexible hours, enabled by our asynchronous approach to communication. We’ll also help you set up your home office environment, pay for your membership to a co-working space and contribute to the travel costs associated with meeting other GitLab team members across the world. Also, every year or so, we’ll invite you to our Contribute event.

Hiring Process and compensation:

Our hiring process for this Software Engineer in Test position typically follows six stages. The details of this process and the compensation for this role can be found at the bottom of our job family page.

Apply for this Position