Les missions du poste
Umake est un jeune cabinet d'ingénierie spécialisé dans l'IT/Digital qui accompagne ceux qui façonnent le monde de demain.
Nous sommes animés par trois piliers :
- Excellence : Nous nous entourons de collaborateurs passionnés pour accompagner nos clients dans leurs projets.
- Durabilité : Nous avons la volonté de laisser une empreinte positive sur notre écosystème en contribuant à des actions sociétales dans chaque région où nous sommes implantés. Nous construisons des relations pérennes avec les Umakers, clients et partenaires.
- Humain : La proximité, la confiance et une véritable écoute sont au coeur de notre démarche pour ton épanouissement professionnel.
Notre état d'esprit est de faire de Umake ton partenaire de carrière privilégié.
En nous rejoignant, tu bénéficieras d'un accompagnement spécifique avec un manager à ton écoute, car ton épanouissement et la construction de ton avenir professionnel sont nos priorités. Ensemble, incarnons une nouvelle façon de vivre notre métier. Ensemble, construisons le conseil qui nous rassemble.
- Concevoir, développer et maintenir des applications logicielles basées sur le langage C++ pour des environnements variés : logiciels embarqués, applicatifs métier, systèmes temps réel, outils desktop ou solutions industrielles.
- Participer à la conception de l'architecture technique des applications et composants logiciels en C++.
- Participer à l'analyse des besoins techniques et fonctionnels en collaboration avec les équipes métier, les chefs de projet et les équipes techniques.
- Rédiger les spécifications techniques à partir des besoins fonctionnels.
- Développer des composants logiciels performants, robustes et maintenables en C++.
- Concevoir et intégrer des interfaces entre différents modules logiciels, bibliothèques ou systèmes tiers.
- Participer à l'intégration avec des bases de données ou systèmes de communication selon le contexte du projet.
- Mettre en place des tests unitaires, d'intégration et de validation pour garantir la qualité du code.
- Participer à la revue de code et au contrôle qualité via des outils de gestion de version et d'intégration continue.
- Assurer la correction des anomalies, le débogage et l'optimisation des performances applicatives.
- Rédiger la documentation technique et contribuer à la maintenance évolutive et corrective des solutions existantes.
- Participer à la veille technologique autour de l'écosystème C++, des frameworks associés et des bonnes pratiques de développement logiciel.
Le profil recherché
Compétences techniques requises
Développement
C++ / C++11 / C++14 / C++17 / C++20
Programmation orientée objet, générique et bas niveau
STL, templates, gestion mémoire, RAII, smart pointers
Développement multiplateforme sous Linux et/ou Windows
Frameworks et bibliothèques : Qt, Boost, STL, CMake
Tests unitaires et frameworks de test (Google Test, Catch2, CppUnit)
Systèmes / Architecture
Conception logicielle et architecture modulaire
Programmation multithreadée et concurrente
Optimisation des performances et gestion des ressources
Débogage, profiling et analyse mémoire
Développement orienté performance, robustesse et fiabilité
Bases de données / Communication (selon projet)
SQL, SQLite, PostgreSQL ou MySQL
Systèmes de communication inter-processus
Protocoles réseau, sockets TCP/IP, bus de communication ou middleware
Intégration d'API, bibliothèques tierces et services externes
Outils & pratiques
Git / GitHub / GitLab
CI/CD : Jenkins, GitLab CI, GitHub Actions, Azure DevOps
CMake, Makefile, Conan ou vcpkg
Méthodologies Agile / Scrum / Kanban
Bonnes pratiques de développement sécurisées, revue de code, SOLID, Design Patterns
Compétences comportementales (soft skills)
Esprit analytique et rigueur
Capacité à résoudre des problèmes techniques complexes
Autonomie et sens de l'initiative
Travail en équipe et collaboration interdisciplinaire
Communication claire et documentation
Gestion des priorités et respect des délais
Profil recherché
- Bac +5 en informatique ou équivalent
- 5 ans d'expérience en développement C++
- Expérience avec applications web et API
Compétences requises
- C++
- Programmation
- Esprit d'analyse
- SQL