Backend Engineer, Plan: Knowledge Engineering (Ruby)



Software Engineering
Canada · Remote
Posted on Tuesday, April 30, 2024

The GitLab DevSecOps platform empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies with 2,000+ team members and values that foster a culture where people embrace the belief that everyone can contribute. Learn more about Life at GitLab.

An overview of this role

Knowledge is a small team owning GitLab Wiki, GitLab Pages, and everything related to markdown and text editing in GitLab. Our next focus is transforming GitLab Wiki from a simple Git wrapper to a fully-featured knowledge management solution with search, intuitive navigation, comments, permissions, etc. We also maintain GitLab Pages - a very popular static website hosting solution written in Go, focusing on ensuring high availability and performance. And we manage markdown features across GitLab, powered by a Rust-based parser, adding dynamic capabilities like link expansions and more.

As the new Senior Backend Engineer, you will work on the highly requested features as well as maintaining the existing features by investigating and fixing existing bugs You’ll get to know our codebase, roadmap, and working methods. You will then take ownership and be responsible for both architecture and hands-on implementation. You’ll also help the team and community via code review, issue refinement, engaging with users and open-source contributors on public issues and merge requests, and advocating for process improvements.

Some examples of our projects:

What You’ll Do

  • Drive the development of specific features for GitLab Wiki and GitLab Pages together with the team, from initial issue analysis and architecting solutions to writing the code.
  • Support other team members and advocate for quality via code reviews, participating in retrospectives, and helping to onboard new engineers.
  • Collaborate across teams: engage with other engineers, product manager, infrastructure teams, and users to refine feature specifications and drive them to general availability.
  • Advocate for improvements to product quality, security, performance, and team processes.
  • Iterate in everything you do: identify the minimal viable changes and constantly ship value to users while keeping a larger product vision in mind
  • Engage with community contributors and users on public issues: figure out the best solutions for specific issues, write detailed “how to implement” guides, and support contributors in the review process.

What You’ll Bring

  • Significant professional experience with Ruby On Rails. 70% of our code is in the Rails monolith, so you need to be comfortable with it and enjoy writing Ruby code.
  • SQL and Database Proficiency: Proficiency in writing efficient SQL queries, preferably with PostgreSQL, to manage and manipulate data effectively.
  • Some experience with Go or Rust (non-professional experience is fine)
  • Professional experience building web applications and APIs (REST or GraphQL )
  • Experience owning a feature from concept to production, including proposal, discussion, and execution.
  • Adopt to Asynchronous Work: Manage priorities effectively focusing on results. Communicate clearly and navigate team dynamics proactively in our remote setting.
  • Share our values, and work in accordance with those values.
  • Contributions to GitLab are highly regarded, but not strictly necessary.

About the team

You’ll join a distributed team around the globe with backend and frontend engineers, a Product Manager, and an Engineering Manager. You will have support from staff engineers in larger technically challenging projects. We collaborate mostly asynchronously without many meetings, and engineers are actively participating in shaping the product direction and the team’s workflows. We use Go and Rust in parts of our products, so you can sharpen your skills with these technologies. Most of our features are completely free and open-source, and we have an active open-source community.

How GitLab will support you

Please note that we welcome interest from candidates with varying levels of experience; many successful candidates do not meet every single requirement. Additionally, studies have shown that people from underrepresented groups are less likely to apply to a job unless they meet every single qualification. If you're excited about this role, please apply and allow our recruiters to assess your application.

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.

Privacy Policy: Please review our Recruitment Privacy Policy. Your privacy is important to us.

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.