About The Team:
OneSignal has grown rapidly to where we are today serving billions of HTTP requests daily and sending upwards of over 10 billion messages daily. We achieved this scale by leveraging bare metal cloud and writing scale sensitive components in languages like Rust and Go. This potent combination of high-performance, low-cost hardware with efficient resource utilization has given us an incredible competitive edge.
We are hiring Core Engineers to help us continue to scale by operating and engineering the future of our internal services. We are investing to ensure we maintain high uptime as the business continues to grow and as the product evolves.
Your primary task will be writing software and running that software in a production environment. You'll be building systems to run our product, improving internal services, and advising product teams on architecture as it relates to the operability of the service.
Core engineers are responsible for writing, operating, and maintaining internal services that perform data access, analytics rollup jobs, and serve as the core of OneSignal’s event-driven features. We currently operate multiple gRPC services written in Go and Rust, and many Kafka consumers write in Rust. These services talk to multiple different types of backing data stores such as Redis, PostgreSQL, and Scylla.
What You'll Do:
Troubleshoot and repair an issue with items getting dispatched from Kafka
Assist the support team in determining if a customer report indicates a bug in our system
Help evaluate a new storage technology to further scale our stack
Build in automated limits on a service to prevent abuse
Architect a new service to scalably provide abstracted access to objects
Respond to production incidents in an on-call rotation
At least 5 years experience working as a software engineer
Experience operating reliable production systems at scale
Easily bored running tasks by hand and the ability to automate such tasks
Experience with PostgreSQL
Experience deploying software on Kubernetes
Recent experience writing Go and/or Rust
Experience writing gRPC services
Past experience writing and running code in a large production environment
Experience with any of Redis, Kafka, Scylla
Success story sharing