Staff Software Engineer - Core
About The Team:
OneSignal has grown rapidly. Today we are serving billions of HTTP requests 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.
The Core Services team enables product development at OneSignal through the design, development, and operations of cross-cutting horizontal services which form the backbone of our technical stack. This includes the delivery pipeline, responsible for delivering billions of push notifications, SMS, and emails every day, gRPC services written in Go and Rust, and Kafka consumers written in Rust. You will work with Rust, Go, Ruby, gRPC, Redis, Kafka, Scylla, PostgreSQL and Kubernetes.
As a Staff Software Engineer, you'll have the autonomy to take ownership of significant projects and directly impact our platform's performance and features. Your expertise will shape the way businesses engage with their users. Working remotely, you'll have the flexibility to create a schedule that works best for you, allowing you to excel professionally and personally.
What You'll Do
Collaborate closely with fellow engineers to architect and implement services required to back OneSignal’s product offerings
Help optimize a scaling strategy for our high performance Postgres and Scylla clusters
Design and optimize schemas, queries, indices, caches and more across Postgres and Scylla
Actively participate in peer code reviews and Technical Design Spec reviews, providing valuable technical insights to continuously improve our code base
Work with the team to efficiently resolve production issues and ensure the system scales smoothly to meet the growing demands of our customers.
Conduct data analysis and performance monitoring to identify areas for optimization and enhancement
Stay up-to-date with the latest industry trends and technologies, incorporating new ideas into our engineering processes
Participate in production on-call rotation
Ability to work independently in uncertainty and drive multiple experiments to arrive at a solution to unblock business and customer operations
Debug production issues by utilizing metrics, logs, and distributed traces
Design synchronous and asynchronous APIs for communicating between services in a large distributed system
What You'll Bring:
At least 8 years experience working as a software engineer
Significant experience optimizing high performance databases such as Postgres, ScyllaDB, Cassandra or related at scale
Experience operating reliable production systems at scale
Easily bored running tasks by hand and the ability to automate such tasks
Experience with distributed system event streaming framework such as Apache Kafka
Experience with Rust, Golang or other lower level languages. Those with backgrounds in interpreted languages may have a steeper learning curve with Rust, but if you have worked on core components of very high throughput systems, please apply
Ability to reason about how data flows through distributed systems
Experience with Docker and Kubernetes
We value a variety of experiences, and these are not required. It would be a added bonus if you have experience in any of the following:
Experience with any of Redis, Kafka, ClickHouse, gRPC
Experience profiling applications to improve performance in terms of time/CPU/memory
Experience debugging issues in distributed systems
The New York and California base salary for this full time position is between $190,000 to $210,000. Your exact starting salary is determined by a number of factors such as your experience, skills, and qualifications. In addition to base salary, we also offer a competitive equity program and comprehensive and inclusive benefits.
About the job
Apply for this position
Staff Software Engineer - Core
About The Team:
OneSignal has grown rapidly. Today we are serving billions of HTTP requests 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.
The Core Services team enables product development at OneSignal through the design, development, and operations of cross-cutting horizontal services which form the backbone of our technical stack. This includes the delivery pipeline, responsible for delivering billions of push notifications, SMS, and emails every day, gRPC services written in Go and Rust, and Kafka consumers written in Rust. You will work with Rust, Go, Ruby, gRPC, Redis, Kafka, Scylla, PostgreSQL and Kubernetes.
As a Staff Software Engineer, you'll have the autonomy to take ownership of significant projects and directly impact our platform's performance and features. Your expertise will shape the way businesses engage with their users. Working remotely, you'll have the flexibility to create a schedule that works best for you, allowing you to excel professionally and personally.
What You'll Do
Collaborate closely with fellow engineers to architect and implement services required to back OneSignal’s product offerings
Help optimize a scaling strategy for our high performance Postgres and Scylla clusters
Design and optimize schemas, queries, indices, caches and more across Postgres and Scylla
Actively participate in peer code reviews and Technical Design Spec reviews, providing valuable technical insights to continuously improve our code base
Work with the team to efficiently resolve production issues and ensure the system scales smoothly to meet the growing demands of our customers.
Conduct data analysis and performance monitoring to identify areas for optimization and enhancement
Stay up-to-date with the latest industry trends and technologies, incorporating new ideas into our engineering processes
Participate in production on-call rotation
Ability to work independently in uncertainty and drive multiple experiments to arrive at a solution to unblock business and customer operations
Debug production issues by utilizing metrics, logs, and distributed traces
Design synchronous and asynchronous APIs for communicating between services in a large distributed system
What You'll Bring:
At least 8 years experience working as a software engineer
Significant experience optimizing high performance databases such as Postgres, ScyllaDB, Cassandra or related at scale
Experience operating reliable production systems at scale
Easily bored running tasks by hand and the ability to automate such tasks
Experience with distributed system event streaming framework such as Apache Kafka
Experience with Rust, Golang or other lower level languages. Those with backgrounds in interpreted languages may have a steeper learning curve with Rust, but if you have worked on core components of very high throughput systems, please apply
Ability to reason about how data flows through distributed systems
Experience with Docker and Kubernetes
We value a variety of experiences, and these are not required. It would be a added bonus if you have experience in any of the following:
Experience with any of Redis, Kafka, ClickHouse, gRPC
Experience profiling applications to improve performance in terms of time/CPU/memory
Experience debugging issues in distributed systems
The New York and California base salary for this full time position is between $190,000 to $210,000. Your exact starting salary is determined by a number of factors such as your experience, skills, and qualifications. In addition to base salary, we also offer a competitive equity program and comprehensive and inclusive benefits.