Poste : Senior Software Development Engineer
Entreprise : Ennovate Ventures Limited
Lieu : Dar es Salaam, Tanzanie
Type de contrat : Contrat
Salaire : TZS 1 500 000+
Secteur : Technologies de l'information
Ennovate Ventures Limited recherche un ingénieur logiciel pour un poste en contrat basé à Dar es Salaam, en Tanzanie. Ce poste relève du secteur des technologies de l'information et offre un salaire de TZS 1 500 000+. L'entreprise recherche un développeur full stack orienté backend avec une solide expérience en Java Spring Boot et NestJS (TypeScript). Le candidat idéal sera chargé de concevoir, développer et maintenir des applications web évolutives et des services backend. Ce poste implique le développement d'API résilientes, l'intégration transparente de services tiers, l'amélioration des performances des applications et la collaboration avec des équipes pluridisciplinaires pour produire des solutions logicielles sécurisées, fiables et de qualité supérieure.
Responsabilités clés :
Développement backend :
Développer, évaluer et mettre en œuvre des solutions backend évolutives en utilisant Java Spring Boot et NestJS (TypeScript).
Développer et maintenir des API RESTful robustes ainsi qu'une architecture de microservices pour garantir une intégration système évolutive et efficace.
Concevoir, implémenter et maintenir des composants de logique métier sécurisés, performants et modulaires pour assurer la réutilisabilité et l'évolutivité des systèmes.
Concevoir et déployer des mécanismes d'authentification robustes, établir des protocoles d'autorisation et configurer des contrôles d'accès basés sur les rôles pour garantir des opérations système sécurisées.
Développer des intégrations transparentes avec des API externes, des passerelles de paiement, des systèmes CRM et d'autres services tiers pour améliorer la fonctionnalité et la connectivité de la plateforme.
Améliorer les systèmes backend en optimisant leurs performances, leur évolutivité et leur fiabilité pour répondre aux demandes évolutives.
Produire un code de haute qualité et évolutif qui respecte les principes établis du génie logiciel, garantissant la lisibilité, la durabilité et une documentation complète pour faciliter la maintenance et le développement futur.
Collaboration frontend et intégration :
Travailler en collaboration avec les équipes de développement frontend pour concevoir et mettre en œuvre des solutions full stack complètes, de la conception à la réalisation.
Faciliter les efforts de développement frontend en utilisant des frameworks JavaScript modernes si nécessaire.
Assurer une interaction ininterrompue entre les applications frontend et les services backend pour maintenir un flux de données et une intégration système efficaces.
Participer aux procédures d'intégration UI et effectuer des tests complets des applications pour garantir un fonctionnement et des performances sans faille.
Tirer parti de votre expertise backend pour améliorer l'expérience utilisateur en concevant et en déployant des systèmes et des solutions efficaces.
Architecture logicielle et conception technique :
Participer activement à des sessions de conception collaborative et contribuer aux décisions architecturales clés pour garantir des solutions techniques optimales.
Concevoir des architectures logicielles évolutives et maintenables.
Concevoir et implémenter des composants et services modulaires capables de servir efficacement plusieurs gammes de produits.
Fournir des solutions conformes aux protocoles de sécurité stricts, aux références de performance robustes et aux principes architecturaux évolutifs.
Préparer la documentation technique et les enregistrements d'architecture système, en garantissant l'exactitude et la clarté de toutes les livrables.
Conception et gestion de bases de données :
Concevoir et maintenir des structures de bases de données relationnelles.
Concevoir et implémenter des requêtes efficaces, des procédures stockées et des couches d'accès aux données pour améliorer les performances du système et assurer une intégration transparente des données.
Assurer la sécurité, l'intégrité et les performances de la base de données.
Mettre en œuvre des stratégies de sauvegarde et de reprise après sinistre.
Assister dans la planification, l'exécution et la supervision des initiatives de migration de données et des efforts d'intégration système pour assurer une transition et une continuité opérationnelle sans heurts.
Collaboration produit et agile :
Collaborer efficacement avec les chefs de produit, les concepteurs UI/UX et les responsables de projet pour convertir les exigences commerciales en solutions techniques bien définies.
Participer à des sessions itératives de planification de sprint, affiner les priorités du backlog produit grâce à des efforts de grooming collaboratif et contribuer activement aux méthodologies de développement agile.
Accomplir systématiquement les tâches assignées dans le respect des délais prédéterminés et des normes de qualité établies.
Faciliter la création rapide de prototypes et d'initiatives de développement de produit minimum viable (MVP) pour accélérer les délais des projets et valider efficacement les concepts.
Fournir un soutien dans l'identification, le diagnostic et la résolution des problèmes liés à la production pour garantir la fiabilité et les performances du système.
Déploiement cloud, DevOps et surveillance :
Déployer et administrer des applications dans des infrastructures cloud, en assurant un déploiement, une configuration et une gestion continus pour optimiser les performances et la fiabilité.
Soutenir la mise en œuvre des méthodologies CI/CD et le développement de pipelines de déploiement automatisés.
Surveiller les performances du système et la santé des applications.
Mettre en œuvre des mécanismes de journalisation, de surveillance et d'alerte.
Garantir que l'infrastructure respecte les normes de sécurité et de fiabilité établies, en appliquant les meilleures pratiques éprouvées pour maintenir des performances et une protection optimales.
Innovation et amélioration continue :
Évaluer et suggérer des technologies, outils et frameworks de pointe pour améliorer l'efficacité opérationnelle et stimuler l'innovation.
Contribuer aux initiatives internes d'innovation produit.
Rechercher proactivement des moyens d'améliorer la qualité du logiciel, d'affiner les processus de développement et d'optimiser les performances du système.
S'engager collaborativement dans des initiatives de partage de connaissances techniques avec les membres de l'équipe pour améliorer l'expertise collective.
**
**
Un diplôme de licence en informatique, génie logiciel, technologies de l'information ou dans un domaine étroitement lié est requis. Les candidats possédant des certifications professionnelles pertinentes seront considérés favorablement.
Un minimum de trois à cinq ans d'expérience professionnelle pratique en développement logiciel est requis.
Expérience avérée dans la livraison d'applications prêtes pour la production.
Les candidats ayant une expérience professionnelle dans les start-ups, la technologie, l'innovation, la fintech, les logiciels d'entreprise ou les environnements de transformation numérique sont fortement préférés.
Compétences techniques :
AWS, Docker, Express.js, Git, GitHub, Kubernetes, Microservices, MySQL, NestJS, Nginx, PostgreSQL, Redis, Spring Boot, TypeScript.
Documents requis :
Certificat de diplôme, Portfolio.
Langues :
Anglais.
[Click the Apply button below to apply, and Create my CV to build a CV tailored to this offer, professionally]
---
How to apply: Click the Apply Now button below to apply, and Create my CV to build a CV tailored to this offer, professionally.