Software Engineer - VoIP (Go/Rust)

Remote-first

Fully flexible hours

Dog friendly

Employment type
Full time

Who We Are

Element is the startup that employs the core team behind matrix.org— the leading project for secure, open decentralised communication.

Matrix’s mission is to make messaging as open as email — allowing everyone to choose where their data is hosted, enjoy private conversations thanks to advanced encryption, and ultimately be in control of their own communication.

Matrix powers Element, our flagship messaging apps for the web, iOS & Android, along with Element Matrix Services (EMS), our SaaS platform for personal & professional use.

We build things for everyone, and we know we can’t succeed without a diverse team. Our hiring process is designed to be humane and give candidates the best chance to show us what you can do. If we ever fall down on this, please let us know.

The Role

Element is heavily investing in building out Matrix as the missing signalling layer for WebRTC: providing an open and decentralised E2EE transport for negotiating media streams and data channels. On top, we have recently extended Matrix to support scalable decentralised E2EE group voice and video calling too (MSC3401). These are the base building blocks for visionary applications such as Element Call as well as the open metaverse (aka third room).

For the sake of scalability and reliability in conferencing, a selective forwarding unit (SFU) has proven to be one of the crucial components. The concept is already part of MSC3401. The VoIP team will be responsible for designing and implementing a Matrix compatible SFU which can be extended to support a generic media connector model. We also aim to connect to more legacy systems, e.g., SIP / PSTN, as we are trying to work on interoperability with a unified collaboration & communication vision.

Currently Element Call relies on a full-mesh node setup. You’d come along to help evolve the SFU, using a modern stack that ensures future compatibility and an end-to-end responsibility for VoIP conferencing.

Our VoIP team ensures that there is a communication layer for an open metaverse, so this is a great chance to make a big impact on the future of communication.

Since (almost) everything we do is open source you can get a great feel for exactly what it would be like to work on the team, come and say hi!

Requirements

As part of our VoIP Team you are fascinated by real-time audio and video processing. You enjoy exciting challenges and work scientifically on cutting-edge technologies. You will be responsible for developing audio / video infrastructure components and services. Your ideas and work will improve our real-time communication platform which is used by several million users per day.

The most important thing is that you believe passionately in the mission of decentralisation of the internet. More specifically that you believe that communications should not be centralised in the hands of a small number of very large organisations and instead individuals should control their own data and choose who they share it with.

Additionally we are looking for someone who is:

  • Smart, curious and enthusiastic
  • Likes to ship early and often
  • Likes to write tests :)
  • A tireless advocate of code quality (understanding the need for trade-offs in the short term whilst keeping us honest in the long term)
  • Enjoys working in an Agile / Lean development environment
  • Is articulate and empathetic.

Your experience

We don’t have hard requirements, we just want to build the best possible team, but as a bonus it would be great if some of the following are true.

  • Knowledge in real-time streaming of live-media (WebRTC)
  • Experience in legacy VoIP protocols like SIP
  • Knowledge of Linux, Docker
  • Experience maintaining and / or contributing to open source projects
  • Experience working in a continuous delivery environment
  • Ideally you worked with Go or Rust already

If you have any questions before making an application reach out to Adam (adamt@element.io).

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.

That said specific points that differentiate us.

  • Yearly bonus and meaningful equity options.
  • Mentoring by our experienced subject-matter experts
  • Work (almost) full time on FOSS projects with high visibility and a large enthusiastic community
  • The chance to work with large scale governmental installations through to high profile FOSS projects such as Mozilla or KDE.
  • Option to work partially or fully remote (our head office is in London), we offer flexibility and consider ourselves to be a family friendly environment.
  • People tend to stay with the company for a long time, we take this as 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.exual orientation, gender identity or any other reason prohibited by law in provision of employment opportunities and benefits.

Apply now
Element
App
Messaging
Security
View company profile

Remote-first

Fully flexible hours

Dog friendly