Software Engineer, Core

OneSignal Logo

OneSignal

πŸ’΅ $190k-$210k
πŸ“Remote - United States

Summary

Join OneSignal, a leading omnichannel customer engagement solution, as a Staff Software Engineer and contribute to the design, development, and operation of cross-cutting horizontal services. You will collaborate with fellow engineers, optimize high-performance databases, participate in code reviews, resolve production issues, conduct data analysis, and stay updated on industry trends. This remote-friendly role offers autonomy, flexibility, and the opportunity to significantly impact the platform's performance and features. The position requires at least 8 years of software engineering experience, expertise in optimizing high-performance databases, and experience with distributed systems. OneSignal offers a competitive salary, equity program, and comprehensive benefits.

Requirements

  • 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

Responsibilities

  • 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

Preferred Qualifications

  • 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

Benefits

  • Competitive equity program
  • Comprehensive and inclusive benefits

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.