Ingénieur Logiciel Sénior C++ - Audit & Refactoring - CDI H/F
Collective
Paris, France
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
French Experience level
SeniorJob location
Paris, France
Tech stack
Clean Code Principles
Business Logic
C++
CMake
Databases
Graphical User Interface
PostgreSQL
Software Architecture
QT
SonarQube
Multithreading
Kafka
Domain Driven Design
Code Restructuring
Job description
- Audit de code : analyser le code C++ existant, évaluer la modularité, la testabilité et la gestion des dépendances (Conan).
- Analyse critique du framework UI : traquer le couplage fort entre l'interface graphique (Qt) et la logique métier pour préparer un découplage.
- Performance & Concurrence : diagnostiquer la gestion du multi-threading, les accès concurrents à la base de données (PostgreSQL) et l'intégration du bus de messages (Kafka).
- Préconisations & ROI : rédiger des rapports d'audit factuels et proposer des solutions de refactoring chiffrées (estimation des jours/hommes, analyse des gains de maintenabilité).
- Mentoring technique : travailler en étroite collaboration avec le Lead Architecte et évangéliser les bonnes pratiques (C++20, Clean Code) auprès des équipes clientes.
Stack technique & Environnement
- Langage & librairies : C++11 vers C++20, STL, framework Qt (5.9 vers 6.8).
- Outils : GCC, Conan (gestion de paquets), CMake, SonarQube.
- Data & flux : PostgreSQL, bus Kafka.
- Méthodologies : refactoring, Domain Driven Design (DDD), Event Design.
Requirements
-
5 à 10 ans d'expérience en développement et architecture logicielle C++ dans des environnements industriels complexes
-
Capacités rédactionnelles et de synthèse (rédaction de dossiers d'architecture et de rapports d'audit)
About the company
Ingénieur / Expert Logiciel Sénior C++ spécialisé dans l'audit et le refactoring de code au sein d'environnements industriels complexes. Collaboration étroite avec le Lead Architecte pour améliorer la qualité et la maintenabilité des applications.