Platform sh recrute un.e Cloud Engineer

Logo de la startup Cloud Engineer
  • En résumé :
  • Poste : Cloud Engineer
  • Compétence(s) : Développement
  • Startup : Platform sh
  • Localité : Paris
  • Type de contrat : CDI
  • Possibilite de travail à distance : oui
  • Nombre d'employés : 175
  • Offre publiée le : 15/09/2020

Platform.sh est un outil révolutionnaire d’hébergement et de développement d’applications web. Nous sommes une entreprise européenne, qui compte de nombreux clients de premier ordre.

Nous gérons des dizaines de cloud régionaux dans le monde entier, avec un mélange de clients allant de développeurs individuels qui gèrent de petits projet de développement, aux plus grandes entreprises du monde qui hebergent certaines de leurs applications critiques chez nous.

L’entreprise est d’abord entièrement distribuée et distante, avec un fort accent sur la diversité et l’inclusion dans toutes ses dimensions (sexe, orientation sexuelle, race, pays d’origine – vous l’avez, nous le voulons).

Pour sa solution PaaS révolutionnaire, https://platform.sh recherche un ingénieur Python avec un penchant pour Go, une bonne compréhension du système Linux et une réelle soif de relever les défis de la construction de systèmes robustes et distribués.

Platform.sh est un PaaS enveloppé de beaucoup de magie (nous pouvons cloner de manière cohérente tout un cluster en cours d’exécution, avec son état, ses bases de données, ses index en quelques secondes). Nous voulons faire descendre ce domaine au niveau des centaines de millisecondes. Intéressé ?

Il y a plus…
Notre API externe est du pur Hypermedia REST + oAuth au sommet de la pyramide. Elle automatise la couche Git et a besoin de plus de fonctionnalités.
Nous pouvons générer de manière cohérente à partir du même manifeste un container Docker, un container LXC ou des images de disques VM (AWS, Azure, Google Cloud, OpenStack).
Nous avons probablement la densité de container la plus élevée du secteur. Nous devons l’augmenter.
Nous avons travaillé dur sur un cadre d’observabilité rapide, résistant et à coût optimisé afin de savoir comment le système se comporte, maintenant nous voulons mieux prédire comment il se comportera.
Nous prenons en charge tous les Python, Ruby, NodeJS, PHP, Java et .NET, Elixir, bien sûr, il est temps de déployer Rust, quelqu’un doit appuyer sur ce bouton.
Nous avons besoin de plus d’auto-réparation sur les clusters de haute disponibilité. Nous avons besoin de plus de performances de notre proxy ssh multiprotocole. Nous devons travailler sur la mise en œuvre de Ceph ; nous avons des choses très cool à faire sur Edge. Nous avons besoin… de bonnes idées pour améliorer encore plus Platform.sh. Vous êtes intéressés ? Rejoignez-nous !

Il s’agit d’un poste remote et des déplacements très occasionnels vers des endroits branchés comme Paris, peuvent être nécessaires.

Compétences et exigences :

Requises :

Soyez un très bon développeur qui aime les tests, qui comprend le fonctionnement d’un système d’exploitation, qui connaît les réseaux, le fonctionnement de git et les contraintes d’un système distribué.
Maîtriser Python ou Go (expertise dans l’un ou l’autre ou dans les deux, très appréciée). Mais si vous apprenez suffisamment vite et que vous avez quelques autres langues à votre actif (comme Lua, Rust, Erlang, Ruby, ou C …), nous pouvons vous aider.

Ce serait vraiment génial si vous l’aviez fait :

Une expérience en C / C++ (nous contribuons à un tas de projets en amont, comme LXC) est un plus ; l’amour du C ou du C++ n’est pas nécessaire
Grande connaissance de Git
Bon contexte de mise en réseau (routage/protocoles)
Bonne maîtrise de la sécurité pratique et de la cryptographie
Expérience avec d’autres langages de programmation (par exemple Rust, Haskell, Java, Javascript, Ruby, Common Lisp, PHP)
Bonne connaissance du fonctionnement du Web (hacking de Nginx avec Lua est un plus). Vous pourriez vouloir rafraîchir vos connaissances sur HTTP avant l’entretien
Bonne compréhension du fonctionnement des systèmes de bases de données et des moteurs de recherche
Une bonne notion des systèmes distribués (Problème de consensus comme Raft/Paxos, modèles d’eventual consistency, gossip protocols)
“Mad Debian Skills”. Le fait de porter un tissu à carreaux Debian pendant l’entretien n’est pas mal vu …

Pour être clair afin que vous ne soyez pas surpris lors de l’entretien technique, ce poste est beaucoup plus destiné à un ingénieur système qu’à un développeur d’applications. Il est donc important de connaître les appels système, tout en connaissant Django, mais pas tant que ça.

Un peu sur l’ancienneté, les diplômes et l’expérience :

On se fiche complètement des diplômes, vous avez un doctorat en informatique ? C’est très bien ! Nous aimons la science. Vous êtes un hacker autodidacte dont la cible de déploiement pendant des années était un Arduino ? Vous pourriez très bien être compatible.
Nous avons des juniors seniors et des seniors juniors. Tout le monde l’est. Certains d’entre nous codent depuis plusieurs dizaines d’années. Certains d’entre nous sortent tout juste de l’école. Nous nous attendons à ce que vous ayez des points forts. Mais nous savons que tout le monde a des continents d’ignorance ; c’est très bien. Tant que vous aimerez apprendre, vous serez entourés de personnes qui aiment partager ce qu’elles ont appris.
Plus précisément, il y a une exception à la règle sur les “conditions d’ancienneté” pour les candidats sous-représentés. Essayez-nous. Nous ferons un effort supplémentaire : Nous prendrons en compte tout candidat de valeur ayant moins d’expérience dans les fonctions de développement et de système si nécessaire.

Quelques mots sur le processus d’entretien :

Il est généralement assez court. Deux ou trois entretiens à distance. Il n’y aura pas de tableau blanc. Peu ou pas de questions algorithmiques (à moins que vous n’aimiez celles que nous ne voulons pas frustrer les préparateurs).
Les personnes qui vous intervieweront seront des personnes avec lesquelles vous pourriez finir par travailler. Les entretiens vont être un peu “à la pelle” avec un tas de questions détaillées. Il s’agit moins d’obtenir la bonne réponse que de donner un aperçu de votre “monde intellectuel technique”. Vous ne vous souvenez pas par cœur des drapeaux sur un paquet TCP ? Eh bien, nous non plus, mais c’est un bon début de conversation.