Senior Backend Engineer (Foundation)
- Type de contrat
- Temps plein
- Lieu
- Geneva
- Première publication
Rejoignez Proton et construisez un meilleur internet où la vie privée est la norme
Proton a été fondé en 2014 par des scientifiques du CERN sur une vérité simple : la vie privée est un droit humain fondamental. Depuis lors, nous avons construit le plus grand service de messagerie cryptée au monde (Proton Mail) et nous nous sommes étendus avec Proton VPN, Proton Drive, Proton Pass et Proton Calendar — des outils utilisés par des millions de personnes dans le monde pour protéger leur liberté, lutter contre la censure et garder leurs données en sécurité. Dans certaines situations, Proton a littéralement aidé à sauver des vies !
Nous sommes rentables, indépendants (sans contrôle de VC) et nous recrutons de manière sélective parmi les ~1% des meilleurs candidats. Nos plus de 500 membres d'équipe répartis dans plus de 50 pays proviennent d'organisations de premier plan et de parcours académiques d'élite. Nous avançons vite, maintenons une hiérarchie légère et privilégions l'impact sur l'apparence. Si vous voulez faire un travail significatif avec des personnes d'un calibre exceptionnellement élevé, c'est ici. Rejoignez-nous et faites un travail dont vous pourrez vraiment être fier. Consultez nos projets open-source ici !
L'équipe Foundation
L'équipe Foundation construit ce sur quoi les équipes produit s'appuient : le framework backend partagé, les bibliothèques internes, les services communs et les abstractions que chaque application Proton sollicite. Si plusieurs équipes en ont besoin, cela doit exister une seule fois, et être de qualité.
Vous travaillerez en PHP pour le travail lié aux API, et en Rust pour les composants où la performance et la sécurité de la mémoire le justifient ou pour les microservices. Vous serez responsable de bibliothèques ou d'initiatives de bout en bout : conception, implémentation, documentation, versionnage et chemin de migration pour tous ceux qui dépendent déjà de l'ancienne version.
L'architecture occupe une grande partie de ce rôle. De nombreux ingénieurs travaillent dans le même monorepo, ce qui signifie que les limites des modules, la direction des dépendances et la propriété ne sont pas des préoccupations académiques — elles déterminent si la base de code reste navigable ou si elle se transforme lentement en quelque chose que personne ne peut modifier en toute sécurité. Vous aiderez à définir ces limites, prendrez les décisions structurelles pour éviter que les équipes ne se marchent sur les pieds, et effectuerez le travail nécessaire pour les imposer : rédaction de RFC, ajout de règles, démêlage de cycles qui n'auraient pas dû être là. Rien de tout cela ne se fait de manière isolée. Vous travaillerez en étroite collaboration avec d'autres équipes qui consomment et utilisent ce que vous construisez.
Ce que vous ferez
Concevoir et construire des bibliothèques partagées, des couches de framework et des services internes utilisés dans chaque produit Proton
Transformer les modèles récurrents en bonnes abstractions
Écrire de la documentation et des exemples que les gens utilisent réellement, et traiter l'adoption comme une partie intégrante de la livraison
Améliorer le quotidien : temps de build, configuration de dev locale, ergonomie des tests, débuggabilité, expérience développeur
Travailler de manière ouverte avec les équipes produit — RFC, revues de conception et pull requests occasionnelles dans le repo de quelqu'un d'autre pour montrer ce que vous voulez dire
Travailler étroitement avec d'autres développeurs pour aider à intégrer les bibliothèques de manière transparente dans les applications
Exigences du poste :
5+ ans d'expérience dans la construction et l'exploitation de systèmes backend en production, y compris du code dont vous êtes resté responsable longtemps après le lancement, avec un accent sur PHP moderne
Connaissance pratique de Rust, ou preuve claire que vous pouvez l'apprendre rapidement — nous tenons à ce que vous compreniez l'ownership et les lifetimes
Un goût authentique pour la conception d'API. Vous avez des opinions sur le nommage, les valeurs par défaut, la gestion des erreurs et ce qui doit appartenir à une bibliothèque plutôt qu'à un service
Un sens de l'architecture à l'échelle d'une base de code — vous avez travaillé dans des environnements suffisamment grands pour que les limites de modules et la direction des dépendances comptent, et vous avez des avis sur ce qui maintient un monorepo sain
Expérience dans l'évolution de code partagé dont dépendent d'autres équipes, et ce, sans les casser
Avoir un état d'esprit orienté sécurité. Vous réfléchissez à la manière dont l'abstraction que vous venez d'écrire sera mal utilisée
L'influence nécessaire pour faire adopter une bibliothèque interne plutôt que de contourner ses contraintes, et la patience pour mener une conception à bien malgré les désaccords entre deux équipes qui pensent toutes deux avoir raison
Points bonus pour :
Domain-Driven Design, ou expérience similaire de modélisation de domaines complexes où les limites comptent
Expérience dans les équipes d'outillage développeur, de plateforme ou de DX
Contributions à l'open source, en particulier des bibliothèques avec de vrais utilisateurs
Expérience de migration incrémentale d'une base de code entre architectures ou langages
Expérience en cryptographie appliquée, gestion de clés ou systèmes chiffrés de bout en bout
Expérience dans la construction de CI/CD
Même si vous ne répondez pas à toutes les exigences listées ci-dessus, mais que vous pensez pouvoir être un excellent candidat, n'hésitez pas à postuler.
Ce que nous offrons
Un travail qui compte : des millions de personnes font confiance à Proton pour leur vie privée. Nous ne répondons qu'à nos utilisateurs — pas aux annonceurs, pas aux investisseurs ayant des agendas conflictuels, pas aux gouvernements. Le travail que vous faites ici est réel, et l'impact est mesurable. (en savoir plus sur notre impact ici )
Travailler avec des personnes intellige
Traduit automatiquement depuis l’original.
Publié il y a 2 jours