L’équipe :
Notre équipe technique, forte de 23 membres (Back, Front, iOS, Android, UX/UI, QA et Devops) développe, teste et déploie chaque jour des features sur nos app et notre site web qui impactent des centaines de milliers d’utilisateurs en Europe. Elles sont la première étape dans la construction d’un souvenir unique, personnalisé et durable.
La partie développement est composée des quatres plateformes : back, web, iOS et Android. Chaque équipe plateforme est garante de l’intégrité technique. Les développeurs sont répartis dans des squads agiles autonomes et pluridisciplinaires.
Nous recherchons aujourd’hui un.e développeur.se Backend pour rejoindre notre plateforme back et intégrer l’une de nos squads.
Contexte et organisation :
Contexte
Nos équipes tech présentes sur Paris ou en full remote depuis toute la France, se regroupent tous les mois. Ces rassemblements ont vocation à avoir un maximum d’impact (rassemblement plateforme ou squad, meetups, team building, etc.)
Nous accordons beaucoup d’importance à la qualité de nos plateformes logicielles. En complément du temps passé en squad, l’équipe tech dispose d’un temps significatif durant lequel elle peut aborder les sujets tech qu’elle choisit pour par exemple, améliorer la plateforme, mettre en place un nouveau framework, tacler de la dette technique, améliorer les fondations de la plateforme :
1 sprint sur 4 (durée 2 semaines) est réservé pour l’équipe tech.
Point hebdo facultatif d’1h30 (revue de vidéos, ateliers de conception, etc.)
20% de temps pour les tâches tech par sprint
6 semaines de « platform days » en fin d’année
Dès que possible, nous organisons des meetups tech/product avec des speakers réputés. Tous les replays disponibles ici : https://www.youtube.com/playlist?list=PLRrMs86bXI5JVd9dsnu2-LtSOAN9fZfMp
Organisation
L’équipe tech est divisée en 4 teams par compétence technique. Chaque équipe est gérée par un Engineering Manager.
- la team Back
- la team Apps (iOS et Android)
- la team Web
- la team Infra
Notre rythme de travail est de 8 semaines : 3 sprints de 2 semaines puis 2 semaines d’intersprint.
Les développeurs de chaque teams sont répartis dans 3 squads orientés “produit”. Chaque squad est polyvalente, composée d’au moins 1 tech de chaque domaine. Son activité est pilotée par un product manager.
Chaque squad intervient sur un domaine métier particulier (par exemple: l’acquisition client, la personnalisation produit, le tunnel de vente…). Vous intégrerez l’une de ces squads.
Une équipe de 2 Staff Engineers vient compléter le dispositif et fournit un encadrement technique transverse.
Enfin, l’équipe Back, est composée de 5 personnes - 1 EM et 4 développeurs.
Nous sommes très attachés aux valeurs suivantes et il est important qu’elles puissent te parler également :
- Simplicité du code pour une meilleure lisibilité et maintenabilité
- Qualité du code et de l’architecture (principe du clean code et de la clean archi)
- Culture du test forte
- CI / CD
Missions :
En tant que développeur.se sénior, tu organises ton travail en collaboration avec la plateforme back et ta squad. Comme chacun, tu as à cœur de délivrer la meilleure expérience digitale à nos clients mais avec un prisme tech. Tes expériences précédentes t’aideront à savoir faire des choix pragmatiques pour prioriser et shipper les tâches “business” de la squad et les tâches tech de la plateforme Back.
Ce qu’on va attendre de toi :
Développement : Tu es avant tout un.e développeur.se expérimenté.e et fais donc partie intégrante d’une squad en participant activement aux développements liés à ta plateforme.
Expertise back : Ta maîtrise de ruby et ruby-on-rails te permettra de vite t’approprier le code existant. Tu identifies des axes d’amélioration concrets et les propose à l’équipe. Des connaissances dans un autre langage back type JAVA, C#, Go ou Rust seront fortement appréciées.
Mentoring : Avec les Staff, ta séniorité te permet de favoriser l’autonomie technique des membres de la plateforme en évangélisant les bonnes pratiques / tips pour gagner en efficience et qualité (veille technique, animation d’ateliers, code reviews, pair programming..).
Conception / architecture : tu participes au cadrage des projets pour co-construire et dérouler la roadmap (produit/tech), à la conception et au développement de nouvelles fonctionnalités. Ton expérience te permet d’avoir un oeil critique sur les estimations et impacts possibles.
Problem solving : Quand on t’expose une problématique, tu as le réflexe de prendre de la hauteur pour avoir une vue d’ensemble. Tu es réactif, tu sais agir vite quand c’est nécessaire. Tu sais modéliser une architecture applicative et justifier tes choix avec une approche rationnelle et argumentée.
Qualité : Tu aimes quand tout fonctionne et quand le travail est proprement réalisé (architecture, qualité de code, patterns, perf, sécurité..). Tu écris des tests, rédiges des docs et tu proposes des améliorations techniques. Quand il le faut, tu corriges les bugs de façon efficace pour débloquer les utilisateurs).
Collaboration : Au quotidien tu construis avec tous les développeur.ses (core, squad, plateformes). Tu aimes travailler en équipe et partager tes connaissances avec pédagogie. Tu es à l’aise avec le fait de “challenger” et te faire “challenger” sur les choix techniques.
Membre actif de la tech : Tu participes à la vie de l’équipe tech pour la faire grandir et évoluer (points hebdos, communication quotidiennes, workshops, Meetup, etc.)
Les attentes :
Après 3 mois : Tu as pris tes marques dans ta plateforme et ta squad. Désormais tu sais qui sont tes collègues, sur quoi tu vas travailler et quels sont les chantiers en cours. Tu contribues régulièrement à l’amélioration de la base de code et à la conception et à l’implémentation de nouvelles fonctionnalités. Tu as remonté des points d’amélioration dans la base de code tels que simplification, modularité, cohérence, etc.
Après 6 mois : Tu commences à maîtriser ton périmètre fonctionnel et technique. Tu participes activement aux choix techniques, tu es en capacité de faire des retours constructifs pour améliorer la qualité du code, la robustesse et l’expérience utilisateur. Tu as prouvé que tu savais expliquer et vulgariser des concepts techniques avancés. Tu es actif sur les code reviews, tu remontes régulièrement des points d’attention. Tes collègues reconnaissent tes compétences techniques et ton apport à l’équipe.
Après 9 mois : Tu maîtrises une grande partie des concepts métiers Cheerz. Tu es en capacité d’intégrer à ton tour des personnes sur ton périmètre. Tu as été moteur d’un chantier technique structurant.
Notre stack technique :
Backend
- Ruby on Rails 8
- PostgreSQL
- Un remplacement progressif de Ruby par un nouveau langage (Java/C#/Go)
Infra / Monitoring
- Serveurs dédiés chez scaleway + Google Cloud
- Docker / Kubernetes
- Datadog
App iOS
- Swift, SwiftUI, KMP
- Architecture MVVM
App Android
- Kotlin, Jetpack Compose, KMP
- Architecture en MVVM
Web
- React
- Typescript
Si tu souhaites en savoir plus, n’hésite pas à consulter notre blog tech :https://medium.com/cheerz-engineering/the-tale-of-cheerz-technical-stack-c7ce4faca5b1
Profil :
De formation en informatique, ingénieure ou autodidacte, tu as minimum 8 ans d’expérience en développement. Tu es avant tout un.e développeur.se expérimenté.e. Tu aimes le code, la qualité et shipper des projets.
Tu maîtrises le développement back-end en ruby avec le framework ruby on rails, les bases de données et l’implémentation d’API REST.
Tu es force de proposition, on attend de toi des recommandations argumentées et pragmatiques ! Nous recherchons des “problem-solver”, les langages / frameworks ne sont que des outils à disposition pour répondre à des problématiques. Si tu ne les connais pas, tu apprends à t’en servir.
N’hésite pas à nous partager tes repos open-sources ou tes side-projects !
Entretien RH avec Naomi
Entretien Tech avec Jérôme et Clément
Test Technique
Entretien Fit avec des membres de la team
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.
Paris · Tassin-la-Demi-Lune
Boulogne-Billancourt