Ingénieur DevOps
Direction technique · Ingénierie cloudContexte du poste
UBIQ conçoit et exploite des plateformes transactionnelles pour des opérateurs d'Afrique de l'Ouest. Les environnements de production sont décrits en Terraform et répartis sur plusieurs régions AWS, complétés par des environnements GCP et on-premise. Les applications sont déployées sous Docker.
L'essentiel est déjà décrit en code et largement automatisé : mises à jour, sauvegardes, restaurations et supervision tournent aujourd'hui pour l'essentiel sans intervention manuelle. Le poste consiste à en reprendre l'exploitation courante, à empêcher qu'elle dérive, et à étendre l'automatisation à ce qui y échappe encore. Vous héritez d'un socle qui fonctionne, pas d'un chantier à ouvrir ni d'un existant à rattraper.
Le poste est ouvert à partir d'une première expérience, y compris acquise en autoformation ou sur des projets personnels. La sélection porte sur la méthode de travail et la capacité à monter en compétence, davantage que sur la liste des technologies déjà pratiquées. Le périmètre confié s'élargit progressivement : supervision et environnements de test d'abord, production ensuite.
Missions
Exploitation et supervision
- Assurer le suivi quotidien des environnements de production, avec le reste de l'équipe technique.
- Traiter les alertes : qualification, diagnostic, correction, puis suivi jusqu'à la résolution durable.
- Maintenir les tableaux de bord, les indicateurs et les seuils d'alerte.
- Produire le rapport périodique d'exploitation : incidents, interventions, opérations automatisées, écarts en cours.
Infrastructure as code
- Faire évoluer le code Terraform décrivant les environnements AWS, GCP et on-premise.
- Mettre à jour les modules et les versions de fournisseurs, préparer les plans et les soumettre à revue avant application.
- Documenter les changements et maintenir la cohérence entre le code et l'infrastructure réelle.
- Renforcer les contrôles automatiques de la chaîne d'intégration (formatage, validation, plan, analyse de conformité) pour que la relecture humaine se concentre sur les changements à risque.
Automatisation
- Maintenir en état l'automatisation existante : mises à jour système des instances, sauvegardes, restaurations, rotation des secrets, renouvellement des certificats.
- Étendre cette automatisation aux opérations qui restent manuelles, et vérifier que chacune aboutit et remonte ses échecs.
- Réduire le nombre d'interventions humaines nécessaires à l'exploitation courante.
Sécurité et traçabilité
- Appliquer la politique d'attribution des droits : accès nominatifs, périmètre limité au nécessaire, revue à échéance fixe.
- Veiller à la collecte, à la conservation et à l'exploitabilité des journaux d'administration et d'accès.
- Suivre les vulnérabilités remontées sur les images et les instances, et les traiter selon leur criticité.
- Tenir à jour les procédures d'exploitation, pour que chaque opération sensible soit reproductible par quelqu'un d'autre.
Déploiements applicatifs
- Accompagner la mise en production des applications conteneurisées sous Docker.
- Maintenir les registres d'images, les procédures de déploiement et de retour arrière.
- Vérifier les images publiées : versions de base, dépendances, résultats des analyses de vulnérabilités.
Ce qui est attendu à douze mois
- L'exploitation courante est tenue en autonomie et tracée : les alertes sont qualifiées et traitées sans que la direction technique ait à intervenir sur les cas ordinaires, et chaque intervention laisse une trace de ce qui a été fait et pourquoi.
- L'activité d'exploitation donne lieu à un rapport périodique : incidents survenus, interventions menées, opérations automatisées et leurs échecs, écarts restant à traiter.
- La relecture systématique des changements a été remplacée par des contrôles automatiques dans la chaîne d'intégration, la relecture humaine restant réservée aux opérations destructrices ou touchant la production.
- Le socle ne dérive pas : modules Terraform, versions de fournisseurs, images de base, dépendances et certificats sont suivis et à jour.
- Les opérations restées manuelles ont été identifiées puis automatisées, chacune avec son contrôle de bon aboutissement.
- Les déploiements applicatifs sont accompagnés de bout en bout, retour arrière compris.
Compétences requises
- Bases solides en administration Linux : système de fichiers, services, réseau, lecture de journaux.
- Pratique de Docker : construire une image, la publier, la faire tourner, comprendre pourquoi elle ne démarre pas.
- Des notions réelles de Terraform et d'AWS : avoir déjà écrit un module et déployé quelque chose, même sur un projet personnel ou de formation. Le poste repose largement sur ces deux outils.
- Un langage de script, Python ou Bash, avec du code que vous pouvez montrer et expliquer.
- Git au quotidien.
- Français courant, anglais technique lu.
Compétences appréciées
- Une expérience de développement applicatif, même courte : avoir écrit, livré et débogué du code. Le poste n'est pas un poste de développeur, mais la compréhension du cycle de vie d'une application est déterminante pour en automatiser le déploiement.
- Une pratique de Terraform ou d'AWS en environnement professionnel : IAM, VPC, EC2, RDS, S3, gestion des états, lecture d'un plan avant application.
- Une expérience de GCP ou d'environnements on-premise.
- Un usage courant de Claude Code ou d'un assistant équivalent, et la capacité d'expliquer ligne par ligne ce qu'il a produit avant de l'appliquer.
Ce que nous regardons en priorité
- Votre façon de décomposer un problème que vous ne connaissez pas. C'est le critère principal.
- Ce que vous avez appris seul ces deux dernières années, et comment vous vous y êtes pris.
- Vos projets personnels, laboratoire à la maison, contributions, scripts, même modestes. Un dépôt public vaut mieux qu'une ligne sur un CV.
- Ce que vous avez développé vous-même, et ce que cette expérience vous a appris sur ce qui casse en production.
- Ce que vous vérifiez avant d'appliquer ce qu'un modèle vous propose, et ce que vous refusez d'appliquer.
- Votre capacité à écrire ce que vous faites, pour que quelqu'un d'autre puisse le refaire.
Accompagnement
- Pendant la phase de prise en main, chaque changement d'infrastructure est relu par un ingénieur senior avant d'être appliqué.
- Montée en charge progressive sur les environnements : les périmètres sensibles s'ouvrent au fur et à mesure, pas le premier mois.
- Prise en charge des certifications AWS Solutions Architect Associate et HashiCorp Terraform Associate : frais d'examen et temps de préparation inclus.
- Une revalorisation de la rémunération est prévue à douze et à vingt-quatre mois, conditionnée aux objectifs atteints et aux certifications obtenues. Les paliers correspondants sont fixés à l'embauche et annexés au contrat.
- Accès aux mêmes outils que le reste de l'équipe, Claude Code compris.
Conditions d'exercice
- Poste basé à Abidjan, Cocody Deux Plateaux 7e Tranche, avec présence sur site.
- Contrat de droit ivoirien, temps plein.
- Aucun diplôme n'est exigé si les compétences sont démontrables.
- Le poste comporte des astreintes : interventions possibles en dehors des heures ouvrées, la nuit et le week-end, en rotation avec les autres membres de l'équipe technique. L'astreinte est indemnisée selon les modalités prévues au contrat.
- L'entrée dans la rotation d'astreinte intervient après la période de prise en main, une fois les procédures d'exploitation maîtrisées.
- Le poste ouvre l'accès à des environnements sensibles. Les droits sont attribués au juste nécessaire, revus périodiquement, et les opérations d'administration sont journalisées.
Processus de recrutement
- Examen du dossierRéponse sous cinq jours ouvrés.
- Entretien de présentationTrente minutes avec la direction technique : votre parcours, ce que vous avez construit, le contexte du poste.
- Séance techniqueUne heure, en partage d'écran ou dans nos bureaux, sur un problème réel. La première partie se fait sans outil : vous lisez et vous commentez à voix haute. La seconde avec vos outils habituels, Claude Code compris. Vous pouvez chercher, poser des questions et vous tromper : c'est la méthode qui est évaluée. Rien à préparer, rien à rendre avant.
- Rencontre de l'équipe et propositionVous rencontrez les personnes avec qui vous travaillerez, puis nous vous faisons une proposition.
Modalités de candidature
Adressez votre curriculum vitae à recrutement@ubiq.ci en rappelant la référence UBIQ-2026-INF-01. Joignez le lien vers un dépôt, un projet ou un laboratoire personnel si vous en avez un, et décrivez en quelques lignes quelque chose que vous avez automatisé : ce que vous faisiez avant, et ce que ça a changé.
Les dossiers sont examinés par un ingénieur de l'équipe. Nous répondons à toutes les candidatures. Les données transmises sont conservées douze mois puis supprimées ; vous pouvez en demander la suppression à tout moment à la même adresse.
Postuler à cette offre →