1

Backend Engineer

 3 years ago
source link: https://onesignal.com/careers/90cfa84c-5d78-47e8-a3f3-5cbaddd0ca89
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Backend Engineer

San Mateo, California

Apply For PositionView All Jobs

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 codeWrite Rust and RubyAdd features to and improving our push delivery serviceWork on native Rust extensions to our Rails applicationOpen source contributions - we have contributed patches to several crates and released one of our own. We aspire to do more of this as time progressesContribute to our stats monitoring process (Rust) which runs on all of our serversArchitect solutions to address our scaling needsDesign and build a custom message queue

Skills and experience:

3+ years of experience writing software for distributed systemsExperience writing with a statically typed language such as Rust, C++, etcSolid 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 cachesOpen to learning and writing Rust and GoProficiency in written and oral communicationsAbility to collaborate well on a teamFriendliness and empathyModestyCan deliver solutions independentlyLove of learning

Preferred skills and experience:

Experience extending an interpreted language with native codeFamiliarity with Redis, PostgreSQL and KafkaProficiency with Linux systemsFamiliarity with POSIX C APIsUnderstanding of how multiplexed I/O worksAgain, these are nice-to-haves. Even if you don't know them, we hope you are interested in learning them!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK