**Full-time availability required: 9am to 5pm PST**
We need a backend engineer who is strong in MySQL performance and operational excellence on AWS RDS. This role is focused on writing and optimizing SQL, preventing slow queries before they impact customers, and building reliable tooling and monitoring for database operations.
This is for someone who has owned database performance in production and can partner closely with product engineering teams on efficient data access patterns.
Responsibilities
Write, review, and optimize complex SQL queries (MySQL) for high-traffic production workloads
Diagnose slow queries using EXPLAIN/ANALYZE, index strategies, query rewrites, and schema adjustments
Implement preventative solutions (query patterns, guardrails, limits, caching strategies where appropriate) to reduce latency and load
Partner with product engineering teams to design efficient data access patterns and avoid N+1 and other performance anti-patterns
Build internal tools for database operations (migrations support, safe query tooling, job automation, runbooks)
Set up and improve database monitoring and alerting for AWS RDS (performance, replication/IO, connections, locks, storage)
Support incident response related to database performance and reliability, including postmortems and remediation plans
Qualifications
Strong backend experience with Python in production systems
Deep hands-on experience with MySQL query optimization and indexing in real-world workloads
Production experience operating AWS RDS for MySQL (parameter groups, storage/IO considerations, backups, read replicas)
Proven ability to troubleshoot performance issues (locks, long-running transactions, connection saturation, IO bottlenecks)
Experience implementing monitoring and alerting (CloudWatch, Performance Insights, or equivalent)
Ability to communicate clearly with product engineers and propose practical, measurable improvements
Comfortable shipping operational tooling with safe rollout practices and documentation
Nice to have
Experience with ORM performance tuning (e.g., SQLAlchemy, Django ORM) and query profiling
Familiarity with caching and data access strategies (Redis, request-level caching, batching)
Experience with migration tooling and online schema change approaches
Familiarity with load testing and query benchmarking
Experience designing schemas for scale (partitioning strategies, archival strategies)
Additional Notes
To be considered, you must complete a live coding interview.
Our simple 3-step process:
Answer a few questions about your experience.
Upload your CV.
Record a brief video introduction (up to 2 minutes).
***All answers must be in English.***
FAQs:
What’s the next step? If successful, you’ll have one more interview before receiving a job offer if you're a good fit.
What happens after submission? We’ll review your application within 2–3 business days and contact you if you qualify for the next stage.
When would I start? As soon as possible, with flexibility to accommodate your circumstances.
How long does it take? About 5-10 minutes to complete.
We look forward to reviewing your application!