Job Description What if you could use your technology skills to develop a product that impacts the way communities hospitals, homes, sports stadiums, and schools across the world are built? Construction impacts the lives of nearly everyone in the world, and yet it s also one of the world s least digitized industries. That s why we re looking for a talented Software Engineer II to join Procore s journey to revolutionize a historically underserved industry. As a Software Engineer II at Procore, 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 will report to an Engineering Manager and will be based in our Cairo, Egypt location. We re looking for someone to join our team immediately. What you'll do • Evolve our existing codebase from a monolithic Rails application into a modular system with clear, well-enforced domain boundaries and a coherent public interface • Develop and maintain software solutions within the Financials domain, focusing on payment-related products. • Contribute to designing and building a system that is aligned with Procore s technical vision of a service-oriented architecture • 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 effectively with teammates by conducting code reviews, providing mentorship, pairing, and training opportunities • Serve as mentor to junior Engineers on the team What we're looking for • Bachelor s Degree in Computer Science, a related field, or comparable work experience • 3+ years of experience in Object-Oriented Programming fundamentals, Test Driven Development and Design principles • Familiarity with any of these Backend technologies ( Java - PHP- Ruby on Rails) • Strong experience working on full-stack modern applications and frameworks with Ruby on Rails, React/Typescript, and PostgreSQL • Experience designing and building software in a service-oriented architecture • Time-honed expertise with modern web development across the entire spectrum of development, testing, staging, deploying, and monitoring • Experience with development in Docker, AWS, and microservice environments • Understanding of the tradeoffs between technical, analytical, performance, and product goals, and adept at formulating solutions that balance all of these needs • Strong experience documenting and bringing team clarity to complex solutions • A curious mind that is driven to innovate and solve customer problems