Senior Backend Engineer

San Mateo, California /
Engineering /
We're looking for an engineer interested in writing Rust. Experience with the language is not required, but we are looking for experience in some sort of statically typed language and a couple years of experience.

We have several projects using Rust today including the OnePush delivery service, pstats, our stats daemon that runs on each server, and oscachemgr, a cache manager for our front end servers. We've recently started another Rust project pertaining to analytical work on our ever-growing data set. We're also starting to plan a project to integrate Rust into our Rails application.

In addition to the Rust projects, business needs may at times require you to work on another part of the application such as Rails or infrastructure.

What you'll do:

    • Work closely with a small team shipping lots of code
    • Write Rust and Ruby
    • Add features to and improving our push delivery service
    • Work on native Rust extensions to our Rails application
    • Open source contributions - we have contributed patches to several crates and released one of our own. We aspire to do more of this as time progresses
    • Contribute to our stats monitoring process (Rust) which runs on all of our servers
    • Architect solutions to address our scaling needs
    • Design and build a custom message queue

Skills and experience:

    • 5+ years of experience writing software for distributed systems
    • Experience writing with a statically typed language such as Rust, C++, etc
    • Solid understanding of web service architecture, systems and how they fit together such as: http clients, DNS, load balancers, reverse proxies, CDNs, application servers (ex. Rails), databases, and caches
    • Open to learning and writing Rust and Go
    • Proficiency in written and oral communications
    • Ability to collaborate well on a team
    • Friendliness and empathy
    • Modesty
    • Can deliver solutions independently
    • Love of learning

Preferred skills and experience:

    • Experience extending an interpreted language with native code
    • Familiarity with Redis, PostgreSQL and Kafka
    • Proficiency with Linux systems
    • Familiarity with POSIX C APIs
    • Understanding of how multiplexed I/O works
    • Again, these are nice-to-haves. Even if you don't know them, we hope you are interested in learning them!
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 at OneSignal.