Titre : Ingénieur Data - Spécialiste Python (Remote)
Lieu : Remote
Fablab Generation-5 une entreprise innovante dans le domaine de la technologie et de l'analyse de données, est à la recherche d'un Ingénieur Data expérimenté en Python pour un poste à télétravail complet. Si vous êtes un expert en Python, SQLAlchemy, FastAPI et Alembic, et que vous aimez travailler sur des défis complexes en matière de données, rejoignez-nous pour faire avancer notre mission.
Responsabilités :
- Concevoir et développer des architectures de données efficaces et évolutives.
- Programmer et maintenir des APIs avec FastAPI pour optimiser la disponibilité des données.
- Effectuer des migrations et des mises à jour de bases de données en utilisant Alembic.
- Travailler en étroite collaboration avec les équipes de développement pour intégrer des solutions analytiques et de business intelligence.
- Assurer la qualité et la performance des systèmes de données à grande échelle.
- Mettre en œuvre des tests automatisés en utilisant Pytest pour garantir l'intégrité et la performance de toutes les intégrations de données et APIs.
Qualifications requises :
- Diplôme en informatique, ingénierie logicielle, ou domaine connexe.
- Au moins 3 ans d'expérience professionnelle en programmation Python.
- Expertise confirmée en SQLAlchemy, FastAPI et Alembic.
- Expérience avec les bases de données SQL et NoSQL.
- Capacité prouvée à travailler de manière autonome et en équipe, avec un esprit critique et résolutif.
- Maîtrise parfaite de l'anglais technique.
Ce que nous offrons :
- La flexibilité du télétravail complet.
- Un package de rémunération attractif.
- Une culture d'entreprise dynamique avec une forte orientation vers l'innovation et la créativité.
Pour postuler, envoyez votre CV et lettre de motivation à (adresse email). Veuillez indiquer clairement vos réalisations antérieures pertinentes et comment vous pouvez contribuer à notre entreprise.
Exercice à rendre par mail avant Entretien pour Ingénieur Data
Objectif : Développer une petite application API avec FastAPI qui expose une base de données simple gérée par SQLAlchemy. L'application doit permettre de créer, lire, mettre à jour et supprimer des enregistrements de données utilisateur.
Instructions :
1. Configuration de l'Environnement :
o Installez FastAPI, SQLAlchemy, Alembic.
2. Développement de l'API :
o Créez une base de données SQLite ou Mysql ou PostgreSQL avec SQLAlchemy. La base de données doit contenir une table users
o Utilisez Alembic pour gérer les migrations de la base de données.
o Développez des routes FastAPI pour :
Ajouter un nouvel utilisateur
Récupérer les informations d'un utilisateur par son ID
Mettre à jour les données d'un utilisateur par son ID
Supprimer un utilisateur par son ID
o Assurez-vous que l'API renvoie des réponses appropriées pour chaque opération, y compris la gestion des erreurs (par exemple, utilisateur non trouvé).
3. Tests :
o Écrivez des tests unitaires avec Pytest pour chaque fonctionnalité de l'API.
o Assurez-vous que les tests couvrent les scénarios de succès et d'erreur.
4. Documentation :
o Documentez comment configurer et exécuter l'application, y compris la base de données et les migrations.
o Fournissez une documentation pour l'API avec des exemples de requêtes et de réponses.
Livraison :
- Soumettez le code source via un dépôt GitHub ou GitLab.
- Incluez un fichier README avec des instructions détaillées pour installer et exécuter l'application et les tests.
Évaluation :
- Qualité du code et respect des bonnes pratiques de développement en Python.
- Fonctionnalité complète de l'API selon les spécifications.
- Complétude et qualité des tests unitaires.
- Clarté et utilité de la documentation.
Points Bonus :
1. Utilisation de Docker Compose
Experience: 12 Mois
Qualification: Employé qualifié
Secteur d'activité: Formation continue d'adultes
Liste des qualités professionnelles:
Faire preuve de rigueur et de précision : Capacité à réaliser des tâches en suivant avec exactitude les règles, les procédures, les instructions qui ont été fournies, sans réaliser d'erreur et à transmettre clairement des informations. Se montrer ponctuel et respectueux des règles de savoir-vivre usuelles.
Organiser son travail selon les priorités et les objectifs : Capacité à planifier, prioriser, anticiper des actions, en tenant compte des moyens, des ressources, des objectifs et du calendrier pour les réaliser.
Prendre des initiatives et être force de proposition : Capacité à initier, imaginer des propositions nouvelles pour résoudre les problèmes identifiés ou améliorer une situation. Être proactif.
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.