Intermediate Backend (Ruby) Engineer, Durability New Remote, Canada; Remote, EMEA

Other Jobs To Apply

An overview of this role

As a Backend Engineer in Durability at GitLab, you are responsible for developing and maintaining backup and restore solutions that safeguard customer data across all GitLab deployments. You will be using best development practices to build reliable, scalable data backup systems. This role focuses on creating universal tooling that works seamlessly across multiple cloud and on-premise environments.

GitLab Backend Engineers in Durability specialize in distributed systems, data consistency, and cross-platform compatibility, while implementing best practices for reliability, scalability, and data integrity.

What you’ll do

  • Design and develop reliable backup and restore solutions from the ground up using Ruby, creating universal CLI tooling that works across multiple cloud and on-premise environments.
  • Build scalable data protection systems to support current and future GitLab deployments of all sizes.
  • Collaborate closely with cross-functional teams and Infrastructure teams to integrate backup solutions seamlessly into the GitLab ecosystem.
  • Participate in incident response when backup/restore systems are involved and contribute to incident reviews with a development perspective.
  • Act as a subject matter expert on data durability, backup strategies, and restore mechanisms within GitLab.
  • Continuously improve and optimize backup and restore performance, reliability, and user experience.

What you’ll bring

  • Strong programming skills in Ruby with experience building CLI tools and distributed systems.
  • Experience with multiple cloud platforms (GCP, AWS, Azure) and understanding of their storage and backup services.
  • Experience with infrastructure as code tools like Ansible, Terraform, Chef, etc. for managing infrastructure.
  • Understanding of Kubernetes and containerized backup solutions.
  • Ability to design systems that work reliably across diverse deployment environments.
  • Strong problem-solving skills and ability to think systematically about data protection challenges.
  • Independent, proactive, and self-organized mindset with excellent asynchronous communication skills.
  • Excitement about building developer tools and solving complex distributed systems challenges.

About the team

Durability is responsible for safeguarding and securing customer data that is stored by the GitLab application and sets guidelines for data access. Running the largest GitLab instance in existence means we are constantly faced with unique and rewarding challenges that directly impact our users every day. Our future is about increasing automation to scale with enterprise-level expectations around reliability and availability. Thanks to our Transparency value, you can see how we work on our team page or see what we’re working on.

Country Hiring Guidelines

GitLab hires new team members in countries around the world. All roles are remote; however, some roles may have location-based eligibility requirements. Our Talent Acquisition team can answer questions about location after starting the recruiting process.

Equal Employment Opportunity

GitLab is proud to be an equal opportunity workplace and an affirmative action employer. Our 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, discharge status from the military, protected veteran status, 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. If you require accommodation during the recruiting process, please let us know.

#J-18808-Ljbffr Salary: USD 72000 - 108000 per year Experience: 3 years required
Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...