Job DescriptionWe re looking for a Senior Software Engineer to join Procore s Product & Technology Team. Procore software solutions aim to improve the lives of everyone in construction and the people within Product & Technology are the driving force behind our innovative, top-rated global platform. We re a customer-centric group that encompasses engineering, product, product design and data, security and business systems. As a Senior Software Engineer, you are responsible for designing, building, and shipping software using your analytic, pragmatism, and engineering skills to provide solutions adopted by Procore Engineering teams. If you have a passion for solving complex problems unique to running large, highly scalable, resilient systems and want to use your knowledge of software design and architecture, strong problem-solving skills, and desire to learn to continuously improve the experience of our customers and our engineers, we would love for you to join us!This position reports to an Engineering Manager, will be based in Cairo, Egypt.What will you do: • Contribute to designing and building a system that is aligned with Procore s technical vision of a service-oriented architecture• Build underlying platform features that enable customization and platform extensibility by users, first or third-party developers, and our application teams• Use a collaborative approach to make tech design decisions that improve scalability and performance• Write a highly performant code that minimizes payload size and deferred scripts while consuming the lowest possible amount of resources• Collaborate with Engineering, Product, and UX to design and build solutions that delight users and solve critical business problems• Communicate complex problems and solutions to technical and non-technical stakeholders• Collaborate across engineering teams on large-scale initiatives to further Procore's goal to connect everyone in construction on one global platform• Collaborate effectively with teammates by conducting code reviews, providing mentorship, pairing, and training opportunities• Serve as mentor to junior Engineers on the teamWhat we re looking for: • Bachelor s Degree in Computer Science, a related field, or comparable work experience• 5+ years experience in software engineering fundamentals, Test Driven Development and Design principles (Ruby on Rails, Java, PHP, or similar languages preferred)• Experience designing and building software in a service-oriented architecture• Understanding the tradeoffs between short- and long-term goals, balancing immediate needs with strategic initiatives• Track record of anticipating technical problems that will fall out of major projects and designing solutions to overcome those problems• Strong experience documenting and bringing team clarity to complex solutions• Time-honed expertise with modern web development across the entire spectrum of development, testing, staging, deploying, and monitoring• Experience with different datastores (relational, non-relational, graph) is a plus• A curious mind that is driven to innovate and solve customer problems