Software Engineer PHP/SYMFONY H/F
Envie de mettre votre expertise PHP/SYMFONY au service de projets ambitieux et innovants ?
Rejoignez- nous et contribuez à façonner les solutions technologiques qui soutiennent la croissance et la performance de demain.
Qui sommes-nous ?
MyUnisoft, l’éditeur qui réinvente les logiciels pour experts-comptables et leurs clients : des solutions innovantes, centrées utilisateur et portées par des valeurs humaines.
Notre mission
Concevoir, développer et maintenir des logiciels performants qui simplifient les processus opérationnels de nos clients, tout en garantissant une expérience fluide, de la conception jusqu’au support.
L’expertise technique et la passion de nos équipes font de nous un environnement stimulant, agile et en pleine croissance.
Rôle principal
Dans le cadre de notre développement et de la croissance de nos activités, nous recherchons un Développeur PHP SYMFONY sénior qualifié avec une expertise avancée en architecture logicielle. Ce profil combine une maîtrise technique approfondie avec une capacité à concevoir des systèmes complexes, maintenables et évolutifs.
Vos missions
Concevoir et implémenter des architectures logicielles avancées
Participer aux ateliers de modélisation métier (Event Storming, DDD)
Accompagner et former les développeurs de l'équipe
Garantir la qualité, la maintenabilité et l'évolutivité du code
Documenter les choix architecturaux
Proposer des solutions innovantes aux défis techniques
Votre profil
Forte orientation métier : comprend que la technique sert les besoins business
Pragmatisme : sait trouver le bon équilibre entre qualité architecturale et contraintes de livraison
Pédagogie : capable d'expliquer des concepts complexes simplement
Autonomie dans les décisions techniques
Curiosité technique : se tient informé des évolutions de l'écosystème PHP
Compétences Techniques
Architecture logicielle moderne (indispensable
Domain-Driven Design (DDD)
Approche de conception centrée sur le métier de l'entreprise. Le candidat doit savoir modéliser des domaines complexes en collaboration avec les experts métier et structurer le code autour des concepts métier plutôt que techniques.
Event Storming
Technique de modélisation collaborative permettant de cartographier les processus métier sous forme d'événements. Le candidat doit avoir pratiqué cette méthode en atelier avec les parties prenantes.
Architecture Hexagonale
Aussi appelée "Ports & Adapters", cette architecture sépare strictement la logique métier des détails techniques (base de données, API, etc.). Le candidat doit avoir conçu et implémenté ce type d'architecture.
CQRS (Command Query Responsibility Segregation)
Principe de séparation entre les opérations d'écriture (commandes) et de lecture (requêtes). Le candidat doit comprendre quand et pourquoi utiliser ce pattern, notamment avec les projections de données.
Event Sourcing
Technique où les changements d'état sont stockés comme une séquence d'événements plutôt que comme un état final. Le candidat doit avoir une expérience pratique de cette approche sur des projets réels.
Event-Driven Architecture et Saga Pattern
Architecture basée sur des événements asynchrones. Le Saga Pattern permet de gérer des transactions distribuées complexes. Le candidat doit avoir orchestré des processus métier via des événements.
Frameworks et technologies
PHP Moderne et Frameworks
Maîtrise avancée de PHP (versions récentes) avec une expertise confirmée sur Symfony OU Laravel. Le candidat doit exploiter pleinement les capacités du framework choisi.
API Platform
Framework spécialisé pour créer des APIs REST et GraphQL. Une expérience concrète avec cet outil est requise.
Message Brokers spécifiques
Expérience obligatoire avec Kafka, RedPanda ou NATS.io (systèmes de messagerie asynchrone pour architectures distribuées). Important : l'expérience avec RabbitMQ seul n'est pas suffisante.
Docker et conteneurisation
Maîtrise de Docker pour le développement et le déploiement d'applications.
Qualité du code et testing
Différence Active Record vs Data Mapper
Compréhension profonde des deux approches de persistance des données et de leurs implications architecturales.
Découpage vs Découplage
Capacité à expliquer et appliquer ces deux concepts fondamentaux en architecture logicielle.
Result Pattern
Technique de gestion explicite des erreurs sans exceptions. Le candidat doit l'utiliser régulièrement dans son code.
Design Patterns classiques
Connaissance et application appropriée des patterns du "Gang of Four" et autres patterns reconnus.
Clean Code et principes SOLID
Pratique quotidienne des principes de code propre, lisible et maintenable.
Stratégies de testing avancées
TDD (Test-Driven Development) : écriture des tests avant le code
BDD (Behavior-Driven Development) : tests basés sur le comportement métier
Pyramide des tests : stratégie d'équilibre entre tests unitaires, d'intégration et end-to-end
Diamond Testing : approche complémentaire favorisant les tests d'intégration
Observabilité et monitoring
OpenTelemetry Standard moderne pour l'observabilité des applications. Le candidat doit savoir instrumenter une application.
Traces, Logs et Métriques Maîtrise des trois piliers de l'observabilité :
Spans/Traces : suivi des requêtes à travers les systèmes distribués
Logs : journalisation structurée
Metrics : collecte de métriques métier et techniques
Votre cadre de travail
Localisation : Rabat
Télétravail : Oui
Nos avantages
🩺 Une mutuelle dynamique pour toute la famille prise en charge à 90%
💰 Une retraite privée
🤝 Un esprit d’équipe fort : entraide, confiance et disponibilité de tous
🚀 Une vraie culture de l’innovation : testez, apprenez et participez à la construction du futur
🏡 Flexibilité de télétravail : adaptée aux besoins de chaque métier
⚖️ Équilibre vie pro / vie perso : une organisation qui respecte vos besoins
- Nos métiers
- Product and tech
- Poste
- Development
- Localisations
- Maroc - Rabat
- Statut à distance
- Hybride
- Type de contrat
- CDI
- Niveau d'emploi
- Niveau Exécutif/Senior
Vous travaillez déjà chez MyUnisoft ?
Recrutons ensemble pour trouver votre prochain collègue.