Klaviyo is looking to solve the problem of collecting, distributing, and orchestrating data movement into and out of Klaviyo and between Klaviyo domains through a variety of protocols and delivery mechanisms, handling billions of interconnected data points with a wide range of freshness, consistency, and interoperability requirements.
Requirements
- 12 years of experience in software development, strong knowledge of computer science fundamentals, domain-driven design, and extensive expertise in architectural patterns, specifically within the domain of distributed systems.
- Proven expertise in applying relevant design patterns to implementing highly-scalable multi-tenant systems.
- 8 years of experience testing, developing, and launching complex software products, and 5 years of hands-on experience in software design and system architecture, with a focus on reliability, fault-tolerance, and high performance.
- Solid foundation in data processing systems, experience with big data stack, and expertise in building stream/batch processing applications
- Familiarity with multi-dimensional data modeling, data change management, data warehousing, data governance concepts, and serverless data architectures.
- Experience with Python, Django, FastAPI, Apache Kafka, Apache Pulsar, RabbitMQ, Spark, Airflow, and other tech from the big data stack
- Experience with MySQL, PostgreSQL, Clickhouse, Redis, Typescript, React, Babel, Jest, Webpack, Graphite, statsd, Grafana, AWS, Terraform, Docker, Kubernetes, Pantsbuild, Jenkins, Argo
Responsibilities
- Define technical strategy within the scope of Data Exchange and execute to improve the area's architecture, products, infrastructure, and processes.
- Lead the technical evolution of the area, overseeing multiple teams and ensuring alignment with your pillar objectives, company goals, and long-term strategy.
- Act as domain leader and the interface between a group of teams and the rest of the organization.
- Strategize and execute independently and through others.
- Set direction for multiple teams in partnership with their managers.
- Mentor other engineers regularly, primarily experienced lead and senior engineers.
- Ensure others in the area are developing skills they need to improve within the organization.
Other
- BA or BS Degree in Computer Science, related field, or equivalent experience.
- Exceptional communication skills, 4 years of experience disseminating a technical vision through multiple scrum teams and across the organization
- Ability to work with stakeholders including customers, product managers, cross-functional partners, and external partners.
- Ability to mentor seasoned engineers, focusing on leads and seniors with 7-12 years of experience.
- Travel requirements not specified, but may be required for collaboration with teams and stakeholders.