Position Description:
Mode de travail: Hybride, 3 jours/semaine en présentiel
Mission principale
Les développeurs auront pour responsabilité d'analyser, diagnostiquer et améliorer les performances globales du système, en intervenant à la fois au niveau du code, des algorithmes et de l'architecture.
Responsabilités
-Analyser l'architecture applicative existante afin de comprendre les flux de traitement et les contraintes techniques
-Identifier les goulots d'étranglement (CPU, mémoire, I/O, concurrence, etc.)
-Proposer et mettre en œuvre des optimisations pertinentes, incluant :
- refactoring de code critique
-amélioration des structures de données et des algorithmes
-optimisation bas niveau (gestion mémoire, cache, allocations, etc.)
- simplification ou adaptation de certains choix de conception lorsque nécessaire
-Mettre en place des stratégies de parallélisation et d'exécution concurrente efficaces
-Mesurer, comparer et documenter les gains de performance obtenus
-Collaborer avec les équipes existantes pour intégrer les optimisations sans régression
Your future duties and responsibilities:
fonctionnelle
Compétences techniques requises
-Excellente maîtrise du C++
-Très bonne compréhension des architectures logicielles et systèmes
-Solides compétences en algorithmie et en complexité (temps/mémoire)
-Expérience concrète en optimisation de performance applicative
-Maîtrise des outils de profiling et de mesure de performance
-Bonne connaissance des problématiques de concurrence et de multithreading (threads, mutex, lock-free, etc.)
-Compréhension des mécanismes bas niveau (cache CPU, pipeline, mémoire, etc.)
Compétences complémentaires appréciées
-Expérience sur des systèmes à forte contrainte de performance ou temps réel
-Connaissance des architectures distribuées ou des systèmes haute performance (HPC)
-Expérience avec des environnements Linux
Required qualifications to be successful in this role:
Profil recherché
-Esprit analytique et orienté résolution de problèmes complexes
-Capacité à challenger les choix techniques existants de manière constructive
-Autonomie et rigueur dans la démarche de mesure et d'optimisation
-Bonne capacité de communication pour vulgariser des problématiques techniques
CGI offre une estimation raisonnable de la fourchette salariale pour ce poste. Le calcul de cette fourchette dépend de divers facteurs, notamment le niveau de compétence, le marché géographique, l’expérience, la formation ainsi que les licences et certifications professionnelles. Les décisions en matière de rémunération dépendent des particularités de chaque situation. Une estimation raisonnable de cette fourchette salariale se situe entre 80 $ et $. Ce poste est actuellement vacant.
#LI-AM1
Skills:
- French
- C++
- Communication
- Data Architecture
- Linux
- Software Architecture