- Company Name
- Olvid
- Job Title
- Full Stack Engineer
- Job Description
-
Java Developer (Olvid Desktop Client)
ABOUT OLVID
Olvid’s mission is to build the most secure messenger in the world, freely available to everyone, on all major platforms.
Built from the ground up, Olvid is the only end-to-end encrypted messaging platform that requires no personal data from its users: no phone number, no email, no name, no request to your address book. Nothing!
While all major messaging solutions rely on one or more “trusted” third parties to allow users to communicate, Olvid requires none. This is made possible thanks to carefully crafted cryptographic protocols. Several years of R&D enabled us to propose a solution that makes no compromise on safety, while remaining very simple to use.
The name Olvid comes from the Spanish “olvidar” meaning “forget”: exchanges made on Olvid leave no digital trace, no one will ever know who you’ve discussed with, not even us. For once, you have the “right to be forgotten” online.
What we stand for at Olvid
Most of the supposedly free messaging services are financed through the exploitation of their users’ data. At Olvid, we believe that this business model is dreadful and that attention marketing is damageable. We believe that a free service should have no hidden cost, ever.
A product's primary objective should be aligned with its users’ interests, not with those of some third party. This objective is a driver for all decisions taken at Olvid.
Olvid’s engineering team
Olvid’s engineers are not only exceptional technicians and cryptography specialists. They work for a cause that matters. They keep in mind that each line of code they write will eventually be executed by a user that trusts Olvid for protecting them. This might be an intimidating responsibility, but you’re not alone, we work as a team! At Olvid, we release features when they are ready, and when we know for sure they match our high expectations in terms of security.
Working at Olvid
Olvid headquarters are located in Paris. We are open to hybrid remote work.
Olvid values and promotes diversity. We will consider every aspect of your background, including your academic background, professional experiences, and personal skills.
JOB DESCRIPTION
You will join the Olvid desktop client development team with the goal of delivering a cross OS (Windows, Linux, possibly macOS) Olvid client offering all the features available in the mobile apps, and more! You will be reporting to the Desktop team lead.
Your responsibilities
implement features available in the mobile app into the desktop client to be ready for the first public release
implement and deploy new features for the Desktop client
work on the deployment and update process of the client (installer, updater, etc.)
contribute, with the rest of the product and engineering team, to the design of new features
review and test code written by your teammates
once the desktop client is released, monitor and investigate (and hopefully fix!) bugs and crashes received by the support team, and more generally, help reduce technical debt
help build and improve a cross-OS continuous integration platform
TECHNOLOGY STACK
Desktop client
written 100% in Java, reuses the engine of the Android version
JavaFX SDK
ORMlite & SQLite for databases
custom file level encryption and SQLCipher for databases
very few third-party libraries
Server
100% serverless at AWS (lambda, dynamodb, etc.)
communications through a REST API
Other Olvid clients
iOS client: 100% in Swift
Android client:, 100% in Java, with an engine part and an app part: only the app part uses Android APIs
Bot/Daemon: uses the same Java codebase as the desktop client
Development tools
IntelliJ IDEA
Gradle
GitLab
Android Studio (to run the Android client for compatibility tests)
a few Python scripts
BENEFITS
Participate to a project implementing what’s best in cryptography, with a strong focus on its users’ privacy, available for free to everyone
Become part of a killer team, close to the founders, and live the real start-up experience
Olvid is open source, and when the desktop client is released, the code will be opened. Your code will be visible to the whole world
Have a direct impact on tens of thousands of users when releasing new features (now your family can see and use what you do at work!)
REQUIRED EXPERIENCE/SKILLS
2+ years of experience in Java development
Used to working with threads
Familiar with MVC architectures
Familiar with SQL
Familiar with software security and secure programming (input sanitizing, etc.)
Comfortable with scripting and the use of various build tools (Makefile, maven, gradle, MSVC, etc.)
Soft skills
Team player: used to working with and as a team (brainstorming implementation ideas, peer reviews)
Care about delivering the best product
Good english level (read docs in english, name variables, functions and write comments in english)
Open-mindedness: you may have to use Windows, Linux and macOS and tools for each of these platforms (Windows installer, etc.)
USEFUL ADDITIONAL SKILLS
Some experience with JavaFX
Some knowledge of cryptography
Experience with WebRTC
An appetite for UX/UI