Mission principale :
En tant que Développeur Backend, vous serez chargé de concevoir, développer et maintenir des applications backend performantes et évolutives en utilisant Symfony et API Platform. Vous intégrerez des solutions modernes basées sur des API RESTful et GraphQL tout en utilisant des technologies telles que Docker, Git et GitLab pour garantir un processus de développement optimisé et collaboratif.
Responsabilités :
- Développement d'API : Créer, développer et maintenir des API RESTful et GraphQL via API Platform, en assurant la bonne gestion des ressources et des performances.
- Architecture et conception backend : Concevoir des solutions backend robustes, évolutives et performantes à l'aide de Symfony, en veillant à la séparation des responsabilités et à l’utilisation des bonnes pratiques de développement.
- Gestion des bases de données : Concevoir et interagir avec des bases de données relationnelles (MySQL, PostgreSQL) et non relationnelles (MongoDB, Redis). Utilisation de Doctrine ORM pour gérer les entités et migrations.
- Intégration et tests : Assurer l’intégration continue et la qualité du code à travers des tests automatisés avec PHPUnit et l’utilisation d'outils de CI/CD sur GitLab.
- Containerisation avec Docker : Utilisation de Docker pour la gestion des environnements de développement, ainsi que pour le déploiement des applications backend dans des conteneurs.
- Optimisation des performances : Identifier et résoudre les problèmes de performances liés au code, aux requêtes SQL ou à la gestion des API afin d'assurer une réactivité optimale des applications.
- Collaboration avec les équipes Frontend et DevOps : Travailler étroitement avec les développeurs frontend pour la mise en place des API et avec l'équipe DevOps pour l’automatisation du déploiement et la gestion des conteneurs Docker.
- Veille technologique : Suivre les évolutions des technologies utilisées (Symfony, API Platform, Docker, etc.) et recommander les meilleures pratiques et outils pour améliorer l’efficacité du développement backend.
Compétences requises :
- PHP & Symfony : Maîtrise du développement backend avec PHP et Symfony, ainsi que des composants Symfony (Twig, Doctrine, etc.).
- API Platform : Bonne connaissance de API Platform pour la gestion d’API RESTful et GraphQL, ainsi que pour la documentation automatique des API (Swagger, OpenAPI).
- Docker : Expérience dans la création et la gestion de conteneurs Docker pour faciliter le développement local et le déploiement des applications.
- Base de données : Connaissance approfondie de Doctrine ORM, ainsi que des bases de données relationnelles comme MySQL et PostgreSQL, et de bases de données NoSQL comme MongoDB.
- Outils de versioning : Bonne maîtrise de Git pour la gestion des versions et GitLab pour l'intégration continue (CI/CD), la gestion de branches et les revues de code.
- Tests automatisés : Utilisation de PHPUnit, Behat et autres outils pour assurer la qualité du code avec des tests unitaires et fonctionnels.
- Sécurité des applications : Connaissances en sécurisation des applications (authentification, autorisation, prévention des vulnérabilités).
Compétences appréciées :
- Microservices : Notions d'architecture microservices et d'intégration d'API dans un environnement distribué.
- CI/CD : Expérience avec des outils CI/CD tels que GitLab CI, Jenkins, ou GitHub Actions pour l’automatisation des tests et déploiements.
- Cloud : Connaissances de l’utilisation de services cloud (AWS, GCP, Azure) pour le déploiement d’applications et de bases de données.
- Node.js / JavaScript : Notions de JavaScript pour une collaboration fluide avec les équipes frontend.
- GraphQL : Expérience avec GraphQL pour des API plus flexibles et efficaces.
Qualités recherchées :
- Autonomie et initiative : Capacité à travailler de manière autonome tout en étant force de proposition pour l’amélioration des processus.
- Rigueur et qualité : Souci du détail, respect des bonnes pratiques de développement et garantie d’un code propre et testable.
- Esprit d’équipe : Capacité à travailler efficacement en équipe avec les développeurs, les chefs de projet, et les autres parties prenantes.
- Curiosité technique : Passion pour les nouvelles technologies et intérêt pour la veille sur les meilleures pratiques en développement backend.
Formation et expérience :
- Formation : Bac +3/5 en informatique, développement logiciel, ou équivalent.
- Expérience : Minimum 3 ans d'expérience en développement backend, avec une expertise dans Symfony et API Platform.