Job Ad
We're looking for a
Senior Software Engineer - Data
to join the Graph & Insights team within Procore's Construction Intelligence division. In this role, you'll build and scale the data platform that transforms construction project data into connected, queryable knowledge — enabling teams across Procore to surface insights, identify risks, and make smarter decisions.
As a
Senior Software Engineer - Data
, you’ll partner with other engineers, data scientists, and product managers across Product & Technology to design and evolve the data architectures that power our "Helix AI" ecosystem. A core part of this role is focusing on
data modeling, graph-based relationships, and high-throughput processing
, ensuring that our construction intelligence tools are both performant and deeply insightful.
This position reports to the Engineering Manager for Construction Intelligence and will be based in our
Cairo office
. We’re looking for someone to join us immediately.
What you’ll do:
-
Create scalable data pipelines and microservices using a variety of technologies such as Java, Flink, Kafka, and Airflow.
-
Participate in designing and building systems that are aligned with Procore’s technical vision of a service-oriented architecture.
-
Design and maintain graph data models and relationship-based architectures to provide a unified view of construction data.
-
Work up and down the stack to ship code for our microservices and Flink jobs, and dive deep into the database layer to handle complex relational and graph querying needs.
-
Implement and maintain algorithms and techniques to reduce data redundancy.
-
Work in building applications using LLMs and GAIs.
-
Monitor, analyze, and optimize the performance of our data pipelines and graph platforms.
-
Maintain and evolve our data platforms to have clear domain boundaries and a coherent public interface, in alignment with Procore's technical vision.
-
Mentor junior engineers within the team, providing guidance and support.
-
Work with other engineers and stakeholders to ensure the success of our platforms.
-
Collaborate with Engineering, Product, and UX to design and build solutions that delight users and solve critical business problems.
What we’re looking for:
-
Bachelor's degree in Computer Science, Engineering, or a related field.
-
5+ years of experience in Object Oriented Programming fundamentals, Test Driven Development, and Design principles.
-
Strong experience building and optimizing data pipelines, architectures, and datasets, with a focus on both real-time streaming and batch processing using Spark or Flink.
-
Professional experience working with Graph Technologies (such as Neo4j or similar) and writing optimized relationship-based queries.
-
Strong understanding of software and data engineering principles and practices.
-
Experience with a variety of data technologies, including Apache Flink, Apache Kafka, GraphQL, REST APIs, DynamoDB, Elastic Search, MongoDB, and Graph Databases.
-
Experience with running services on Kubernetes and familiarity with Helm charts and Terraform.
-
Experience in cloud environments like AWS, GCP, or Azure.
-
Experience with data deduplication algorithms and techniques.
-
Experience with deploying machine learning and statistical modeling.
-
Excellent problem-solving, communication, and teamwork skills.
-
Familiarity with Python, Java, and PHP for general scripting and software development.
-
Experience with using Large Language Models for building applications is a plus.