EN
Development-engineering

Développeur .NET sénior

Sénior

Télétravail CBZ Technologies
100 000 $ - 140 000 $ (Permanent) 90 $ - 120 $ (Pigiste)

Développez des applications d'entreprise critiques avec la robustesse du framework .NET. Relevez des défis techniques complexes au sein d'environnements Microsoft.

Responsabilités

  • Développer des applications d'entreprise robustes utilisant le framework .NET et C#.
  • Concevoir des architectures logicielles modulaires et maintenables.
  • Optimiser les performances des applications et des bases de données SQL Server.
  • Encadrer l'équipe de développement et promouvoir les bonnes pratiques (SOLID, Clean Code).

Exigences

  • Avoir CINQ (5) ans d’expérience comme développeur .NET.
  • Avoir de l’expérience avec des concepts du langage .NET incluant la programmation concurrente.
  • Maîtriser les principes SOLID.
  • Avoir programmé un service Web (Web API).
  • Avoir l’expérience de séparer son code en fonction d’une architecture en couche.
  • Avoir utilisé une librairie d’injection de dépendances telles que Castle Windsor, Unity, Autofac, etc.
  • Avoir programmé la persistance d’objets, avoir proposé un modèle physique optimisé et avoir développé une application Web connectée dans une BD relationnelle.
  • Avoir identifié, analysé, proposé et modélisé une solution pour implanter une fonctionnalité et avoir identifié des problèmes et bogues éventuels dans les revues de code.
  • Avoir créé des structures de BD incluant des tables, des séquences, des vues, des triggers et des procédures.
  • Avoir l’expérience de faire des requêtes SQL complexes intégrant notamment la pagination, les groupements et les fonctions analytiques.
  • Avoir de l’expérience avec les particularités des BD Oracle.
  • Avoir créé et géré des branches/étiquettes dans le système de gestion des versions.
  • Connaître les principales caractéristiques d'un API REST.
  • Avoir l’expérience de proposer et faire appliquer les design patterns OO.
  • Avoir de l’expérience pour structurer le code en fonction des principes et besoins de l’architecture organique.
  • Avoir l’expérience de proposer et modéliser une solution pour implanter une fonctionnalité en utilisant des composants techniques complexes tels que des micro-services et des tâches asynchrones.
  • Avoir analysé la performance de requêtes SQL et proposé des améliorations.
  • Avoir de l’expérience avec d’autres outils de bases de données tels que : a. Des outils d’indexation et de recherche de données, par exemple, Elasticsearch; b. Des agents de messages, par exemple Kafka.
  • Avoir de l’expérience avec toutes les fonctionnalités d’un système de gestion des versions.
  • Avoir l’expérience de gérer, d’encadrer et d’assurer la qualité d’un processus de livraison (release).