Senior Infrastructure Engineer
San Mateo, California /
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 scalabley provide abstracted access to objects
Skills and experience:
- 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
In keeping with our beliefs and goals, no employee or applicant will face discrimination/harassment based on: race, color, ancestry, national origin, religion, age, gender, marital domestic partner status, sexual orientation, gender identity, disability status, or veteran status. Above and beyond discrimination/harassment based on 'protected categories,' we also strive to prevent other, subtler forms of inappropriate behavior (e.g., stereotyping) from ever gaining a foothold in our office. Whether blatant or hidden, barriers to success have no place at OneSignal.