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.
Backend Engineers at GitLab work on our product. This includes both the open-source version of GitLab, the enterprise editions, and the GitLab.com service as well. They work with peers on teams dedicated to areas of the product. They work together with product managers, designers, and frontend engineers towards common goals.
The Create:Editor group provides automated testing integration into the GitLab CI workflow. Backend engineers own the Rails/Go backend code and are responsible for developing and maintaining features in the category alongside their frontend peers.
The work for this role
Most backend developers work on all aspects of GitLab, building features, fixing bugs, and generally improving the application.
Some handy links to learn more about the team:
- Contribute to the overall direction of the Editor group
- Play a key role in maturing and scale GitLabs Editor effort, 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 Golang, 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.
- Ability to use GitLab.
- Significant experience building applications using Rails (bonus if you know Go and Rails or have an interest in them!)
- Professional experience with any other technologies that may be required by the specialty.
- 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 excellent organizational skills.
- Demonstrated ability to work closely with other parts of the organization.
- Share our values, and work in accordance with those values.
- Ability to thrive in a fully remote organization.
You'll stand out if you bring:
- One or more merge requests against the GitLab codebase.
- A deep understanding of Git internals.
- Experience with Golang.
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.
To view the full job description and its compensation calculator, view our handbook. The compensation calculator can be found towards the bottom of the page.
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.