Staff Software Engineer – Core
Company | OneSignal |
---|---|
Location | Washington, USA, Pennsylvania, USA, Oregon, USA, California, USA, Texas, USA, Jackson Township, NJ, USA, Colorado, USA, Utah, USA, New York, NY, USA, Massachusetts, USA |
Salary | $190000 – $210000 |
Type | Full-Time |
Degrees | |
Experience Level | Senior |
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
- 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