Détails du Stage
Évolution du Stage
- Apprentissage des Langages : Au début du stage, j'ai consacré du temps à apprendre les bases de TypeScript et de Kotlin, car je n'avais aucune expérience préalable avec ces langages.
- Interprétation du Code TypeScript : Après avoir acquis des connaissances de base en TypeScript et en Kotlin, j'ai commencé par interpréter le code TypeScript existant.
- Création de l'Environnement de Test : J'ai ensuite créé l'environnement de test sur la branche Kotlin, incluant la connexion à une base de données ClickHouse via des testcontainers.
- Réalisation de Tests d'Intégration : J'ai effectué environ 35 tests d'intégration Kotest, totalisant environ 800 lignes de code. L'optimisation de ces tests s'est faite en les lançant tous sur des testcontainers.
- Réunions Quotidiennes : Les réunions d'équipe en visioconférence tous les jours étaient essentielles pour présenter mes avancées, poser des questions et recevoir des conseils.
- Collaboration : Utilisation de Slack pour collaborer avec l'équipe et de GitHub pour gérer le code avec ma propre branche dédiée.
Technologies Utilisées
- TypeScript
- Kotlin
- Kotest
- Docker
- ClickHouse
- Testcontainers
- Slack
- GitHub
Compétences Développées
- Développement en Kotlin
- Écriture de Tests d'Intégration
- Gestion de Bases de Données
- Optimisation des Tests
- Collaboration en Équipe
Difficultés Rencontrées
- Adaptation aux Nouvelles Technologies : Passer de TypeScript à Kotlin et apprendre Kotest a été un défi majeur, nécessitant une rapide assimilation des concepts et des outils.
- Mise en Place de l'Environnement de Test : La mise en place de l'environnement de test, notamment les testcontainers, a été particulièrement difficile et a nécessité beaucoup d'efforts et de patience.
Conclusion
Ce stage chez Biron Data m'a permis de renforcer mes compétences techniques, en particulier dans le développement avec Kotlin et la mise en place de tests d'intégration avec Kotest. Travailler sur un projet concret m'a appris à m'adapter rapidement à de nouvelles technologies et à développer des solutions efficaces pour des besoins spécifiques. Les réunions quotidiennes en visioconférence et l'utilisation de Slack et GitHub pour la collaboration ont également amélioré mes compétences en communication et en travail d'équipe. Cette expérience a contribué de manière significative à mon développement professionnel.