Stage Développement Backend H/F

Sujet

Développement d'un système de recherche accessible par API suivant les principes des architectures orientés-événement en Clojure et sur le Cloud Google (Kubernetes, PubSub, Solr, Keycloak)

Le contexte

Le système de diffusion de notices bibliographiques d’Electre est en cours de refonte.

Les technos sont modernes et sympas : Plateforme Java avec langages fonctionnels (Clojure), Reactive architecture et Event-Driven, Solr, Google Cloud avec Docker et Kubernetes, Pubsub sur le back. L’approche de développement est vraiment centrée sur la qualité et l’efficacité. Cette présentation résume les choix technologiques : https://speakerdeck.com/jgrodziski/clojure-project-in-the-field

Le métier est intéressant et a du sens : fournir le meilleur service de données bibliographiques des livres en langue française aux libraires et bibliothécaires pour leur permettre de faire leur travail au quotidien et conseiller au mieux leurs clients ou usagers pour les recherches et recommandations d’ouvrages. Les traitements principaux sont de l’intégration de flux, de l’indexation et de la recherche, un frontend très riche et à terme développer le machine learning pour les prédictions et recommandations ainsi que les fonctions “sociales” à travers les communautés d’utilisateurs.

Les membres de l’équipe sont reconnus dans les communautés et sur leur sujet : langages fonctionnels, Domain-Driven Design, BDD, Craftmanship, Architecture Logicielle. Ils ont surtout une vraie passion du design et développement logiciel. L’équipe met en pratique une véritable agilité et une amélioration continue centrée sur la valeur métier délivrée et la qualité du logiciel construit.

Les bureaux sont top et localisés dans le quartier latin en plein cœur de Paris.

C’est une excellente opportunité d’apprendre beaucoup de choses, de relever des challenges techniques et métier, d’être dans une équipe qui tire vers le haut et passionnée, d’utiliser des technos modernes et enfin de produire beaucoup de valeurs pour les clients.

Pour plus d’infos sur le projet, l’équipe ou la société vous pouvez contacter sur demande une ancienne étudiante du Master 2 Science et Technologie du Logiciel (STL) qui a fait son stage l’année dernière et a été embauché.

Ce qu’il y a à faire

Sous l’encadrement du tech lead de l’équipe “Diffusion” ou "Abonnement" et du maître de stage vous aurez à :

  • Participer aux ateliers métiers pour comprendre le domaine, les besoins et les fonctionnalités à développer
  • Interagir de manière autonome avec tous les membres de l’équipe technique, projet et métier pour assurer la conception et le développement des fonctionnalités
  • Concevoir et développer les fonctionnalités dans un esprit Agile et en respectant le “definition of done” (à minima : code testé, déployable et prêt pour la production, documenté, code review effectué ou pair - - programming pendant le développement). La documentation est bien sûr essentielle pour les APIs publiques.
  • Prendre en compte les feedbacks de l’équipe Ops quant aux aspects d’exploitabilité du code développé (logs, paramétrage, performance, fiabilité, etc.)
  • Assurer la reprise des données du système existant
  • S’assurer de la qualité du code et de la performance du système
  • Participer aux différents rituels projet et notamment les démos, rétrospectives et s’intégrer dans les activités d’amélioration continue

La personne idéale aura le profil suivant

  • Un intérêt réel pour les métiers du livre et les besoins des libraires et bibliothécaires, comprendre leurs problèmes et fournir les meilleures solutions. Si vous connaissez ou avez pratiqué le Domain-Driven Design c’est génial !
  • Voir la technologie comme un moyen de résoudre des problèmes et d’être créatif
  • Être passionnée par la conception et le développement logiciel, si vous aimez les parenthèses et autre Lisp vous allez vous éclater ;)
  • Être passionné par les techniques de testing avancés (TDD, BDD, Property-based testing, Back-testing ,etc.) pour accroitre fortement la fiabilité du code
  • Avoir la culture du delivery : “Done is better than perfect”
  • Combattre la complexité accidentelle et favoriser la simplicité, éviter de suivre les modes mais se concentrer sur les fondamentaux du métier
  • Être prêt à prendre à charge d’autres tâches dans un périmètre différent pour aider un autre membre de l’équipe et favoriser ainsi la propriété collective du code
  • Pratiquer l’amélioration continue, toujours questionner l’existant pour faire mieux
  • Un intérêt ou une expérience pour les pratiques du Software Craftmanship : BDD, TDD, DDD.

Gratification, Avantages et Durée

  • Durée du stage : 6 mois, 10 février 2020 au 07 août 2020
  • Gratification : 1200 € / mois
  • Tickets restaurants
  • Choix du matériel (macbook possible) + écran 27" 4K + bureaux assis/debout
  • Bureaux top et lumineux en plein cœur de Paris (6e arrondissement) avec garage à vélo pour les cyclistes
  • Lieu du stage : 35 rue Grégoire de Tours 75006 Paris
  • Maître de stage : Jérémie Grodziski, co-organisateur des communautés parisiennes Domain-Driven Design, Behavior-Driven Development et Clojure
  • Contact : jeremie@grodziski.com

À propos d'Electre

Electre produit et diffuse des notices bibliographiques et les services associés aux professionnels du livre (Bibliothèques, Libraires, e-commerçants, etc.), pour l’anecdote elle attribue également les numéros ISBN notamment pour la France et la Belgique. C’est une société qui a ses origines au XIX siècle avec le cercle des éditeurs et qui transforme ses produits et services pour apporter plus de valeurs à ses clients dans les aspects mobilité, sociaux ou recommandations par exemple. Dis autrement, on monte une startup dans une société qui a plus d'un siècle.

Ce que l’on cherche pour constituer l’équipe technique ? de la passion, du respect et de la bienveillance, une recherche continue d’amélioration et bien sûr une bonne dose d’humour...ha oui, et aussi une réelle expertise dans le domaine de la conception et du développement logiciel et des infrastructures cloud ! Pour la bonne personne, c’est l’occasion de participer à la construction d’un système utile et à l’état de l’art dans une société en pleine transformation et d’intégrer une équipe avec des membres reconnus dans leur expertise.