As a Principal Engineer, you’ll get the opportunity to be a hands-on engineer, learning best practice engineering processes and approaches whilst receiving ongoing development through coaching, mentoring and pairing with other engineers on your team. From problem-solving to challenging old ways of thinking, you will have the opportunity to unleash your full potential and creativity whilst working with cutting edge technologies in a dynamic and collaborative team.
About the Team
The Data Platform team is responsible for building ETL Pipelines that fuel the Data Platform at Rapid7. Moving Product Data into our Data Platform for product teams to develop new features, enhance existing features and build shared experiences to create value for customers across the world.
We have a cutting edge data stack including Kafka, K8s, Spark and Iceberg.
About the Role
The Principal Engineer role is a part of our Data Platform Engineering team. In this role you will be focussed on helping our product teams move data into our Data Platform for in product experiences and product analytics.
As a Principal Engineer on the Data Platform Engineering team, you will be responsible for architecting and scaling streaming and batch data pipelines, while also designing the CI/CD infrastructure that ensures efficient development and deployment of data services. You will play a key role in shaping the architecture of our data platform, collaborating with cross-functional teams to deliver highly available, performant, and scalable solutions for both real-time and large-scale data processing.
In this role, you will:
1. Architect and implement a highly scalable Data Platform that supports Change Data Capture (CDC) using Debezium and Kafka for data replication across different databases and services.
2. Design and maintain large-scale data lakes using Apache Iceberg, ensuring efficient data partitioning, versioning, and schema evolution to support real-time analytics and historical data access.
3. Build and optimize CI/CD pipelines for the deployment and automation of data platform services using tools like Jenkins.
4. Lead the integration of Apache Spark for large-scale data processing and ensure that both batch and streaming workloads are handled efficiently.
5. Collaborate with our Platform Delivery teams to ensure high availability and performance of the data platform, implementing monitoring, disaster recovery, and automated testing frameworks.
6. Provide technical leadership and mentoring to junior engineers, promoting best practices in CDC architecture, distributed systems, and CI/CD automation.
7. Ensure that the platform adheres to data governance principles, including data lineage tracking, auditing, and compliance with regulatory requirements.
8. Stay informed about the latest advancements in CDC, data engineering, and infrastructure automation to guide future platform improvements.
9. Work closely with product and data science teams to understand business requirements and translate them into scalable and efficient data platform solutions.
10. Stay current with the latest trends in data engineering and infrastructure, making recommendations for improvements and introducing new technologies as appropriate.
The skills you’ll bring include:
11. 10+ years of experience in software engineering with a focus on data platform engineering, data infrastructure, or distributed systems.
12. Expertise in building data pipelines using Apache Kafka or similar for ingesting, processing, and distributing high-throughput data.
13. Strong experience designing and managing CI/CD pipelines for data platform services using tools such as Jenkins.
14. Experience with Apache Iceberg (or similar Delta Lake/Apache Hudi) for managing versioned, partitioned datasets in data lakes with an understanding of Apache Spark for both batch and streaming data processing, including optimization strategies for distributed data workloads.
15. Expertise in designing distributed systems and managing high-throughput, fault-tolerant, and low-latency data architectures.
16. Strong programming skills in Java, Scala, or Python.
17. Experience with cloud-based environments (AWS, GCP, Azure) and containerized infrastructure using Kubernetes and Docker.
18. The attitude and ability to thrive in a high-growth, evolving environment
19. Collaborative team player who has the ability to partner with others and drive toward solutions
20. Strong creative problem solving skills
21. Solid communicator with excellent written and verbal communications skills both within the team and cross functionally
22. Passionate about delighting customers, puts the customer needs at the forefront of all decision making
23. Excellent attention to detail
We know that the best ideas and solutions come from multi-dimensional teams. That’s because these teams reflect a variety of backgrounds and professional experiences. If you are excited about this role and feel your experience can make an impact, please don’t be shy - apply today.
#LI_FB1