Database Reliability Engineers (DBRE) are responsible for keeping database systems that support all user-facing services (most notably GitLab.com) and many other GitLab production systems running smoothly 24/7/365. DBREs are a blend of database engineering and administration gearheads and software crafters that apply sound engineering principles, operational discipline and mature automation, specializing in databases (PostgreSQL in particular). In that capacity, DBREs are peers to SREs and bring database expertise to the SRE and SAE Infrastructure teams as well as our engineering teams.

GitLab.com is a unique site and it brings unique challenges: it’s the biggest GitLab instance in existence; in fact, it’s one of the largest single-tenancy open-source SaaS sites on the internet. The experience of our team feeds back into other engineering groups within the company, as well as to GitLab customers running self-managed installations

As a DBRE you will:

  • Work on database reliability and performance aspects for GitLab.com from within the SRE team as well as work on shipping solutions with the product.
  • Analyze solutions and implement best practices for our main PostgreSQL database cluster and its components.
  • Work on observability of relevant database metrics and make sure we reach our database objectives.
  • Work with peer SREs to roll out changes to our production environment and help mitigate database-related production incidents.
  • OnCall support on rotation with the team.
  • Provide database expertise to engineering teams (for example through reviews of database migrations, queries and performance optimizations).
  • Work on automation of database infrastructure and help engineering succeed by providing self-service tools.
  • Use the GitLab product to run GitLab.com as a first resort and improve the product as much as possible.
  • Plan the growth of GitLab's database infrastructure.
  • Design, build and maintain core database infrastructure pieces that allow GitLab to scale to support hundreds of thousands of concurrent users.
  • Support and debug database production issues across services and levels of the stack.
  • Make monitoring and alerting alert on symptoms and not on outages.
  • Document every action so your learnings turn into repeatable actions and then into automation.

You may be a fit to this role if you:

  • Have at least 5 years of experience running PostgreSQL in large production environments
  • Have at least 2 years of experience with infrastructure automation and configuration management (Chef, Ansible, Puppet, Terraform…)
  • Have at least 3 years of experience with any object oriented programming language in a software engineering role
  • Have experience with Ruby on Rails, Django, other Ruby and/or Python web frameworks, or Go
  • Have strong programming skills
  • Have solid understanding of SQL and PL/pgSQL
  • Have solid understanding of the internals of PostgreSQL
  • Have experience working in a distributed production environment
  • Share our values, and work in accordance with those values.
  • Have excellent written and verbal English communication skills
  • Have an urge to collaborate and communicate asynchronously.
  • Have an urge to document all the things so you don't need to learn the same thing twice.
  • Have a proactive, go-for-it attitude. When you see something broken, you can't help but fix it.
  • Have an urge for delivering quickly and iterating fast.
  • Know your way around Linux and the Unix Shell.
  • Have the ability to orchestrate and automate complex administrative tasks. Knowledge in config management systems like Chef (the one we use)
  • Passion for stable and secure systems management practices
  • Strong data modeling and data structure design skills

Projects you could work on:

  • Review, analyze and implement solutions regarding database administration (e.g., backups, performance tuning)
  • Work with Terraform, Chef and other tools to build mature automation (automatic setup new replicas or testing and monitoring of backups).
  • Implement self-service tools for our engineers using GitLab ChatOps.
  • Provide technical assistance and support to other teams on database and database-related application design methodologies, system resources, application tuning.
  • Review database related changes from engineering teams (e.g., database migrations).
  • Recommend query and schema changes to optimize the performance of database queries.
  • Jump on a production incident to mitigate database-related issues on GitLab.com.
  • Participate actively in the infrastructure design and scalability considerations focusing on data storage aspects.
  • Make sure we know how to take the next step to scale the database.
  • Design and develop specifications for future database requirements including enhancements, upgrades, and capacity planning; evaluate alternatives; and make appropriate recommendations.

Compensation:

Please view the compensation range for this role at the bottom of the position description

Remote-Global

Your Privacy

For information about our privacy practices in the recruitment process, please visit our Recruitment Privacy Policy.

 

Apply for this Job

* Required
  
  


U.S. Equal Opportunity Employment Information (Completion is voluntary)

Individuals seeking employment at GitLab are considered without regards to race, color, religion, national origin, age, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, or sexual orientation. You are being given the opportunity to provide the following information in order to help us comply with federal and state Equal Employment Opportunity/Affirmative Action record keeping, reporting, and other legal requirements.

Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 05/31/2023

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

We are a federal contractor or subcontractor required by law to provide equal employment opportunity to qualified people with disabilities. We are also required to measure our progress toward having at least 7% of our workforce be individuals with disabilities. To do this, we must ask applicants and employees if they have a disability or have ever had a disability. Because a person may become disabled at any time, we ask all of our employees to update their information at least every five years.

Identifying yourself as an individual with a disability is voluntary, and we hope that you will choose to do so. Your answer will be maintained confidentially and not be seen by selecting officials or anyone else involved in making personnel decisions. Completing the form will not negatively impact you in any way, regardless of whether you have self-identified in the past. For more information about this form or the equal employment obligations of federal contractors under Section 503 of the Rehabilitation Act, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Autism
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, or HIV/AIDS
  • Blind or low vision
  • Cancer
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or hard of hearing
  • Depression or anxiety
  • Diabetes
  • Epilepsy
  • Gastrointestinal disorders, for example, Crohn's Disease, or irritable bowel syndrome
  • Intellectual disability
  • Missing limbs or partially missing limbs
  • Nervous system condition for example, migraine headaches, Parkinson’s disease, or Multiple sclerosis (MS)
  • Psychiatric condition, for example, bipolar disorder, schizophrenia, PTSD, or major depression

1Section 503 of the Rehabilitation Act of 1973, as amended. For more information about this form or the equal employment obligations of Federal contractors, visit the U.S. Department of Labor's Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.