Ookla is looking for a Staff Software Engineer to design, implement, and scale systems that ingest, process, and serve billions of data points, enabling mission-critical insights for millions of users worldwide.
Requirements
- Strong expertise in Go (primary language), with solid experience in at least one additional backend language (e.g., Python, Java, or Ruby).
- Deep experience with cloud-native architectures on AWS, including containerization and orchestration (ECS, EKS, Kubernetes).
- Proven ability to design high-performance APIs, microservices, and event-driven systems.
- Strong understanding of data engineering fundamentals: streaming (Kafka, Kinesis), storage formats (Parquet, Iceberg), and query engines (Athena, Singlestore, Presto).
- Proficiency with SQL and NoSQL databases (PostgreSQL, DynamoDB, Redis, Redshift).
- Experience implementing observability stacks (metrics, tracing, logging) and resilience patterns (circuit breakers, retries, failover).
- Familiarity with real-time analytics, data governance, or ML/AI infrastructure.
Responsibilities
- Design and build scalable, fault-tolerant backend systems in Go, ensuring high throughput and low latency for massive data pipelines.
- Develop and optimize distributed data processing architectures leveraging AWS services (e.g., S3, Athena, Lambda, Redshift, Glue, ECS/EKS).
- Architect solutions for real-time data ingestion and transformation, powering analytics, ML/AI pipelines, and user-facing features.
- Champion best practices in system design, including observability, performance tuning, and security.
- Mentor and guide engineers across teams, elevating engineering standards and fostering technical excellence.
- Partner closely with product managers, scientists, and business stakeholders to translate requirements into robust engineering solutions.
- Lead technical roadmap initiatives, balancing short-term delivery with long-term scalability and maintainability.
Other
- 8+ years of backend engineering experience, with at least 4+ years in senior/staff-level roles designing complex distributed systems.
- Excellent troubleshooting and analysis skills
- Strong communication skills both in person and via virtual mediums
- Strong planning and time management skills
- A self-driven work ethic