Autonome et expérimenté-e, l'analyste développeur·euse confirmé·e contribue toujours activement au delivery de son équipe tout en intervenant de façon plus marquée sur les phases de conception fonctionnelle et d'élaboration de la solution. Il·elle a aussi un rôle d'accompagnant·e en aidant les profils moins expérimentés à s'améliorer sur les aspects techniques et fonctionnels.
Principales responsabilités
- Analyser les besoins fonctionnels: Comprendre les besoins métiers en travaillant en étroite collaboration avec les utilisateur·rice·s finaux, les Product Owners, Business Analysts et les autres parties prenantes.
- Co-construire des solutions fonctionnelles: Accompagner les utilisateur·rice·s finaux, les Product Owners, Business Analysts dans la conception et la proposition de solutions fonctionnelles répondant à leurs besoins.
- Concevoir des solutions techniques: Proposer des solutions techniques répondant aux besoins identifiés, tout en veillant à l'efficacité, la maintenabilité et la scalabilité de celles-ci.
- Développer et implémenter: Concevoir, développer et tester des applications logicielles en utilisant des langages et des outils de programmation adaptés.
- Garantir la stabilité et l'efficacité des applications en production: Surveiller la performance des applications en production et effectuer des optimisations ou des corrections de bugs si nécessaire.
- Maintenir et partager les savoirs technico-fonctionnels: Maintenir une documentation technico-fonctionnelle à jour, et assurer la transmission des connaissances aux équipes techniques et non techniques.
- Accompagner la montée en compétence: Transmettre, partager, et faire grandir son équipe sur son périmètre technique et fonctionnel.
Qualités et attitude requises
- Être curieux et s'adapter aux changements: Rester informé·e des nouvelles technologies et être ouvert·e aux changements. Avoir un goût pour l'expérimentation et l'apprentissage de nouveaux savoirs.
- Avoir un esprit collaboratif: Travailler efficacement en équipe, en maintenant des échanges respectueux, fluides et transparents avec l'ensemble des collaborateurs.
- Faire preuve de rigueur: Apporter un soin particulier à la qualité de ses réalisations.
- Analyste développeur·euse confirmé·e
- Pouvoir vulgariser: Savoir expliquer les choix technico-fonctionnels aux parties prenantes de façon claire et compréhensible.
- Respecter le cadre: Respecter le cadre organisationnel de son équipe. Comprendre et respecter le cadre technique de la Software Factory.
- Adhérer aux valeurs du Software Craftsmanship: Mettre l'accent sur la qualité du code, la collaboration et l'amélioration continue. S'engager à produire des solutions robustes, testées et maintenables, tout en partageant les bonnes pratiques et en favorisant l'apprentissage au sein de l'équipe
- Avoir un esprit orienté solution: Aborder chaque problème avec une approche proactive et pragmatique, en recherchant des alternatives efficaces plutôt que de se focaliser sur les obstacles.
- Organiser efficacement son travail: Savoir gérer son temps dans le respect des priorités tout en communicant sur ses difficultés.
- Être capable de se remettre en question: Rechercher des retours sur son travail et les accueillir de manière ouverte et constructive.
- Être capable de formuler un retour : Être capable d'effectuer des retours réguliers, factuels, bienveillants et constructifs à ses pairs.
- Faire preuve d'initiative: Être capable de conserver un haut niveau de productivité même sans supervision directe et pouvoir s'approprier de nouvelles technologies de manière autonome.
Compétences:
- Maîtrise d'au moins un langage de programmation : Scala, TypeScript, Java, Python, JavaScript, etc.
- Expérience avec les frameworks et outils de développement : Play framework, Angular, Spring, React, Node.js, etc.
- Compétences en bases de données : SQL, NoSQL
- Expérience avec les systèmes de gestion de versions : GIT, GitHub Enterprise, etc.
- Connaissance des principes de CI/CD et des outils associés : Jenkins, GitHub Actions, Docker, Kubernetes
- Pratiques DevSecOps : Principes de sécurité des applications, utilisation des outils d'analyse statique de code, de monitoring et de logging.
- Cadre d'architecture fonctionnelle : Principes d'urbanisation et les finalités des principaux artefacts associés (Plan d'Occupation des Sols, Plan d'Affectation des Sols, Plan Domanial).
- Maîtrise de l'architecture logicielle : Conception de systèmes logiciels robustes et évolutifs, connaissance des différents types d'architectures (hexagonale, ...) et des principes comme event sourcing et CQRS.
- Maitrise des concepts du Software Craftsmanship : Connaitre et pouvoir appliquer les principes tels que clean tests, clean code, clean architecture.
- Expérience souhaitée : Une expérience significative en tant qu'analyste développeur·euse est requise.