We’re looking for a Staff Backend Engineer (C++) to join Procore’s Product & Technology Team. Procore builds software that improves the lives of everyone in construction, and our Product & Technology organization drives our innovative, global platform at scale.
We are a customer-focused team spanning engineering, product, design, data, security, and business systems. As a Staff Engineer, you will play a critical role in shaping the architecture and backend systems that power Procore’s Building Information Modelling (BIM) and construction management solutions worldwide.
This position reports to a Senior Director of Engineering and is based in our Norway location.
What You’ll Do
-
Lead the design and development of high-performance backend systems written in Rust/C/C++, powering Procore’s BIM and construction technology platform.
-
Architect and build scalable, distributed services aligned with Procore’s service-oriented and microservices architecture.
-
Own complex technical initiatives from concept to production, ensuring reliability, performance, and maintainability.
-
Collaborate closely with Product, Frontend, Infrastructure, and Platform teams to deliver robust APIs and backend services.
-
Establish and promote engineering best practices in system design, code quality, testing, and performance optimization.
-
Drive architectural decisions that support enterprise-scale customers across international markets.
-
Mentor senior and mid-level engineers, providing technical leadership, code reviews, and design guidance.
-
Anticipate scalability, reliability, and performance challenges in large distributed systems and proactively design solutions.
-
Contribute to CI/CD, observability, and operational excellence across backend services.
What We’re Looking For
-
Bachelor’s or Master’s degree in Computer Science or equivalent practical experience.
-
8+ years of professional experience building production-grade backend systems.
-
Strong expertise in modern C++ (C++17/20 or later), including memory management, concurrency, and performance optimization.
-
Experience designing and building distributed systems and microservices at scale.
-
Deep understanding of multithreading, networking, and asynchronous programming.
-
Experience with service-oriented architecture and API design (REST/gRPC).
-
Familiarity with containerized environments and cloud-native infrastructure.
-
Strong understanding of data structures, algorithms, and system-level design.
-
Experience working with high-throughput, low-latency systems.
-
Experience operating software at scale (thousands of hosts, millions of users).
-
Track record of identifying architectural risks early and driving long-term technical strategy.
-
Experience designing CI/CD pipelines and improving developer productivity.
-
Strong documentation skills and ability to bring clarity to complex technical solutions.
-
Ability to balance short-term delivery needs with long-term architectural vision.
Nice to Have (Bonus)
-
Experience with 3D data processing, geometry engines, or BIM systems.
-
Familiarity with linear algebra, computational geometry, or spatial indexing.
-
Experience with Rust or performance-critical systems programming.
-
Exposure to WebAssembly or cross-platform native modules.
-
Background in graphics pipelines or handling large model datasets.
-
Experience optimizing large-scale data processing pipelines.
Additional Information
Base Pay Range:
880,000.00 - 1,210,000.00 NOK 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.
