Staff Software Engineer - Core Services Team
About The Team:
OneSignal has grown rapidly. Today we are serving billions of HTTP requests and sending over 12 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.
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 over 12 billion 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, and PostgreSQL
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 in both your professional and personal life.
What You'll Do
Collaborate closely with fellow engineers to architect and implement services required to back OneSignal’s product offerings
Actively participate in peer code reviews and Technical Design Spec reviews, providing valuable technical insights to continuously improve our code base
Work together 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
Design storage schemas for relational and non-relational databases
Improve performance of systems through benchmarking and profiling
What You'll Bring
At least 8 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 relational databases
Experience with distributed system event streaming framework such as Apache Kafka
Experience with Rust and/or Golang
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 an added bonus if you have experience in any of the following
Experience with any of Redis, Kafka, Scylla, Apache Cassandra, 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 $205,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 Services Team
About The Team:
OneSignal has grown rapidly. Today we are serving billions of HTTP requests and sending over 12 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.
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 over 12 billion 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, and PostgreSQL
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 in both your professional and personal life.
What You'll Do
Collaborate closely with fellow engineers to architect and implement services required to back OneSignal’s product offerings
Actively participate in peer code reviews and Technical Design Spec reviews, providing valuable technical insights to continuously improve our code base
Work together 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
Design storage schemas for relational and non-relational databases
Improve performance of systems through benchmarking and profiling
What You'll Bring
At least 8 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 relational databases
Experience with distributed system event streaming framework such as Apache Kafka
Experience with Rust and/or Golang
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 an added bonus if you have experience in any of the following
Experience with any of Redis, Kafka, Scylla, Apache Cassandra, 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 $205,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.