Full Stack Software Engineer
Procore Technologies
Summary
Join Procore's Payment Documents Team as a Senior Software Engineer and contribute to the technical direction of our projects. You will design, build, and ship software, evolving our monolithic Rails application into a modular system. Responsibilities include writing high-performance code, participating in system design aligned with a service-oriented architecture, and collaborating with cross-functional teams. This role requires a Bachelor's degree in Computer Science or a related field, 5+ years of software engineering experience, and expertise in various technologies. The position is based in Egypt offices with remote work options and offers a comprehensive benefits package.
Requirements
- 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
Responsibilities
- 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
- Serve as mentor to junior Engineers on team
Preferred Qualifications
Experience with development in Docker, AWS, and microservice environments
Benefits
- Generous paid time off
- Healthcare coverage
- Career enrichment and development programs
- Remote work