mashme.io is revolutionizing the unified communication experience. We use leading technology to deliver simplified business communications, video conferencing, and always-on collaboration as the first credible alternative to an in-person meeting. We are a young and funny multinational team that are already blitzing our targets - and we show no sign of slowing down.
We use an open-source project named Licode as our base WebRTC communication platform. On top of this platform, we build our own customizations and a custom wrapper to connect our different web components to the WebRTC stack.
At a glance, Licode is divided into several components: on one hand the SFU, written in C++, and on the other hand a management API and the core and signaling service, using Node.JS. Both parts integrate with each other with a Node.js' C++ addon. It uses RabbitMQ for communication between the different components. You can find more info on the Licode website.
Our WebRTC stack is running on Google Cloud Platform, deployed on GKE (Kubernetes). You will develop locally on a dockerized environment, with GitHub as a code repository and Jenkins as CI pipeline.
On mashme.io we embrace the 'you build it, you run it' philosophy and you will be in charge of production deployments following GitOps with tools like Flux, Helm...
We are looking for a person with a strong knowledge of the WebRTC ecosystem who will help us advance our ability to build a robust and versatile WebRTC platform and who is willing to spread their expertness with the rest of the team.
We love writing clean code and empowering good practices so we are always ready to learn. In addition, we hope you like DevOps mindset as much as we do, if so, you will help us monitor and improve the reliability of our services running in production and add these for the early phases of development on the new ones.
What we expect from you (in no particular order) is to have:
- Deep knowledge in the WebRTC protocol stack and standards (SRTP, ICE, SDP, Turn, ...).
- Knowledge of network protocols and related technologies (NAT, IP, TCP/UDP, ...).
- Experience working with different codecs (H264, VP8, VP9, AV1, ...).
- Understanding of the use of simulcast in a videoconference to improve the quality.
- Experience in distributed WebRTC platforms (preferably in cloud environments) and with a high level of concurrent users.
- Familiarity with SFU / MCU environments.
- Experience in C/C++ multi-threaded programming.
- Willing to teach and learn.
- Experience with network optimizations.
- Experience with client-side JavaScript and Node.js.
- Experience with Websockets.
- Negotiable salary.
- You will be able to work fully remote. We have a long-standing culture of remote work.
- Flexible schedule (always having in mind team compromises) and intensive working day during August.
- Annual budget for training.
- Fun, young environment (We try to have as much as we can while getting things done).
- Cool tech stack (we love working with the latest technologies, or creating our own!).