Job Type
Work Type
Location
Experience
We re looking for Senior Software Engineer to join Payment Documents Team in the Financial Division. In this role, you ll join our highly collaborative Product and Engineering organization to drive the technical direction of our projects.
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, we would love for you to join us!
This position reports to Engineering Manager and will be based in Egypt offices, employees can work remotely. We re looking for someone to join us 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
Write a highly performant code that minimizes payload size and deferred scripts while consuming the lowest possible amount of resources
Participate in designing and building a system that is aligned with Procore s technical vision of a service-oriented architecture
Work to ship code for our Rails and Java backend and dive deep into the database layer to handle complex querying needs
Collaborate with Engineering, Product, and UX to design and build solutions that delight users and solve critical business problems
Experience with development in Docker, AWS, and microservice environments
Serve as mentor to junior Engineers on team
What 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 (React JS, TS, JavaScript, NodeJS, Java or similar languages preferred)
Experience designing and building software in a Service-Oriented Architecture
Understanding the tradeoffs between short-term and long-term goals and 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
Experience working with our stack of React JS, TS, JavaScript, NodeJS, Java , and PostgreSQL
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
A curious mind that is driven to innovate and solve customer problems