Chez Takima, nos exigences techniques sont hautes, et nous avons choisi de créer une formation qui ne ressemble à aucune autre pour amener nos nouveaux collaborateurs au niveau attendu.
Cette formation est au cœur de nos gènes et de notre réussite. Son impact est tel, que nous la proposons aussi à nos clients.
En proposant le Bootcamp, Takima souligne l'importance d’avoir une solide base sur un socle technique transverse, de connaître les bonnes pratiques et de maîtriser les outils.
Nous mettons à disposition nos meilleurs experts sur chaque sujet pour concevoir et mettre à jour les formations. Ils transmettent des années de bonnes pratiques condensées en quelques heures, ainsi que les meilleurs réflexes de conception pendant les cours théoriques et lors des code reviews.
La formation, facile d’accès, progressive, exigeante et intense, permet de garantir un niveau technique homogène des développeurs à la fin du cycle.
Il existe deux difficultés majeures pour recruter des développeurs :
En intégrant le Bootcamp dans votre package d'embauche, vous leur proposez de les former par des experts à leur arrivée. De leur côté, cela crée une vraie motivation pour vous rejoindre. Du vôtre, vous assurez que la personne aura le bagage technique nécessaire pour rejoindre vos équipes à la sortie du Bootcamp.
Le parcours de formation est orienté autour d’un projet unique : une Marketplace, à développer de A à Z. Les participants vont devoir coder un “Amazon-like” from scratch, en passant par un ensemble de modules, d’étapes-clé, appelés “milestones”.
Du front, du back, du DevOps, ce parcours pédagogique est à la carte pour adresser les enjeux qui font sens dans votre SI.
Chaque module pédagogique (milestone) se compose de trois parties.
Un cours donné par un expert du domaine pour introduire le sujet en question, donner des repères dans l’écosystème, et transmettre des insights “qu’on ne trouve pas dans les tutoriels”. Elle permet de donner une première approche de la technologie / du sujet lié à la milestone.
Un cours donné par un expert du domaine pour introduire le sujet en question, donner des repères dans l’écosystème, et transmettre des insights “qu’on ne trouve pas dans les tutoriels”. Elle permet de donner une première approche de la technologie / du sujet lié à la milestone.
Un TP guidé (de difficulté croissante au fur et à mesure que le bootcamp avance) qui permet de véritablement transmettre la compétence aux participants. Le TP est associé à des ressources de documentation à lire, de QCMs obligatoires, et d’un ensemble d’assets permettant d’aller comprendre en profondeur le fonctionnement du sujet en question. Chacun implémente donc la fonctionnalité dans son projet progressivement. À chaque étape du développement, les participants, comme si ils travaillaient en mode projet, soumettent une Merge Request qui est relue et commentée par un développeur expérimenté.
Une session de revue de code par un expert, permettant de prendre de la hauteur sur ce qui a été produit, de challenger les choix de conception, et de donner des tips pour progresser plus vite. Les CRs sont parfois collectives, permettant ainsi de croiser les choix techniques et identifier les chemins les plus pertinents, pour donner encore plus de recul aux participants.
Durant tout le Bootcamp, les participants bénéficient d’un suivi personnalisé auquel vous avez aussi accès.
Il est constitué de radars de compétences (à l’entrée, à la sortie), des notes des experts suite aux travaux pratiques et Code Reviews, et nous disposons aussi d’autres mécanismes d’évaluation que nous pouvons mettre en place dans leur parcours (hackathon, coding-test, project review, etc…)
Le programme de ce parcours de formation est défini sur mesure et nécessite au préalable une évaluation du niveau technique des participants pour déterminer, en fonction des objectifs que ceux-ci se fixent, d'une part les milestones à inclure et d'autre part la durée de formation nécessaire.
Voici les librairies / frameworks faisant partie du parcours :
DevOps : Git, Docker, Docker-compose, Test-containers, Gitlab CI/CD, Ansible, GitOps
Dev Back : Java, Maven, REST, Spring, Spring MVC, Spring Data, Spring Boot, Hibernate, JPA, PostgreSQL, Flyway
Dev Front : ES, React.js, Angular, Typescript, Nest.js
Git
Git est aujourd'hui l'outil de versioning de code le plus utilisé dans l'industrie logicielle. Sa maîtrise est indispensable dans le cadre du développement collaboratif mais aussi pour garantir la productivité des développeurs et sécuriser le code qu'ils produisent.
Objectif(s) : Apprendre à utiliser Git et ses fonctionnalités avancées. Comprendre comment l'utiliser en mode projet et ce qu'il apporte.
Ratio théorie / TP : 30% / 70%
Pré-requis : Maîtrise du système d'exploitation de sa station de travail.
Durée : 1 jour
Docker, Ansible, CI/CD
Les pratiques Devops font de plus en plus souvent partie du quotidien des développeurs : de la mise en place de pipelines d'intégration continue à la livraison de d'applications sous formes de conteneurs prêts à être déployés dans des infrastructures hautement scalables.
Objectif(s) : Comprendre le concept de conteneur, savoir créer vos propres images Docker à partir d'images existantes, savoir déployer un applicatif complet avec son réseau et ses volumes de stockage avec docker-compose.
Ratio théorie / TP : 30% / 70%
Pré-requis : Git. Connaissance des outils de build et de déploiement manuels
Durée : 5 jours**
Java
Java est le langage de programmation orientée objet le plus utilisé ces 20 dernières années pour développer des applications web. Son écosystème très riche permet d'implémenter tout type d'architecture et grâce à la Java Virtual Machine elles peuvent être déployées sur tout type d'infrastructure.
Objectif(s) : Maîtriser les bases du langage et être capable de créer une application from scratch.
Ratio théorie / TP : 20% / 80%
Pré-requis : Connaissance d'au moins un langage de programmation de préférence Orienté Objet. Connaissance minimale de SQL.
Durée : 5 jours
Spring et Spring Boot
Parmi les frameworks de développement de l'écosystème Java, Spring a une place particulière car il simplifie le développement d'applications modulaires, facilement testables. Il résout la plupart des problématiques techniques et permet au développeur de se concentrer sur la logique métier de son application.
Objectif(s) : Comprendre le concept de conteneur, savoir créer vos propres images Docker à partir d'images existantes, savoir déployer un applicatif complet avec son réseau et ses volumes de stockage avec docker-compose.
Objectif(s) : Utiliser spring-boot pour créer rapidement une application respectant le principe de séparation des couches avec spring-boot
Ratio théorie / TP : 30% / 70%
Pré-requis : Java
Durée : 3 jours
Persistence
Pratiquement toutes les applications ont besoin de persister les données de leurs utilisateurs. La plupart du temps, les développeurs utilisent des bases de données et parmi celles-ci les bases de données relationnelles sont les plus répandues. Les frameworks d'Object Relational Mapping, comme Hibernate, sont essentiels pour gérer la correspondance entre les objets et les entités du modèle physique de données.
Objectif(s) : Comprendre le rôle, les avantages, les limites des ORMs, avoir des notions de l’écosystème et des enjeux de performance et savoir configurer le framework.
Ratio théorie / TP : 15% / 85%
Pré-requis : Java, SQL
Durée : 5 jours
Spring Data JPA
Comment gérer la couche de persistance des données de manière modulaire, optimisée, évolutive et concise ? Le framework Spring propose le module Spring Data JPA pour atteindre cet objectif.
Objectif(s) : Être capable d'utiliser spring-data-jpa pour développer très rapidement la couche d'accès aux données.
Ratio théorie / TP : 30% / 70%
Pré-requis : Java, Spring, Hibernate, SQL
Durée : 3 jours
Testing
La qualité du code produit est un des enjeux majeurs du développement logiciel. La capacité à faire évoluer ce code en est un autre. Pour atteindre ces deux objectifs, l'automatisation des tests et la pratique du Test Driven Development sont deux outils de choix.
Objectif(s) : Être capable de concevoir une application ainsi que des tests unitaires ou d'intégration pour valider le fonctionnement d'une application
Ratio théorie / TP : 30% / 70%
Pré-requis : Java, Spring
Durée : 5 jours
REST
REST est un style d'architecture particulièrement adapté au développement d'API. La conception d'API réutilisables est au coeur de la stratégie de développement du système d'information et des échanges avec les clients, partenaires et fournisseurs de la plupart des entreprises.
Objectif(s) : Comprendre ce style d'architecture et comment les API REST doivent être conçues.
Ratio théorie / TP : 30% / 70%
Pré-requis : Java, Spring
Durée : 5 jours
Javascript
Comprendre d’où vient la Javascript et faire un tour d’horizon des principaux outils (Bundlers, Transpiler, Sass, modules, etc) qui accompagnent les développeurs JS au quotidien. Tout en apprenant comment écrire du Javascript moderne (ESNext).
Objectif(s) : Être capable d’écrire une application from scratch en ajoutant les outils Javascript d’aujourd’hui.
Ratio théorie / TP : 40% / 60%
Pré-requis : Maîtrise de son environnement de développement
Durée : 5 jours
Typescript
Il n’est pas évident de consentir à la surcharge de travail requise pour utiliser typescript à la place de javascript. Pourtant, c’est sur le long terme que typescript facilite la maintenance, la montée en compétence, ainsi que le “passage à l’échelle” d’une application.
Objectif(s) : Savoir utiliser les types simples de typescript, et aussi tirer partie du système de typage avancé.
Ratio théorie / TP : 100% / 0%
Pré-requis : Vanilla JS
Durée : 1/2 journée
RxJS
Traiter des flux de données dans nos front-end JS est de plus en plus courant. La tâche devient d’autant plus complexe, lorsque ce flux est asynchrone, ou lorsqu’il faut gérer un état. La programmation réactive avec RxJS offre une solution élégante et maintenable d’aborder ce problème.
Objectif(s) : Maîtriser les observables et ses implémentations, ainsi que les principaux opérateurs, afin de concevoir une architecture logicielle découplée et déterministe.
Ratio théorie / TP : 100% / 0%
Pré-requis : Vanilla JS
Durée : 1 jour
Angular
Frontend, Web
Le web moderne passe par les frameworks. Angular est l’un des plus utilisés aujourd’hui dans les entreprises, notamment grâce à son approche tout-en-un.
Objectif(s) : Savoir développer from-scratch une application SPA utilisant Angular, typescript, RXJS et bootstrap 5.
Ratio théorie / TP : 20% / 80%
Pré-requis : REST, Typescript, Vanilla JS
Durée : 5 jours
React.js
Le web moderne nécessite d’avoir un ensemble d’outils pour faciliter les développements. Parmi les outils les plus utilisés au monde, React est la librairie la plus utilisée sur le marché aujourd’hui. Plébiscitée pour ses performances à ses débuts, elle est aujourd’hui un quasi-framework, permettant de pousser le développement en composants dans ses SPAs.
Objectif(s) : Réaliser une application from scratch avec React et d’autres outils.
Ratio théorie / TP : 30% / 70%
Pré-requis : Vanilla JS, Typescript
Durée : 7 jours