This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
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 customer engagement, we enable over a million businesses to keep their users engaged and up to date by delivering billions of messages daily. The Email team at OneSignal develops the UI and API powering our market-leading email services. This product-focused team builds out scalable solutions to complex problems such as campaign warmups, message personalization, and link tracking. We’re continually improving our product to enhance our customers’ experience and empower them to create effective and impactful messaging campaigns. We move quickly to deliver value to our customers, while maintaining a high standard for reliability and functionality. As a Senior Software Engineer, you'll be expected to take ownership of end-to-end projects that require developing in multiple languages across the stack. Your ability to consider performance characteristics, user experience, and maintainability of systems will be critical to success in this role. Your contributions will shape the way household brand names engage with their users. You will drive organizational proficiencies in key technologies and technical areas, such as scalable architecture and programming language expertise.
Job Responsibility:
Collaborate with Product Managers, Designers, and Engineers to implement new features for our Customer Engagement products, using TypeScript, Ruby, and Rust
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 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 engineers, drive alignment on proposed solutions, and prototype draft implementations
Requirements:
6+ years of professional software development experience
Experience with TypeScript and at least one system programming language (Rust, Go, Ruby, etc)
Ability to own and deliver end to end software functionality from design/architecture, through implementation, testing, production, release, and monitoring
Ability to manage complex cross-team coordination and work closely with product owners
Familiarity with frontend code-testing tools like react-testing-library, cypress, and storybook
Ability to evaluate and communicate different engineering solutions and trade-offs
A strong willingness to learn new technologies rapidly
Experience designing RESTful and/or gRPC APIs
Nice to have:
Experience working with backend distributed systems at scale
Experience with event streaming framework such as Apache Kafka
Experience working with analytics and observability tools like Mixpanel and Rollbar
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.)