This position is remote based.
Engineering Productivity Engineers are full-stack engineers primarily tasked with improving the productivity of the GitLab developers (from both GitLab Inc and the rest of the community), and making the GitLab project maintainable in the long-term. This is a key position with a new and growing team, so your efforts will have a noticeable impact to both the company and product. In addition to the requirements below, successful candidates will demonstrate a passion for high quality software, strong engineering principles and methodical problem solving skills.
Responsibilities - Build automated measurements and dashboards to gain insights into Engineering Productivity to understand what is working and what is not.
- Make suggestions for engineering workflow improvements, monitor the results and iterate.
- Develop new tests orchestration tools for our frontend, backend APIs and services, and low-level systems.
- Increase contributor and developer productivity by improving the development setup, workflow, processes, and tools.
- Improve the ease of use of our GDK (GitLab Development Kit).
- Improve Review apps for CE/EE (GDK in the cloud).
- Build automated tooling to speed up issue and merge request review and triage.
- Ensure workflow and label hygiene in our system which feeds into our metrics dashboard.
- Build automated tooling to ensure the consistency and quality of the codebase and merge request workflow.
- Help Test Automation Engineers, expand our existing test automation framework.
- Help with maintaining GitLab Docs.
Requirements - Experience developing in Ruby (this is a strict requirement).
- Experience in with test automation frameworks for both front-end and back-end testing.
- Experience in designing and developing tools and solutions used across teams.
- Development experience in object-oriented programming languages and patterns.
- Excellent oral and written communication skills.
- Experience with a front-end charting/visualization library.
- Experience using test automation tools. (Selenium, Capybara, Watir).
- Experience using Continuous Integration systems (e.g., GitLab CI, Jenkins, Travis).
- Experience using Docker and containerized architectures (e.g. Kubernetes).
See the description of the Quality team for more details. The position also involves working with the community as merge request coach, and working together with our Backend Engineers to respond and address issues from the community.
Please view the compensation range for this role at the bottom of the position description.