Sr. Backend Engineer, Package (Ruby on Rails)
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
$107,500 - $188,900
Programming Languages Mentioned
Ruby, R, SQL
The GitLab DevOps platform empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies with 1,800+ team members and values that guide a culture where people embrace the belief that everyone can contribute.
It's an exciting time to join GitLab.
Your expertise shapes our DevOps product
At GitLab, developers are independent and self-organized individual contributors who work together as a tight team in a remote and agile way. As a Senior Backend Engineer, you’ll work on all aspects of GitLab, building features, fixing bugs, and shaping the future of the CI/CD tools. This includes both the open source version of GitLab, the enterprise editions, and the GitLab.com service as well. Hundreds of thousands of developers depend on GitLab every day to get their jobs done.
Why joining the team
The Package group has a very unique setup that provides the opportunity to maintain core features of the product with newer and exciting areas. We focus on package management to be the single source of truth for storing and distributing dependencies for every GitLab customer. While we are a self-sufficient and autonomous team, we assume a cross-cutting role and regularly work with product teams across all of GitLab, which makes our work highly diverse and never boring.
As the team continues over time, there will be a lot of opportunities to contribute to high-impact work, like performance improvements, scalability challenges, bug fixes, and increasing security.
What you’ll do
Every day is different in the Package stage! One day you'll be developing support for a new package format, the next you'll be finding a way to scale a feature to manage millions of requests per minute. The work goes beyond just building a package registry to building cutting edge features that tie package management back into the rest of GitLab through features like CI/CD and storage management.
But writing code isn't the only thing you'll be doing. You'll be able to break up your day by reviewing code for other GitLab engineers and open source contributors, fielding questions from users and customers, participating in engineering-wide discussions and initiatives, and of course, planning the future work and vision for the Package stage by working directly with engineering. product management, UX, and quality.
- Contribute to the overall direction of the Package group
- Play a key role in maturing and scale the Package registry offering to ensure enterprise readiness and adoption.
- Ship moderately sized features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Solve technical problems of high scope and complexity with boring solutions. Everyone is responsible for finding ways to simplify and improve the features we own.
- Consider user experience throughout your work to help make every feature lovable.
- Develop features and improvements to the GitLab product in a secure, well-tested, and performant way.
- Collaborate with Product Management, Product Designers, Frontend Engineers, and other stakeholders to maintain a high bar for quality in a fast-paced, iterative environment.
- Advocate for improvements to product quality, security, and performance.
- Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment.
- Maintain and advocate for high standards through code review changes submitted by other engineers or community contributors
- Recognize impediments to our efficiency as a team, and propose and implement solutions.
- Grow your skills in Ruby on Rails, PostgreSQL, and Git.
- 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.
- Engage in the trainee maintainer program at your own comfortable pace while striving to become a full-fledged project maintainer.
What you’ll need
- Significant professional experience with Ruby on Rails.
- 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 technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Comfort working in a highly agile, intensely iterative software development process.
- Demonstrated aptitude 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 our culture of communication, inclusion, and visibility.
- Experience owning a project from concept to production, including proposal, discussion, and execution.
- Self-motivated and self-managing, with substantial organizational skills.
- Demonstrated competence to work closely with other parts of an organization.
- Share our values, and work following those values.
You'll stand out if you bring:
- Demonstrated experience with any package management tools such as NPM, Maven, or Debian.
- Experience with GraphQL.
- Experience with the diagnosis of performance and optimization problems and implementing measures to prevent these problems.
- Experience in large production environments and in scaling SaaS products.
- Experience with the GitLab product as a user or contributor.
- Passionate about/experienced with open source and developer tools
- Experience working remotely and thrive in a fully remote organization
- Experience working for a product company or startup
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.
All the benefits you need for you and your family
The culture here at GitLab is something we're incredibly proud of.
- Some of the benefits you'll be entitled to vary by region or country you're in.
- 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 and a competitive salary. Our compensation calculator will be shared with selected candidates before any interview.
- Family & Friends day off every month
A workplace to be yourself
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.
To view the full job description and its compensation calculator, view our handbook. Candidates will have access to the compensation calculator after an initial screen conversation with a member of our recruiting team. Additional details about our process can be found on our hiring page.
For Colorado residents: The base salary range for this role’s listed level is currently $107,500 - $188,900 for Colorado residents only. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, and alignment with market data. See more information on our benefits and equity. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary. Disclosure as required by the Colorado Equal Pay for Equal Work Act, C.R.S. § 8-5-101 et seq.
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.
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! 😄