Database Reliability Engineer

Remote United States

Apply

What if you could use your technology skills to develop a product that impacts the way communities’ hospitals, homes, sports stadiums, and schools across the world are built? Construction impacts the lives of nearly everyone in the world, and yet it’s also one of the world’s least digitized industries, not to mention one of the most dangerous. That’s why we’re looking for a talented Database Reliability Engineer to join Procore’s journey to revolutionize a historically underserved industry.

As a Database Reliability Engineer, you’ll join a highly skilled team of Site Reliability, Security, Data Administration, and Production Engineering disciplines dispersed across our Carpinteria, CA and Austin, TX offices. Database Reliability Engineers are responsible for keeping databases that support all user-facing Procore services and other production systems running smoothly 24/7. Database Reliability Engineers apply a mix of data engineering, administration, and software development disciplines to automate a range of database management work including provisioning data stores, managing uptime, data integrity, data refresh, disaster recovery, self-healing and alerting, and data reporting. As a Database Reliability Engineer, you’ll provide hands-on support for all things related to Procore’s data systems. 

This position will report to the Senior Manager, Data Systems & Reliability, and has the opportunity to be located in any of our US offices. Remote candidates will be considered based on experience. We’re looking for someone to join us immediately.

What you’ll do:

  • Work closely with SRE, Security, and Development teams to ensure data infrastructure standards are followed and architecture patterns are aligned with the requirements
  • Participate in designing data architecture, holding design reviews, building and troubleshooting data systems, as well as digging deep into the root of an issue and providing solutions
  • Participate in projects and tasks including on-call participation, prioritization, planning and change management, detailed runbooks, and documentation
  • Provide configuration and maintenance support for production and development environments, automating as much as possible
  • Design and implement self-service tools enabling application teams to quickly deploy their own data stores and schemas with appropriate guardrails in place to ensure data reliability
  • Assist application developers with query creation, optimization, tuning, and related functions
  • Identify performance trends and opportunities, and deploy proactive corrective measures to minimize downtime
  • Work across our tech stack of Java, Ruby on Rails, PostgreSQL, Snowflake, AWS, Kafka, S3, Redis, Elasticsearch

What we are looking for:

  • BS degree in Computer Science or equivalent practical experience; MS in Computer Science is preferred
  • 2+ years of experience working within a cloud infrastructure environment
  • Experience administering SQL databases like PostgreSQL
  • Development experience in any language or shell command language for scripting
  • Experience working quickly, efficiently, and with keen attention to detail at a fast-paced company where services are available 24/7/365
  • Possess a strong understanding that automation is king, and proactively push boundaries in areas like self-healing conditions and alerts
  • Possess a natural wonder for technology and desire to learn new technologies
  • Experience with the following is desirable although not required:
    • AWS RDS
    • Linux experience
    • Hashicorp Technologies (Consul, Terraform, Vault, Packer)
    • Containers and Container Management (Docker, Kubernetes)
    • Config Management (Puppet, Ansible, Salt)
    • Infrastructure as Code (Terraform)
    • Kafka
    • NoSQL data stores
    • Data Warehousing