Senior Software Engineer, Core Services Team
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 12 billion 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 venture-backed by SignalFire, Rakuten Ventures, Y Combinator, HubSpot, and BAM Elevate (read more about our recent Series C!). We offer remote work as the default option in the United States in California, New York, Pennsylvania, Texas, Utah and soon - 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 in the NYC area. 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.
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 Senior 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 5 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, or a strong willingness to learn these two languages quickly
- 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 $160,000 to $180,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.