Principal Software Engineer (Golang)

Procore
West, TX, United States
22 days ago
Apply on diversityjobs.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
10 years minimum
Compensation
$198,240.0 - $272,580.0
Working hours
Regular working hours

Tech stack

Artificial Intelligence Automation of Tests Command-Query Responsibility Segregation (Software Development) Relational Databases PostgreSQL Project Management Software Ruby on Rails Ruby Service-Oriented Architecture TypeScript ReactJS Delivery Pipeline
+13 more
Change Data Capture Backend Event Driven Architecture Single Page Application Information Technology Apache Kafka Graphql Front End Software Development Event Sourcing Api Design NestJS Domain Driven Design Golang

Job description

In this Principal Software Engineer role, you’ll set the technical direction for the Directory domain across our Go-based backend, built on a CQRS/Event Sourcing architecture, and our React/TypeScript frontend and legacy Ruby/Typescript systems. You’ll partner with Product, Design, and adjacent platform teams to translate business needs around identity, access, and organizational structure into resilient, scalable systems. Use your deep experience in distributed backend systems, event-driven architecture, and modern frontend engineering to keep the Directory domain a dependable foundation for the rest of Procore.

This position reports into the Sr. Engineering Manager, Directory and 2 days per week hybrid role in our Austin office. We’re looking for someone to join us immediately.

This position requires US citizenship to work on FedRAMP-compliant projects. Candidates must be eligible to work on federal government projects requiring FedRAMP authorization.

What you’ll do:

  • At Procore, AI isn’t a specialized tool, it’s a core competency. We expect every team member to be AI-literate, leveraging generative tools and agentic workflows to move faster and work smarter. You won’t just use AI; you’ll be building the agentic future of construction.
  • Own the technical strategy for the Directory domain, helping to drive architectural direction across our backend and frontend services and ensuring the domain remains a first-class citizen within Procore’s broader Service-Oriented Architecture.
  • Guide the Ruby-to-Go migration, overseeing the Change Data Capture (CDC) pipeline that keeps our backend in sync with the legacy Ruby monolith, and help chart the path to eventually retiring that dependency.
  • Lead GraphQL API design and evolution, ensuring our schema is well-modeled, performant, and cleanly federated through Procore’s GraphQL gateway.
  • Champion event-driven architecture, using Kafka-based streaming to ensure the Directory domain’s events are reliable, well-observed, and easy for other teams to consume.
  • Establish operational excellence across both services - strong observability practices, solid automated test coverage (unit, integration, and end-to-end), and reliable, containerized deployment pipelines.
  • Collaborate across boundaries with Infrastructure, Security, and Product leadership, and with other domain teams consuming Directory’s data and events, to keep the Directory domain a dependable foundation for the rest of Procore.
  • Support maintenance of existing Ruby on Rails and NestJS servce

Requirements

  • Bachelor’s or Master’s degree in Computer Science or a related field, or equivalent experience.
  • 10+ years of experience architecting, scaling, and maintaining complex, distributed backend systems, ideally including production experience with CQRS and/or Event Sourcing patterns.
  • Strong proficiency in Go; experience designing services around domain-driven boundaries (accounts, organizations, users, permissions, or similar entities) is a strong plus.
  • Hands-on experience with GraphQL, including schema design and working within a federated gateway architecture.
  • Experience with event streaming systems such as Kafka, and familiarity with Change Data Capture (CDC) patterns for syncing data across services or off a legacy system.
  • Comfort with relational databases (e.g., PostgreSQL) and modern ORM patterns, and with building systems that must maintain strong data consistency guarantees.
  • Solid frontend experience with TypeScript and React (18+), and familiarity with modern data-fetching and routing patterns in single-page applications.
  • Strong communication skills, with a track record of influencing technical direction across multiple teams and stakeholders.

Benefits & conditions

198,240.00 - 272,580.00 USD Annual

This role may also be eligible for Equity Compensation and/or Bonus Incentive Compensation. Procore is committed to offering competitive, fair, and commensurate compensation. Actual compensation will be based on a candidate’s job-related skills, experience, education or training, and location.

This position requires access to technology, software, and data that is controlled or restricted under U.S. law, regulation, executive order, or government contract. For Los Angeles County (unincorporated) Candidates:

Procore will consider for employment all qualified applicants, including those with arrest or conviction records, in accordance with the requirements of applicable federal, state, and local laws, including the City of Los Angeles’ Fair Chance Initiative for Hiring Ordinance, the Los Angeles County Fair Chance Ordinance for Employers, and the California Fair Chance Act.

About the company

We’re looking for a Principal Software Engineer to join Procore’s Directory team, part of our Product & Technology organization. The Directory team owns the user and company management experience within a construction workspace - the systems that manage collaborators at the company level and per-project level, as well as the account entities that each company operates within. This is foundational, high-leverage infrastructure: nearly every workflow in Procore touches the accounts, companies and people this team owns.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on diversityjobs.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:04 min

Comparing flexible tools against opinionated NestJS frameworks

Matteo Collina Matteo Collina · JS Congress

50 sec

Why developer happiness matters in web frameworks

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

1:08 min

Building solutions with open source GoLang infrastructure tools

Jad Wahab · LIVE

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · World Congress 2021

6:16 min

Event-driven Golang backend architecture and cloud deployment

Irina Branovic Irina Branovic · World Congress 2026 Europe

3:30 min

Falling in love with Ruby and creating Basecamp

David Heinemeier Hansson David Heinemeier Hansson +1 · Coffee With Developers

Videos

See all

Related articles

See all