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.