✍️ Descriptif du poste
En tant que Software Engineer tu rejoindras la team Tech & Produit qui conçoit et améliore notre plateforme et nos outils.
Cette équipe stratégique est constituée d'une quinzaine de personnes : software engineers, data-scientist, designer et product-managers. Parmi eux, les software engineers collaborent au quotidien en petites équipes de 2 à 4 personnes sur des projets de 2 à 4 semaines.
TES MISSIONS 🚀
Tu démarreras ta mission par un onboarding complet de deux semaines afin de comprendre notre stack et notre fonctionnement puis intégrer l'équipe dans les meilleures conditions.
Produit
- Tu participeras à la conception technique de nouvelles fonctionnalités : chaque nouveau projet est conçu par le product manager en collaboration avec un développeur qui s'assure de la faisabilité et de la bonne architecture technique du projet.
- Tes propositions d'améliorations et tes idées de nouveaux développements seront entendues : nous fonctionnons avec un système d'OKRs trimestriels où toutes les équipes sont impliquées dans leur définition et leur réalisation.
Agilité
- Nous fonctionnons avec une méthodologie agile et des sprints de 2 semaines
- Tu participeras aux cérémonies agiles (daily standup, sprint planning et rétrospectives) et à l'amélioration continue des process de développements.
Technique
- Tu développeras des fonctionnalités avec le framework Rails et des pages rendues côté serveur principalement, en utilisant Turbo et Stimulus (80% des projets environ);
- Quelques projets avec de la complexité front-end sont réalisés avec le framework vue.js (20% des projets environ) ;
- Tu écriras systématiquement des tests pour t'assurer de la fiabilité de tes fonctionnalités (tests unitaires front et back, tests d'intégration et tests systèmes) ;
- Tu reliras le code des autres développeurs ;
- Tu participeras aux sessions de formation d'équipe tous les mercredis après midi ;
- Tu travailleras sur des problématiques de performance et de scalabilité (plus de 10.000 visiteurs par jour).
LA STACK TECHNIQUE 🤖
- Ruby on Rails comme framework back-end : c'est un framework de choix qui nous permet de développer rapidement de nouvelles fonctionnalités et d'avoir une architecture robuste.
- Vue.js comme framework front-end, ainsi qu'Hotwire avec Turbo et Stimulus
- PostgreSQL / Redis comme bases de données
- Minitest & Jest pour la suite de test
- Sidekiq pour les tâches asynchrones (workers)
- Github Actions & Circle CI pour l’intégration continue
- Jira comme outil de gestion de projet, Github comme outil de collaboration
Chez Manda, nous mettons l'accent sur la qualité du code. Tout notre code est testé (80% de coverage sur notre repo principal) et suit un process d'intégration continue rigoureux (analyse statique, tests, linter). Les fonctionnalités sont revues fonctionnellement par les product-manager et les développeurs relisent également le code de leurs collègues pour assurer une cohérence globale et une montée en compétence de chacun. Cette attention à la qualité nous permet de déployer tous les jours sereinement et d'avoir une excellente disponibilité de l'application.
Profil recherché
Tu es diplômé.e d’une école d’ingénieur ou d’une formation BAC+5 en informatique, tu as une expérience professionnelle d'au moins 3 ans en développement Web.
- Tu es orienté.e produit et souhaites développer des fonctionnalités apportant la meilleure expérience possible aux utilisateurs ;
- Tu es pragmatique et sais faire les bons compromis pour apporter le plus rapidement de la valeur à l'utilisateur tout en gardant un code robuste et fiable ;
- Tu es autonome dans les tâches qui te sont confiées mais n’hésites pas à demander de l’aide au besoin ;
- Tu fais attention au détail : tu testes systématiquement ton code et t’assures de la qualité du rendu de ton code avant de l’envoyer en relecture ;
- Tu possèdes une sensibilité aux bonnes pratiques de développement (CI/CD, code review, pair programming …) et tu partages facilement tes connaissances avec les autres développeurs ;
- Tu as une expérience sur des problématiques d’architecture du code (rendre le code testable, maintenable, évolutif et compréhensible par le reste de l’équipe).
Bonus: Tu as déjà travaillé avec un framework web MVC (Django, Symfony, Laravel), ou Ruby on Rails.