Fully flexible hours
Element is the startup which 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 our flagship messaging apps for the web, iOS & Android, along with 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.
You'll spend most of your time working on Element, the flagship Matrix client built with React.
As a Tech Lead you will contribute directly to the code base and work with Product Managers and Product Designers to turn their dreams into reality. You'll use Element daily to talk to colleagues and our energetic FOSS community; your voice will help shape Element.io into the world's best decentralised encrypted messaging client.
You will also:
- Provide technical leadership for the Element Web App Team
- Drive improvements to our practice of web engineering at Element
- Identify and implement changes that improve the overall performance and reliability of Element Web
- Work with Product Managers and Designers to build new features and improve existing Element functionality
- Actively work with with community contributors, reviewing community PRs and triaging issues
There are many interesting technical challenges to be had working on Element, especially around cryptography and performance, as well as the need to provide a great user experience. The team is small, experienced, and dedicated to the mission.
Your first few months will look something like this:
1 month: You have a good understanding of the team’s ways of working and are merging a consistent flow of PRs. You are able to help with technical review of small PRs.
3 months: You are able to work on new features and bug fixes autonomously. Your work smoothly passes code reviews. You understand the codebase well enough to give solid code reviews for small PRs.
6 months: You have a solid understanding of our architecture end-to-end, and are able to make improvements to its core. You are able to propose solutions and solve our most difficult technical issues.
Since (almost) everything we do is open source you can get a great feel for exactly what it would be like to work on Element - joining dev-centric channels such as #element-dev:matrix.org provides a window into the core team and the community. Come and say hi!
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
- 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 and qualifications
- 5+ years experience of commercial software development
- Experience with development in React and Typescript
- Experience with unit testing using Jest or a similar web test framework
- Good understanding of the web and client-server design
- A passion for product development and working closely with Product Managers and Designers
If you have any questions before making an application reach out to Mischa (@mischawalmsley:matrix.org) via https://app.element.io
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.
- 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.