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 BIM and construction management solutions worldwide.
This position reports to a Senior Director of Engineering and is based in our Norway location. We’re looking for someone to join us immediately.
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.
Read Full Description