Clay is a company focused on helping organizations turn growth ideas into reality through creativity and innovation. The Software Engineer on the Performance team will be responsible for identifying and resolving performance bottlenecks in core systems, as well as developing systems to optimize throughput and reliability.
Responsibilities:
- Perform comprehensive analyses of our systems to identify and address performance bottlenecks
- Create and monitor meaningful performance metrics for various components of our services
- Advise other teams within engineering on scalable and performant feature design and implementation
- Address critical scalability challenges such as sharding Postgres and Redis, splitting ECS tasks into multiple services to scale independently, and addressing Node event loop blockages
Requirements:
- A results-oriented mindset and a bias toward impact
- Experience in API latency optimization
- Experience with SQL and related technologies, preferably Postgres
- Experience in a role with a focus on performance aspects
- Experience in query optimization and schema design for relational databases and distributed search engines
- Expertise in any of the following: Redis, Postgres, ElasticSearch, or Opensearch
- Diversity of perspectives and interests. We hope to build a team that is curious, and open-minded
- Experience working with systems & data at scale. May be building large-scale high-performance data pipelines, event ingestion systems, or generally working with larger production systems
- Advanced proficiency in optimizing serverless workloads on AWS
- Experience with our current tech stack: React, Typescript, Python
- AWS services: Aurora (Postgres), Elasticache (Redis), Elastic Container Registry (ECR), ECS (Fargate), Lambda, OpenSearch
- IaC: Terraform
- Deployment tools: CircleCI, Netlify, Playwright
- Observability tools: Cloudwatch, Datadog, Mezmo