Principal Software Engineer (Golang)

Socket.dev

Austin (TX)

Hybrid

USD 198,000 - 273,000

Full time

9 days ago

Get more replies from employers

Send a job-specific resume in minutes.

Job summary

Procore is seeking a Principal Software Engineer for the Directory team, reporting to the Sr. Engineering Manager. The role focuses on setting technical direction across Go-based backend and React/TypeScript frontend, with legacy Ruby systems involved.

The position is 2 days/week hybrid in Austin, with immediate hiring and US FedRAMP eligibility requirements. You will own the Directory domain architecture, migrate Ruby to Go, and drive a scalable, well-governed data model across accounts,

Qualifications

  • 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 with CQRS and/or Event Sourcing.
  • Strong proficiency in Go; design services around domain-driven boundaries.
  • Hands-on GraphQL experience, schema design, and federated gateway architecture.
  • Experience with Kafka or other event streaming systems; CDC patterns.

Responsibilities

  • Own the technical strategy for the Directory domain across backend and frontend services.
  • Drive architectural direction and ensure Directory is a first-class citizen in the SOA at Procore.
  • Guide the Ruby-to-Go migration and CDC pipeline to sync with the legacy Ruby monolith.
  • Lead GraphQL API design and evolutions within a federated gateway.
  • Champion event-driven architecture with Kafka-based streaming and observability practices.
  • Establish operational excellence with tests, pipelines, and containerized deployments.
  • Collaborate with Infrastructure, Security, and Product leadership to align with company goals.
  • Support maintenance of existing Ruby on Rails and NestJS services.

Skills

Go
GraphQL
CQRS
Event Sourcing
TypeScript
React
Distributed backends
Communication

Education

Bachelor's or Master's in Computer Science or related field

Tools

PostgreSQL
NestJS
Ruby on Rails

Job description

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.


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

Who We're Looking For:

  • 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.

Additional Information

Base Pay Range:

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.

A criminal history may have a direct, adverse, and negative relationship on the following job duties, potentially resulting in the withdrawal of the conditional offer of employment: 1. appropriately managing, accessing, and handling confidential information including proprietary and trade secret information, as well as accessing Procore's information technology systems and platforms; 2. interacting with and occasionally having unsupervised contact with internal/external customers, stakeholders, and/or colleagues; and 3. exercising sound judgment.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Principal Software Engineer (Golang)
Principal Software Engineer (Golang)

Procore • Austin (TX)

Hybrid
USD 198,000 - 273,000
Equity compensation
Bonus incentive compensation
Principal Software Engineer (Golang)
Principal Software Engineer (Golang)

Procore Technologies • Austin (TX)

Hybrid
USD 198,000 - 273,000
Principal Software Engineer (Golang)
Principal Software Engineer (Golang)

procore • United States

Hybrid
USD 198,000 - 273,000
Equity compensation
Bonus incentive compensation
Hybrid work schedule
Senior Manager, Software Engineering - Procore AI Infrastructure & Operations
Senior Manager, Software Engineering - Procore AI Infrastructure & Operations

Procore Technologies • Austin (TX)

Hybrid
USD 198,000 - 273,000
Staff Software Engineer- Construction Digital Twin
Staff Software Engineer- Construction Digital Twin

Procore Technologies • Georgia

On-site
USD 152,000 - 209,000
Staff Software Engineer
Staff Software Engineer

Procore Technologies • Austin (TX)

On-site
USD 168,560 - 231,770
Software Engineer 2 (Financials)
Software Engineer 2 (Financials)

Procore Technologies • Austin (TX)

On-site
USD 113,000 - 155,000
Staff Software Engineer- Construction Digital Twin
Staff Software Engineer- Construction Digital Twin

Procore • Atlanta (GA)

Hybrid
USD 152,000 - 209,000
Staff Engineer, AI Automation and Orchestration
Staff Engineer, AI Automation and Orchestration

Procore Technologies • Austin (TX)

Hybrid
USD 168,000 - 232,000
Senior Manager, Software Engineering - Procore AI Infrastructure & Operations
Senior Manager, Software Engineering - Procore AI Infrastructure & Operations

procore • United States

Hybrid
USD 198,000 - 273,000
Equity compensation
Bonus incentive