Software Engineer in Test, Dedicated
GitLab (View all Jobs)
1. A series of video calls 2. Coding exercise involving working on a Merge Request that is like a real work task
Programming Languages Mentioned
The GitLab DevSecOps platform empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies with 2,000+ team members and values that foster a culture where people embrace the belief that everyone can contribute. Learn more about Life at GitLab.
Our Quality team's mission is to empower our teams to ship world class enterprise software at scale, with quality and velocity. By working closely between the broader Quality team and product teams, you're pivotal to ensuring Quality is everyone's responsibility which ultimately leads to better software for our customers.
We are looking for a Software Engineer in Test (SET) to join the Quality team work on the GitLab Dedicated product. There are currently no SET's in this group so you'll have the opportunity to define the testing strategy, advocate for testing needs and also build the tools required to support your day-to-day tasks.
The platform you're working on is infrastructure heavy, so we are looking for someone who has a lot of experience working with infra tooling like Terraform, Ansible and Kubernetes. We don't mind if you have less experience with testing tooling, we can teach you that!
Here are some helpful links if you want to learn more:
Want to learn more about the technical nature of Quality Engineering at GitLab?
Here are two tools built by our team:
- The GitLab Performance Tool: Tests the server performance of GitLab environment
- The GitLab Environment Toolkit: A provisioning and configuration toolkit for deploying GitLab's Reference Architectures with Terraform and Ansible
What we need you to know:
- Coding infrastructure automation experience with Ansible and Terraform, and comfortable with managed Kubernetes platforms.
- Experience with various cloud provider systems (e.g. GCP, AWS).
- Experience with Continuous Integration systems (e.g., Jenkins, Travis, GitLab)
- Experience with Debian and RHEL based systems
- Experience developing in Ruby and use of Git
- Experience using test automation tools like Capybara, Watir, Selenium
- Expand our existing test automation framework and test coverage.
- Develop new tests and tools for our GitLab.com frontend, backend APIs and services, and low-level systems like geo replication, CI/CD, and load balancing.
- Work with the product team and other development teams to understand how new features should be tested, and then engage them in contributing automated tests.
- Work with engineers to define and implement mechanisms to inject testing earlier into the software development process.
- Identify and drive the adoption of best practices in code health, testing, testability, and maintainability. You should know about clean code and the test pyramid, and champion these concepts.
- Analyze complex software systems and collaborate with others to improve the overall design, testability and quality.
- Strive for the fastest feedback possible. Test parallelization should be a top priority. You see distributed systems as a core challenge of good test automation infrastructure.
- Configure automated tests to execute reliably and efficiently in CI/CD environments.
- Track and communicate test results in a timely, effective, and automated manner.
Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process. As a result an interview can be canceled at any time even if the interviews are very close (e.g. a few hours apart).
- Candidates will be invited to complete a technical assessment from our Recruiting team.
- Qualified candidates will be invited to schedule a 45 minute screening call with our Recruiting team.
- Next, candidates will be invited to schedule a 45 minute first interview with the Hiring Manager.
- Next, candidates will then be invited to schedule a 1 hour technical interview with a Senior Test Automation Engineer.
- Next, candidates will then be invited to schedule a 1 hour peer interview with two Engineers in the Quality department.
- Finally, candidates will be invited to schedule a 45 minute interview with the Head of Quality.
- Successful candidates will subsequently be made an offer via email
Additional details about our process can be found on our hiring page.
Country Hiring Guidelines: GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.
GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know during the recruiting process.
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄