Senior Backend Engineer, Plan: Knowledge Engineering (Ruby, Golang, Rust)


1 month ago


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.