OneSignal is looking to solve complex problems in customer engagement, specifically in the SMS space, by developing an industry-leading RCS-rich content editor and improving their market-leading text messaging customer engagement solution. They aim to empower brands to create dynamic, interactive experiences and help businesses reach their users in more personal and impactful ways, while maintaining high standards for reliability and functionality at massive scale.
Requirements
- Experience creating extensible, reusable React components
- Experience with TypeScript and at least one system programming language (Rust, Go, Ruby, etc)
- Experience working with backend distributed systems at scale
- Ability to own and deliver end-to-end software functionality from design/architecture, through implementation, testing, production, release, and monitoring
- Ability to evaluate and communicate different engineering solutions and trade-offs
- Experience designing RESTful and/or gRPC APIs
- Experience with event streaming framework such as Apache Kafka
- Experience with Rust or another systems programming language
- Experience with Kubernetes
- Experience with data modeling using at least one database engine (MySQL, PostgreSQL, Redis, Cassandra, ScyllaDB, etc.)
Responsibilities
- Collaborate with Product Managers, Designers, and Engineers to implement new features for our Customer Engagement products, using Rust, TypeScript, and Ruby.
- Conduct code and specification reviews, providing technical insights to improve our features and code base
- Resolve production reliability issues and ensure the system scales to meet the demands of our customers
- Refactor components on the frontend, creating an extensible, reusable, and clean component architecture
- Stay up-to-date with the latest industry trends and technologies, incorporating new ideas into our engineering processes
- Present Technical Specifications to other Staff Engineers, drive alignment on proposed solutions, and prototype draft implementations
Other
- 8+ years of professional software development experience
- Ability to manage complex cross-team coordination and work closely with product owners
- A strong willingness to learn new technologies rapidly
- Friendliness & Empathy
- Accountability & Collaboration
- Proactiveness & Urgency
- Growth Mindset & Love of Learning