About this role
We’re looking for a Staff Backend Engineer (C#/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.