Construction impacts the lives of nearly everyone in the world, and yet it’s also one of the world’s least digitized industries, not to mention one of the most dangerous. That’s why we’re looking for a Principal Software Engineer to join Procore’s mission to serve our underserved industry.
As a Principal Software Engineer, you’ll develop our Universal Tool Platform (UTP), a centralized platform for managing all construction data and capabilities. UTP will allow our Product & Technology teams, professional services, third-party partners, and customers to create customized tooling within Procore’s Construction Management Platform.
This position has the opportunity to be based in our Carpinteria, CA, or Austin, TX offices or work remotely from any U.S location. We’re looking for someone to join us immediately.
What you’ll do:
- Drive the end-to-end architecture of our meta-driven UI and API platform
- Architect, design, implement, test, and deploy high-quality code, tooling, and frameworks while determining principles and standards for the UI and server platform
- Build underlying UI platform features that enable customization and UI platform extensibility by users and first or third-party developers
- Contribute to core initiatives at Procore as well as independent, innovative technical projects
- Mentor teammates through code reviews, pair programming, and training opportunities
- Develop test strategies, work with test automation frameworks, write unit and functional tests to drive code coverage metrics
What we're looking for:
- Bachelor’s Degree in Computer Science, a related field, or comparable work experience
- Demonstrable experience leading large initiatives with the ability to course-correct
- Understanding of iOS and Android development
- Significant experience using NestJS, React, ReactNative, and GraphQL for frontend, development
- Proven experience with web tooling such as micro frontends, Webpack, NPM and service creation tools, including Kubernetes, Docker, AWS, CDN
- Highly scalable REST and GraphQL API design & implementation experience
- Experience with localization, translations and Web Content Accessibility Guidelines (WCAG 2.0)
- Track record of anticipating technical problems that will fall out of major projects and designing solutions to overcome those problems
- Demonstrated expertise with building or significantly improving large systems involving stability, performance, and scalability
- Experience in automated testing, including unit and functional testing frameworks as well as automated end-to-end system testing
- Understanding of object-oriented programming language (Java, Ruby, TypeScript)
- Excellent communication skills
- Experience with Agile software development
Procore Technologies is building the software that builds the world. We provide cloud-based construction management software that helps clients more efficiently build skyscrapers, hospitals, housing complexes, and more. At Procore, we have worked hard to create and maintain a culture where you can own your work and are encouraged and given resources to try new ideas. Check us out on Glassdoor to see what others are saying about working at Procore.
We are an equal opportunity employer and welcome builders of all backgrounds. We thrive in a diverse, dynamic and inclusive environment. We do not tolerate discrimination against employees on the basis of age, color, disability, gender, gender identity or expression, marital status, national origin, political affiliation, race, religion, sexual orientation, veteran status, or any other classification protected by law.
Perks & Benefits
You are a person with dreams, goals, and ambitions—both personally and professionally. That's why we believe in providing benefits that not only match our Procore values (Openness, Optimism, and Ownership) but enhance the lives of our team members. Here are just a few of our benefit offerings: competitive health care plans, flexible paid time off (Procore Values Time), employee stock purchase plan, employee enrichment and development programs, and volunteer days.