Capgemini
Cyncly
Sr Tech Lead.
À propos du rôle
Ingénieur logiciel principal
Rejoignez un leader mondial des solutions logicielles basées sur le cloud pour l'industrie de la conception d'espaces. En tant qu'Ingénieur logiciel principal, vous travaillerez sur la plateforme Flex, une plateforme cloud avec des composants métier et centraux connectant les applications et produits Cyncly, y compris des applications web modulaires, des micro frontend, des microservices, des bases de données SQL/NoSQL, le stockage Blob Azure et les services Cloud Azure. Ceci est aligné sur le contexte existant de la plateforme Flex décrit pour les rôles d'Ingénieur logiciel senior, Chef d'équipe et Gestionnaire technique.
Dans ce rôle, vous agirez en tant que référence technique pour des solutions complexes, aidant les équipes à concevoir des systèmes évolutifs, sécurisés, de haute qualité et rentables. Vous guiderez les décisions techniques, mentorerez les ingénieurs, collaborerez avec les chefs d'équipe et les gestionnaires techniques, et aiderez à garantir que l'architecture, les pratiques d'ingénierie, l'automatisation et les normes de livraison sont appliquées de manière cohérente sur toute la plateforme. Ceci s'appuie sur les responsabilités déjà présentes dans les rôles d'Ingénieur logiciel senior, Chef d'équipe, Gestionnaire technique, Automatisation QA et DevOps senior, y compris le mentorat, la collaboration architecturale, la qualité du code, l'automatisation, les normes de sécurité, les pratiques DevOps et le leadership technique interfonctionnel.
Ce poste est idéal pour une personne ayant une expérience pratique approfondie en ingénierie, capable d'influencer la direction technique, de résoudre des problèmes critiques, d'élever les normes d'ingénierie et de soutenir les équipes dans la livraison de produits SaaS de classe mondiale dans un environnement agile. Les rôles existants mettent l'accent sur la livraison de haute qualité, les méthodes de travail agiles, la documentation technique, le mentorat, le dépannage et la collaboration interdisciplinaire.
Lieu : Brésil (100% Télétravail ou Hybride pour les résidents de Serra Gaúcha)
Devise de rémunération : Real brésilien (BRL)
Contrat : Temps plein permanent (CLT) - 42h/semaine
À propos de nous
Cyncly est un leader technologique mondial comptant plus de 2,400 employés et plus de 70,000 clients dans plus de 100 pays. Cyncly transforme la manière dont les produits et espaces personnalisables sont imaginés, conçus, vendus, gérés et fabriqués. Nos solutions logicielles de bout en bout connectent les designers professionnels, les détaillants et les fabricants au plus grand référentiel mondial de contenu produit. Aujourd'hui, notre activité s'étend aux secteurs de la cuisine et de la salle de bain, du mobilier, des fenêtres, du verre et des portes, ainsi que des revêtements de sol, avec des opérations en Amérique du Nord et du Sud, en Europe, en Asie-Pacifique et en Afrique.
Cyncly apporte plus de 30 ans d'expérience pour offrir plus de valeur à nos clients grâce à un portefeuille élargi de solutions de bout en bout. Notre présence mondiale nous permet de fournir un support et des ventes de classe mondiale avec une touche locale, offrant la meilleure expérience client possible.
Cyncly se lance maintenant dans un voyage passionnant alors que nous continuons à nous développer grâce à une forte croissance organique et à des acquisitions complémentaires, soutenues par des sociétés de capital-investissement leaders spécialisées dans la technologie.
Responsabilité
- Définir, guider et examiner les solutions techniques pour des capacités de plateforme complexes, en s'assurant qu'elles sont évolutives, sécurisées, maintenables, performantes et rentables. Les rôles d'ingénierie logicielle existants mettent déjà l'accent sur le code performant, la haute disponibilité, les normes de sécurité et la conception de solutions robustes.
- Agir en tant qu'autorité technique pour la plateforme Flex, en soutenant les ingénieurs, les chefs d'équipe, les gestionnaires techniques, le QA, les DevOps et les architectes dans la prise de décisions techniques à long terme. Cela reflète l'attente existante que les rôles seniors collaborent avec les architectes, servent de références techniques et guident les membres de l'équipe sur les meilleures pratiques.
- Diriger la conception et l'évolution des modèles d'architecture logicielle, y compris les microservices, l'architecture événementielle, CQRS, BFF, la conception API, l'architecture frontend et les modèles cloud-natifs. Ces sujets d'architecture sont déjà listés comme connaissances requises pour les rôles d'Ingénieur logiciel senior, Chef d'équipe et Gestionnaire technique.
- Fournir du mentorat technique et du coaching aux ingénieurs seniors, intermédiaires, juniors et stagiaires, en aidant à améliorer la qualité du code, la pensée de conception, le débogage, les tests et les pratiques d'ingénierie. Les rôles existants incluent déjà le mentorat de stagiaires, de développeurs juniors, intermédiaires, de débutants et d'autres programmeurs.
- Examiner les conceptions critiques, les pull requests et les approches d'implémentation pour garantir un code propre, la qualité, la performance, la maintenabilité et la conformité aux normes de sécurité définies par l'entreprise. Le rôle de Chef d'équipe inclut explicitement les revues de pull requests pour un code propre, la qualité, la performance, la rentabilité et les normes de sécurité.
- Collaborer avec les équipes Produit, QA, DevOps, Sécurité et Opérations Cloud pour garantir que les fonctionnalités sont livrées avec une qualité solide, une automatisation, une observabilité, une préparation CI/CD et des pratiques sécurisées par défaut. Le rôle d'Automatisation QA inclut la collaboration avec les équipes Produit/Testeurs et la maintenance de l'automatisation, tandis que le rôle de DevOps senior inclut la collaboration avec les équipes de sécurité et d'opérations cloud et les modèles sécurisés par défaut.
- Promouvoir la cohérence de l'ingénierie entre les équipes en promouvant des normes pour les APIs, les micro frontend, les tests automatisés, la CI/CD, le branching, la documentation et les pratiques SDLC. Les rôles existants exigent des connaissances sur le SDLC, les tests d'automatisation, la documentation technique, la CI/CD, les pratiques SCM et le DevOps Azure.
- Soutenir le dépannage et la résolution de problèmes complexes de production ou de plateforme, en aidant les équipes à identifier les causes profondes et à mettre en œuvre des correctifs durables. Les rôles d'Ingénieur logiciel senior, Chef d'équipe et Gestionnaire technique incluent tous le dépannage et le débogage pour une correction plus rapide des défauts.
- Contribuer activement aux tâches de développement à fort impact si nécessaire, en particulier dans les domaines nécessitant une expertise technique avancée ou un alignement inter-équipes. Les rôles techniques et seniors existants sont censés développer du code, concevoir des interfaces, construire des systèmes à haute disponibilité et livrer avec qualité.
- Communiquer clairement les concepts techniques à différents publics, y compris les ingénieurs, les chefs d'équipe, les gestionnaires techniques, les parties prenantes du produit et la direction. Le rôle de Gestionnaire technique inclut explicitement la communication de concepts techniques à l'équipe, et plusieurs rôles exigent de solides compétences en communication en anglais.
Vous devez avoir
- Diplôme de licence en informatique, ingénierie logicielle, technologie de l'information ou un domaine connexe, conformément à l'exigence utilisée pour les rôles existants d'ingénierie logicielle, QA, DevOps, Chef d'équipe et Gestionnaire technique.
- Solide expérience professionnelle en développement logiciel, y compris une solide expérience pratique en backend, frontend, cloud et systèmes distribués. Les rôles de Chef d'équipe et de Gestionnaire technique exigent déjà 10+ années d'expérience en développement logiciel/programmation.
- Solide expérience dans le développement de REST APIs et la conception de solutions évolutives orientées services ou basées sur des microservices. Expérience en REST API et connaissance des microservices.
- Solide expérience avec les technologies frontend telles que HTML, CSS, Angular, JavaScript, TypeScript, React, ou d'autres frameworks JavaScript modernes.
- Solide expérience avec C# et l'écosystème .NET.
- Solide connaissance de l'architecture logicielle, des principes de conception et des modèles de conception, y compris SOLID, DDD, microservices, event sourcing, CQRS et BFF.
- Solide expérience avec les bases de données relationnelles et NoSQL, telles que SQL Server, Cosmos DB, MongoDB, ou des technologies similaires.
- Solide compréhension du développement cloud-natif, de la haute disponibilité, de la performance, de l'évolutivité et des pratiques de développement logiciel sécurisé.
- Expérience de travail dans des équipes d'ingénierie agiles, full-stack, au rythme rapide, axées sur la livraison de produits de haute qualité.
- Solide compréhension des tests automatisés, des tests unitaires, des tests API et des pratiques d'ingénierie de la qualité.
- Solides compétences en dépannage, débogage, analyse, résolution de problèmes et prise de décision.
- Capacité à encadrer des ingénieurs, à influencer la direction technique et à fournir des recommandations techniques claires à la direction et aux parties prenantes.
- Bonnes compétences en communication en anglais, à l'oral et à l'écrit, adaptées au travail dans un environnement mondial.
- Expérience avec les services Azure, l'infrastructure Azure et le déploiement DevOps Azure.
- Bonne connaissance pratique des pratiques d'intégration continue et de livraison continue à l'aide de DevOps Azure ou d'outils similaires.
- Expérience avec DevOps, DevSecOps, GitHub Enterprise, Azure DevOps, GitHub Advanced Security, SAST, SCA, DAST et les pratiques de SDLC sécurisé
- Expérience avec l'Infrastructure as Code utilisant Terraform, Bicep ou des outils similaires.
- Expérience avec le développement piloté par les tests, l'architecture de microservices, les tests de performance et les frameworks d'automatisation.
- Connaissance des pratiques courantes de SCM, y compris les stratégies de branchement, les revues de code et les fusions de code.
- Capacité à bien travailler dans des situations ambiguës, à prendre des décisions techniques difficiles et à guider les équipes vers des résultats à long terme. La flexibilité, l'adaptabilité, la prise de décisions difficiles et les recommandations techniques à long terme sont essentielles.
