Rudder est un éditeur français de logiciels libres créé en 2010. Notre solution s'adresse aux équipes IT (ops) des entreprises et les aide à assurer le maintien en conditions opérationnelles (MCO) et le maintien en conditions de sécurité (MCS) des infrastructures IT hétérogènes qu'elles gèrent. Pour cela, Rudder permet d'implémenter les règles de configuration et les normes de sécurité et de hardening des systèmes, d'automatiser et de surveiller leur bonne application, et de remédier aux risques de sécurité grâce au patch management et à l'inventaire des CVE présentes sur les systèmes.
Rudder aide les grandes entreprises et les institutions en leur apportant fiabilité et visibilité, mais aussi les PME et ETI grâce à son interface graphique complète. Nos clients sont diversifiés, avec des grands groupes industriels et bancaires, mais aussi des entités sensibles (OIV) et des PME/ETI, majoritairement en Europe et en France.
Nous avons pour ambition de continuer à nous développer sur les marchés de l’automatisation IT opérationnelle et de la cybersécurité afin d'en devenir le leader Européen.
Créée autour d’une forte culture de transparence et de bienveillance, l'entreprise est basée à Paris 3e et se compose de 15 personnes en flexi-remote, dont 1/3 en province. Nous promouvons particulièrement les valeurs d’inclusivité et de curiosité, d'autonomie et de travail en équipe, d'expertise et d'amélioration continue dans notre quotidien, avec une sensibilité très forte aux logiciels libres.
Stack technique: Scala et Elm pour l'application métier principale qui concerne ce recrutement (pré-connaissances en Elm non nécessaire mais clairement un plus), et pour information: Rust pour les parties systèmes, et lorsqu'il le faut Python, shell, JS…
Méthodologies : notre adaptation de Shape-up, un zest d'XP, des kanbans, et beaucoup de schémas et de pages dans notion.
Description du poste
Nous recherchons un·e développeur·se expérimenté·e pour développer l'application métier Rudder et ses plugins, écrits en Scala (backend logique métier, principalement Scala fonctionnel qui utilise ZIO) et Elm (logique client).
Nous recherchons une personne qui puisse apporter son expertise à l'équipe tout en nous faisant bénéficier d'un regard extérieur et bienveillant sur nos pratiques afin d'accompagner de façon soutenable le développement de Rudder.
Vous travaillerez avec l'ensemble de l'équipe produit mais plus directement avec Vincent, lead-dev de l'application métier, Alexis, lead-dev système, et François, CTO.
Impact du poste : Rudder est développé depuis plus de 10 ans par une petite équipe qui croît tranquillement pour atteindre 8 profils techniques aujourd'hui. La plupart des membres ont rejoint l'équipe en tant que débutants après leur scolarité et leur compétences ont permis d'avoir un logiciel durablement maintenable et évolutif. Le périmètre fonctionnel du produit continue à s'agrandir, et nous pensons que nous bénéficierons énormément de l'apport en compétences d'un·e développeur·se expérimenté·e, capable d'apporter de nouvelles pratiques à l'équipe tout en contribuant au produit.
Ce poste polyvalent s’articule principalement autour des missions suivantes :
💻 Développement …
Votre principale mission sera de transformer des besoins métiers en code maintenable, avec toute la chaîne que cela suppose : qualification du besoin, découpage en séquence pertinente pour l'architecture/la valeur apportées/l'adéquation aux contraintes, tests, documentation(s), maintenance…
🤝 … collaboratif
Vous participez également aux développements des autres membres via des revues de code, des discussions sur des choix d'architecture ou d'implémentation ou tout autre tâche collaborative d'une équipe produit.
Vous participez au suivi des évolutions du produit à différents niveaux de granularité (au moins sur votre périmètre), des tâches du run hebdomadaire à la roadmap plus long terme, en passant par les features en cours de développement.
🔎 Correction de Bug & support niveau 2 & 3
Vous serez amené à corriger des bugs ou faire évoluer Rudder au-delà des parties que vous aurez spécifiquement développées - on fait cela intelligemment et collaborativement, en fonction des contraintes.
Vous serez également amené à effectuer du support client niveau 2 (bug simple) ou 3 (évolution complexe), sans astreinte, lorsque votre expertise est pertinente.
🛠️ Evolution des best-pratices
Nous sommes aujourd'hui capables de maintenir et faire évoluer une application complexe, composée de parties open source et d'autres propriétaires, livrée on-premise, construite pour une multitude d'OS pour des besoins de prod, au rythme d'une release tous les 6 mois. Mais nous savons que beaucoup de choses sont perfectibles, voire totalement dépassées, et nous sommes curieux des améliorations que nous pouvons amener à nos pratiques, lorsque c'est fait de manière bienveillante.
Où et combien ?
Pour ce poste polyvalent et impactant dans les développements futurs de Rudder, nous recherchons un profil :
Dans l’idéal, vous avez une expérience de conséquente en tant que développeur et vous avez déjà une expérience significative en Scala ou dans un autre langage fonctionnel. Vous êtes familier des écosystèmes open-sources, de Linux en tant que poste de travail, et vous contribuez à certains projets libres (si vous avez du code ou des projets ouverts, nous seront très heureux de pouvoir les consulter). Vous savez améliorer votre environnement de travail et vos outils, et partager ces connaissances avec les autres membres de l'équipe. Nous ne sommes pas attachés à un cursus ou à un diplôme particulier. Vous souhaitez apprendre et partager, et évoluer vers une responsabilité grandissante quant aux choix métier, techniques et architecturaux de Rudder.
Vous parlez couramment français et un anglais technique suffisant pour tenir une discussion écrite avec nos utilisateurs et clients par email, slack, gitter etc. et assister à une conférence en anglais.
Pourquoi nous rejoindre ?
Nous sommes une entreprise à taille humaine avec une organisation transparente et polycentrique. Nous encourageons l’autonomie en nous partageant les responsabilités, chacun sait pourquoi il est chez Rudder.
Vous pourrez avoir un effet important sur les pratiques, les choix technologiques et l'évolution du produit. Et vous pourrez travailler avec l'une des premières sociétés qui a mis du Scala en prod et est toujours là pour en parler - parce qu'on pouvait faire ce choix, qu'il nous plaisait et qu'on pouvait l'assumer, et nous dans la même démarche aujourd'hui.
Nous accordons une grande importance à la flexibilité du travail, tant que nous gravissons les étapes ensemble. Nous ne sommes pas une licorne, nous nous développons petit à petit grâce aux contributions et à la collaboration de chacun.
Nous assurons une cohésion d’équipe via des 1:1 et des réunions d’équipes régulières, des séminaires, mais plus fréquemment nos collaborateurs et collaboratrices hors région parisienne viennent 2 jours toutes les 2 à 4 semaines (pris en charge par l’entreprise) afin que l’on puisse se rencontrer et travailler ensemble fréquemment.
A votre arrivée, vous choisirez votre matériel de travail selon vos souhaits et besoins. Vous serez couvert·e avec une des meilleures mutuelles du marché. Chez Rudder, vous ne serez pas un·e employé·e anonyme de plus dans une tour de La Défense !