Senior Infrastructure Engineer at OneSignal
About the role
OneSignal has grown rapidly to where we are today serving billions of HTTP requests daily and sending upwards of over 8 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 Infrastructure Engineers to help us continue to scale by operating and engineering the future of our infrastructure. We are maintaining 99.95% uptime today, and we are investing to ensure we maintain that as then 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.
The systems you'll be responsible include all of the services which power our product. This ranges from off-the-shelf services like haproxy, nginx, Redis, PostgreSQL, Kafka, Kubernetes, etc. to our in-house services such as our Rust-based OnePush service, and our high performance API layer written in Go.
You'll be working with Kubernetes to automate our datacenter operations and writing operational services to automate database operations. One of the key challenges in this role is to not only understand systems to the point of being able to manually operate by hand, but also to understand in sufficient detail to write software systems to automate such operations.
In a typical month, an Infrastructure Engineer at OneSignal might:
- 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
- Add new code to the system to enable messaging users on a new platform
- 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
What you'll bring:
- At least 5 years experience working as a software engineer
- Experience operating reliable production systems at scale
- Knowledge of Linux systems internals
- Easily bored running tasks by hand and the ability to automate such tasks
- Experience with PostgreSQL
Preferred skills and experience:
- Operational experience deploying and managing Kubernetes on bare metal
- Experience writing Kubernetes controllers and operators
- Recent experience writing Go and/or Rust
- Past experience writing and running code in a large production environment
- Experience with any of Redis, Kafka, etcd, ZooKeeper, nginx, haproxy, Scylla
Why you should join OneSignal
We started as app developers who just wanted a developer-friendly API for push notifications. Finding no good solution, we built one ourselves.
Today, OneSignal is the leading solution for sending effective messages across channels including mobile push notifications, web push notifications, in-app messaging, SMS, and email. We support over 1,400,000 of the world's leading marketers and developers.
OneSignal is available on every platform and development environment, letting content creators focus on quality user engagement instead of complex implementation.
Covid-19's Impact on OneSignal
Covid-19 has accelerated OneSignal's growth. Near the beginning of Covid, we saw a 20%+ increase in new accounts created for OneSignal each day and a 20%+ increase in daily message delivery volume. This trend has continued as more businesses seek to better engage with their customers on digital channels.
We are growing faster than ever, and hiring in all departments. We hope you'll apply and we look forward to meeting you!