# Rust Engineer

**Company:** [Element](http://jobs.workable.com/companies/5eiv8mpUGntMbDmKMbmZgq.md)
**Location:** Remote
**Workplace:** remote
**Employment type:** Full-time
**Department:** Engineering

[Apply for this job](http://jobs.workable.com/view/0c2eb3f7-86d1-4dbb-b751-c6b676f35394)

## Description

**Who we are**

Element is a startup comprised of the core team behind Matrix - the leading project for secure, open-source decentralized communication. Our mission is to make messaging as open and accessible as email, giving users control over their own communication and data.  

**The Role**  

We use Rust throughout our stack at Element from our [SDK written in Rust](https://github.com/matrix-org/matrix-rust-sdk) through to our core Server technology Synapse.

More concretely, you will:-  

-   Work on both sides of the API developing the client SDK and contributing to the migration of our server technology.
-   Ensure that Element's next generation of clients and servers are fast, reliable and a joy to use.
-   Work with our passionate and engaged open-source community.

We are open to remote applications, though the core team are based in Europe and we would prefer a European (or nearby) timezone.  

We work in the open, so you can get a great feel for exactly what it would be like to work on Element. Come and say hi to the team in our [public developer channel](https://matrix.to/#/#matrix-rust-sdk:matrix.org).

If you have questions about the role, please feel free to reach out to Neil on Matrix (@neilj:matrix.org)

## Requirements

### About you

As an open-source organization, we are mission-driven and believe in individuals controlling their own data and communication. Ideally, you are someone who wants to make communication more accessible and open for all.

Additionally, we are looking for someone who is:

-   smart, curious and enthusiastic
-   passionate about building software, people _love_
-   a tireless advocate of code quality (understanding the need for trade-offs in the short term whilst keeping us honest in the long term)
-   empathetic, with both their colleagues and the end user

###   

### Your experience

We don’t have hard requirements for the role, we just want to build the best possible team, but we'd be particularly excited to speak to you if you have experience with some of the following:

-   Experience with Rust and async programming
-   Experience with FFI
-   Experience maintaining and/or contributing to open-source projects
-   Experience in IM communications

## Benefits

Our general approach is to treat people like adults and acknowledge that by being flexible we create an environment for people to do their best work. For more details here is our [manifesto](https://docs.google.com/document/d/1-nIVrMTyiCp1yLIrL62xFNtyJ91SY17LRSTr1_VByno). That said specific points that differentiate us.

-   Work (almost) full time on FOSS projects with high visibility and a large enthusiastic [community](https://hn.algolia.com/?query=matrix.org)
-   Since our technology is relevant to anything that requires real-time comms, the role provides exposure to a wide range of domains from web and app dev through to VR, VoIP and IoT.
-   People tend to stay with the company for a long time, we take this a sign that we have a cohesive supportive culture, that we have engaging challenging work and that people can develop their skills and careers here for the long term.

Element does not discriminate on the basis of race, sex, colour, religion, age, national origin, marital status, disability, veteran status, genetic information, sexual orientation, gender identity or any other reason prohibited by law in provision of employment opportunities and benefits.
