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).