This Backend Engineer or Senior Backend Engineer position for our Package group is 100% remote.
It’s an exciting time to join our team. We're the world’s largest all-remote company, and we've been intentionally building our culture this way from the start. With more than 1,200 team members in 65+ countries, GitLab is a place where you can contribute from almost anywhere. We are an ambitious, productive team that embraces a set of shared values in everything we do.
We're hiring three Backend Engineers for our Package group. As a Backend Engineer or Senior Backend Engineer in our Package group, you'll play a key role in team whose mission is to create a secure environment where both source code and dependencies can live. The features in our Package group allow our customers to publish, consume, and discover packages of a large variety of languages and platforms all in one place.
Our Package group is responsible for our container registry, package repositories, and the dependency proxy. All of these are key components of our Continuous Delivery offering where our users pull more than a million packages each week!
The Container Registry is written in Golang and the Package Managers and Dependency Proxy are written in Ruby/Rails.
The culture here at GitLab is something we’re incredibly proud of. Some of the benefits you’ll be entitled to vary by the region or country you’re in. However, all GitLab 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 -- instead, we focus on your results. You can work the hours you choose, enabled by our asynchronous approach to communication. You can also expect stock options and a competitive salary. Our compensation calculator will be shared with selected candidates before any interview.
Diversity, Inclusion, and Belonging (DIB) are fundamental to the success of GitLab. We want to infuse DIB in every way possible and in all that we do. We strive to create a transparent environment where all team members around the world feel that their voices are heard and welcomed. We also aim to be a place where people can show up as their full selves each day and contribute their best. With more than 100,000 organizations using GitLab, our goal is to have a team that is representative of our users.
What you'll do in this role
- Contribute to the overall direction of Package.
- Help scale our Continuous Delivery offering to ensure enterprise readiness and adoption.
- Solve technical problems of high scope and complexity.
- Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
- Represent GitLab and its values in public communication around broader initiatives, specific projects, and community contributions.
- Provide mentorship for Junior and Intermediate Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
- Confidently ship moderately sized features and improvements with minimal guidance and support from other team members.
- Collaborate with the team on larger projects.
- Improve the engineering projects at GitLab via maintainer trainee program at your own comfortable pace, while striving to become a project maintainer.
- Advocate for improvements to product quality, security, and performance.
You should apply if you bring:
- Significant professional experience with Ruby on Rails and/or Golang
- A focus on code quality.
- Experience in a scaling SaaS product.
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems.
- Comfort working in a highly agile, intensely iterative software development process.
- Demonstrated ability to onboard and integrate with an organization long-term.
- Positive and solution-oriented mindset.
- Effective communication skills: Regularly achieve consensus with peers, and clear status updates.
- An inclination towards communication, inclusion, and visibility.
- Experience owning a project from concept to production, including proposal, discussion, and execution.
- Self-motivated and self-managing, with strong organizational skills.
- Demonstrated ability to work closely with other parts of the organization
- Share our values, and work in accordance with those values
You'll stand out if you bring
- Demonstrated experience with API development in Ruby/Rails
- Demonstrated experience with any package management tools such as NPM, Maven, or Debian.
Also, we know it’s tough, but please try to avoid the confidence gap. You don’t have to match all the listed requirements exactly to be considered for this role.
Our hiring process for this Backend Engineer position typically follows four stages. The details of this process and our leveling structure can be found on our job family page.