Staff Software Engineer, Core
OneSignal is a leading omnichannel customer engagement solution, powering personalized customer journeys across mobile and web push notifications, in-app messaging, SMS, and email. On a mission to democratize engagement, we enable over a million businesses to keep their users - including readers, fans, players and shoppers - engaged and up to date by delivering billions of messages daily.
1 in 5 new apps launches using OneSignal! We support companies in 140 countries, including Zynga, USA Today, Bitcoin.com, Eventbrite, Tribune, and many more - from startups and small businesses just getting off the ground to established companies communicating with millions of customers.
We’re Series C, venture-backed by SignalFire, Rakuten Ventures, Y Combinator, HubSpot, and BAM Elevate. We offer remote work as the default option in the United States in California, Colorado, Massachusetts, New York, New Jersey, Oregon, Pennsylvania, Texas, Utah and Washington. As well as in the UK and Singapore - with plans to expand the locations we support in the future. Some roles are hybrid roles and will be listed as such. We have offices in San Mateo, CA and London, UK, and offer flex seating options for employees to work together in-person where we don't have offices. Hiring in Singapore is done in partnership with a local PEO.
OneSignal has a lot of the great tech startup qualities you'd expect, but we don't stop there. Our massive scale and small team, emphasis on healthy life balance and kindness in all our interactions, and focus on ownership and personal growth make OneSignal a uniquely great place to work.
Scylla, Postgres, ClickHouse, and Redis comprise the core of our data infrastructure. As such, they need to be performant and reliable for all our use cases.
As a Scylla & DB focused Software Engineer, you will primarily take ownership of our Scylla clusters and ensure they are used and managed with best practices at scale. This includes improving uptime, latency, restorability, partitioning, etc. You will also work closely with other engineers in moving and replicating data to optimal data stores.
Your secondary responsibilities will include learning Postgres and ClickHouse - schema and query design, partitioning strategies, etc, along with writing microservices.
Please consider applying even if you don’t meet all of the desired qualifications.
- Optimize a scaling strategy for our high performance Scylla clusters
- Design and optimize schemas, queries, indices, caches and more, primarily for Scylla, eventually for Postgres and ClickHouse
- Conduct data analysis and performance monitoring to identify areas for optimization and enhancement
- 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 with the team to efficiently resolve production issues and ensure the system scales smoothly to meet the growing demands of our customers.
- Stay up-to-date with the latest industry trends and technologies, incorporating new ideas into our engineering processes
- Participate in production on-call rotation
- Debug production issues by utilizing metrics, logs, and distributed traces
- Design synchronous and asynchronous APIs for communicating between services in a large distributed system
- Significant experience optimizing Scylla at scale
- At least 8 years experience working as a software engineer
- Ability to work on a self-motivated team, high performing team
- 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
- Experience with any of Redis, Kafka, Postgres, 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.
Qualities we look for:
- Friendliness & Empathy
- Accountability & Collaboration
- Proactiveness & Urgency
- Growth Mindset & Love of Learning
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 in our workplace.
Applicants with disabilities may be entitled to reasonable accommodation under the terms of the Americans with Disabilities Act and certain state or local laws. A reasonable accommodation is a change in the way things are normally done which will ensure an equal employment opportunity without imposing undue hardship on OneSignal. Please inform us if you need assistance completing any forms or to otherwise participate in the application and/or interview process.
OneSignal collects and processes personal data submitted by job applicants in accordance with our Privacy Policy - including GDPR and CCPA compliance. Please see our privacy notice for job applicants.
Apply for this job
*
indicates a required field