Simple, performant, minimaliste, axé sur la productivité... Le langage de programmation Go (aussi surnommé Golang) ne manque pas d'atouts. Depuis son apparition en 2009, Go est devenu un langage incontournable tant pour l'implémentation d'outils tels que Docker et Kubernetes que pour le développement backend d'applications Web.
Cette formation Go (récemment mise à jour pour Go 1.24) s'adresse à des développeur·euse·s ayant déjà de l'expérience en développement backend Web souhaitant se lancer dans le développement en Go.
Durant cet apprentissage, vous comprendrez comment utiliser Go pour développer une application permettant la vérification de la validité et disponibilité d'un nom sur plusieurs réseaux sociaux.
Vous repartirez avec le code source du projet développé lors de ces trois jours, ainsi que la solution du formateur (sur GitHub), et l'envie —on l'espère— d'utiliser Go dans vos projets actuels et futurs !
A l'aise avec Go mais pas avec les goroutines, channels, mutexes, etc. ?
Le dernier tiers de cette formation, dédié à la programmation concurrente en Go, est également disponible à part sous la forme de la formation Programmation concurrente en Go, également animée par Julien Cretel.
Envie de passer au niveau supérieur ?
Jetez un œil à la formation Go Avancé animée par Julien Cretel.
Vous y verrez comment bien tester vos applications en Go, améliorer les performances de vos applications et bien les sécuriser.
Toutes nos formations étant limitées à 6 participant·e·s par session, vous aurez un contact privilégié avec votre formateur, Julien Cretel, Gopher passionné et pédagogue, enthousiaste de partager ses expériences professionnelles lors des moments informels de cette formation.
🇺🇸 Cette formation est aussi disponible en anglais
Très bonne formation et super formateur, la difficulté augmente progressivement et permet de voir ou revoir les fondamentaux de golang. Le cas pratique permet d'intégrer petit a petit des concepts de plus en plus poussés.
Les objectifs
Acquérir les bases de développement en Go
Reconnaître les cas où Go est, ou non, adapté à vos besoins
Apprendre à développer une app Web permettant de vérifier la validité et la disponibilité d'un nom d'utilisateur·rice sur plusieurs réseaux sociaux (GitHub, Reddit etc.)
Pré-requis
Une expérience soutenue d'au moins un an avec un autre langage de programmation
Le playground Go : votre bac à sable pour expérimenter avec le langage
L'incontournable premier programme : Hello, World!
Modules et gestion de dépendances
Encodage et formatage du code source
Compilation et exécution
Transcompilation
Mots-clés et noms pré-déclarés
Commentaires
Mises en pratique :
- Initialisation du projet fil-rouge au sein de VS Code
- Compilation et transcompilation d'un programme Hello World
Paquets (packages)
Nom et chemin d'import d'un paquet
Paquet : l'unité de compilation
Documentation des paquets
Encapsulation
Importation de paquets
Types
Types basiques
Types composites
Valeur vierge d'un type : chaque type à une valeur par défaut
Comparabilité des types
Définition de type
Conversion d'une valeur vers un autre type
Variables
Gestion automatique de la mémoire
Déclaration de variable : mot-clé var et déclaration courte
Attention au masquage accidentel de variables
Nommage des variables
Instructions conditionnelles
Instruction if-else
Instruction switch
Instruction switch sans expression (tagless switch)
Mise en pratique :
-Validation d'un nom d'utilisateur·rice GitHub
Pointeurs
Pointeur : l'adresse d'une valeur
Adressabilité et opérateur esperluette
Valeur vierge des types pointeurs
Comparabilité des pointeurs
Déréférencement d'un pointeur
La pseudo-fonction new
Les types références : des pointeurs "déguisés"
Fonctions
Appel d'une fonction
Stratégie d'évaluation des arguments d'une fonction : appel par valeur
Déclaration d'une fonction
Résultats multiples
Résultats nommés
Paramètres variadiques
Factorisation du type de paramètres/résultats consécutifs de type identique
Les fonctions sont des valeurs à part entière.
Fonctions anonymes et fermetures
Récursivité
Un aperçu des méthodes
Mise en pratique :
-Extraction de la logique de validation dans une fonction
Gestion des erreurs
Les erreurs sont des valeurs : pas de système d'exceptions en Go
Le type error
L'importance de ne pas ignorer les erreurs
Elimination progressive des échecs
Gestion d'une erreur non-nil
Création de valeurs de type error
De bonnes pratiques au sujet des messages d'erreurs
Panique : le signe d'un échec irréparable
Mise en pratique :
-Gestion judicieuse des erreurs au sein de la fonction responsable de la validation d'un nom d'utilisateur·rice GitHub
Création de paquets
Paquets d'exécutables et paquets de bibliothèques
Les fichiers sources d'un paquet
Conventions de nommage
Sous-paquets
Contrainte d'acyclicité dans le graphe des importations
Organisation d'un projet en paquets
Un bon paquet ne panique pas après initialisation
Mise en pratique :
-Création d'un paquet dédié à GitHub
Tests unitaires
Tour d'horizon de l'outillage Go pour les tests
Fichiers de test
Approches "boîte blanche" et "boîte noire"
Fonctions de tests
Exécution de tests
Mesure de la couverture de code
Mise en pratique :
-Écriture et exécution de tests unitaires
Réclamations de resources
Le mot-clé defer : une sorte de mot-clé finally survitaminé
Gare aux instructions defer au sein d'une boucle
L'intérêt des instructions defer
Mise en pratique :
-Vérification de la disponibilité d'un nom d'utilisateur·rice sur GitHub
Boucles
Boucle à trois clauses (dérivées du C)
Boucle conditionnelle
Mots-clés break et continue
Boucle inconditionnelle
Boucle for-range pour itérer sur une valeur de type composite
Boucle for-range appliquée à un entier (nouveau en Go 1.22)
Jour 2 : types composites et orientation objet
Tableaux
Une séquence de taille fixe de valeurs d'un même type
Littéral de tableau
Les tableaux sont des valeurs
Valeur vierge d'un type tableau
Comparabilité des tableaux
Indexation d'un tableau
Itération sur un tableau
Valeur zéro d'un tableau
Un type inflexible et rarement utilisé directement
Slices
Un type incontournable en Go
Une fenêtre redimensionnable sur un tableau
Initialisation d'une slice via un littéral ou grâce à la pseudo-fonction make
Valeur vierge d'un type slice
Incomparabilité des slices
Indexation d'une slice
Sous le capot d'une slice
Longueur et capacité d'une slice
Pourquoi préférer les slices aux tableaux
Slicing operator
Itération sur une slice
La pseudo-fonction append
Aliasing et découplage accidentel
Autres opérations courantes sur les slices
Mises en pratique :
- Récupération du nom d'utilisateur·rice à tester via un argument de ligne de commande
- Réusinage des tests en table de tests afin d'éliminer la duplication de code
Maps
Collection non-ordonnée de couples clé-valeur
Initialisation d'une map via un littéral ou grâce à la pseudo-fonction make
Valeur vierge d'un type map
Incomparabilité des maps
Indexation d'une map
Ajout d'un couple clé-valeur dans une map
Elimination d'un couple clé-valeur d'une map
Implémentation d'un ensemble mathématique
Itération sur une map
Autres opérations courantes sur les slices
Structures
Une collection hétéroclite de champs
Déclaration d'un type structure
Valeur vierge d'un type structure
Littéraux de structures
Le type structure vide
Accès aux champs d'une structure
Encapsulation et visibilité externe des champs d'une structure
Etiquettes de champs
Comparabilité des structures
Champs intégrés
Un aperçu des types et fonctions génériques
Un aperçu des itérateurs (nouveau en Go 1.23)
Mises en pratique :
- Conception d'un type structure représentant un arbre binaire
- Déclaration de types structures dédiés à chaque plateforme supportée
Méthodes
Des fonctions rattachées à un type en particulier
Déclaration d'une méthode
Récepteur d'une méthode
Conventions de nommage des méthodes
Conventions de nommage des récepteurs
Appel d'une méthode
Récepteur valeur et récepteur pointeur
L'importance de rendre la valeur vierge d'un type prête à l'emploi
Ensemble des méthodes d'un type
Injection de dépendances à travers le récepteur d'une méthode
Mise en pratique :
-Transformation de fonctions en méthodes sur les types structures déclarés précédemment
Interfaces
La puissance des interfaces en Go
Interfaces basiques
Comparabilité des interfaces
Conventions de nommage
Satisfaction implicite des interfaces
Ensemble des méthodes d'une interface
L'interface vide
L'importante de garder ses interfaces petites et focalisées
Composition d'interfaces
Ne pas déclarer d'interfaces plus tôt que nécessaire
L'interface fmt.Stringer
Les interfaces io.Reader et io.Writer
Préférer des paramètres de types interfaces si le comportement prime sur la donnée
Ne pas demander à vos paramètres des comportements non requis
L'interface error
Sous le capot d'une interface
Un écueil courant : quand nil n'est pas nil
Assertions de type
Type switch
Préférer déclarer ses interfaces où elles sont utiles
Usage des interfaces pour les doublures de tests (mock, stub, etc.)
Mises en pratique :
- Déclaration judicieuse de types interfaces
- Simplification du code existant grâce aux interfaces
- Création d'un stub pour le client HTTP
Jour 3 : programmation concurrente
Introduction à la concurrence
La concurrence : l'art de composer un programme de manière à délinéer les tâches indépendantes
Concurrence et parallélisme : deux notions étroitement liées mais distinctes
La concurrence permet le parallélisme et ouvre la porte à une plus grande vitesse d'exécution.
Loi d'Amdahl et loi de Gunther : le parallélisme n'est pas magique !
Le tiercé gagnant de la concurrence en Go : goroutines, canaux, et instruction select
Mise en pratique :
-Identification, dans le programme namecheck, de traitements séquentiels qui bénéficieraient d'une ré-écriture traitements concurrents
Goroutines
Les goroutines : une sorte de thread "poids plume"
L'ordonnanceur (scheduler) : la partie du runtime qui jongle avec les goroutines
Démarrage de goroutines grâce au mot-clé go
La règle d'or : ne pas démarrer une goroutine que si on peut expliquer quand elle se terminera.
La fonction main n'attend pas la fin des autres goroutines.
Groupes d'attente (wait groups)
Bogue de synchronisation et situations de compétition
Concurrency safety : la garantie qu'une opération peut être effectuée de manière concurrente sans souci
Situations de compétitions portant sur l'accès à de la mémoire partagée
Détecteur de situations de compétition portant sur l'accès à de la mémoire partagée (option -race)
Bogue de synchronisation dû à la portée inappropriée des variables de boucle avant Go 1.22
Mise en pratique :
-Vérification concurrente de la validité et disponibilité d'un nom sur de multiples réseaux sociaux
Canaux (channels) et programmation concurrente par envoi de messages
Partage d'état ou envoi de messages : deux approches possibles pour la programmation concurrente
Un adage incontournable en Go : Plutôt que communiquer en partageant de la mémoire, mieux vaut partager de la mémoire en communiquant.
Les canaux : la méthode reine pour communiquer entre goroutines et/ou les synchroniser
Convention de nommage des canaux
Les canaux sont des valeurs à part entière.
Valeur vierge des canaux
Initialisation de channels avec la fonction make
Capacité et espace tampon d'un canal
Les canaux fonctionnent sur le principe du "premier entré, premier sorti" (FIFO).
L'importance de bien choisir la capacité des canaux
Emission d'une valeur dans un canal : syntaxe et sémantique
Réception d'une valeur d'un canal : syntaxe et sémantique
Résoudre l'ambiguïté à la réception d'une valeur d'un canal
Interblocage ou étreinte mortelle : quand les goroutines se bloquent entre elles
Fuite de goroutines
Fermeture d'un canal : syntaxe et sémantique
Bonnes et mauvaises raisons de fermer un canal
Réception à répétition d'un canal grâce à une boucle for-range
Canaux unidirectionnels (émission seule ou réception seule)
Mises en pratique :
- Analyse et résolution d'un d'interblocage
- Analyse et résolution d'une fuite de goroutines
- Communication de résultats entre goroutines à l'aide d'un canal dans le but d'agréger ces résultats
Méfiance : un handler fait l'objet d'invocations concurrentes par le serveur
Encodage et décodage JSON
Mise en pratique :
-Transformation de l'outil de ligne de commande de départ en une API HTTP
Gestion de dépendances tierces
Installation de dépendances tierces
Les fichiers go.mod et go.sum
Mise en pratique :
-Configuration CORS de l'API HTTP à l'aide d'une bibliothèque tierce
L'instruction select
Sélecteur de communications sur canaux
Instruction select : syntaxe et sémantique
Boucle d'évènements : instruction select au sein d'une boucle
Le besoin de signaler à des goroutines qu'elles doivent se terminer/s'annuler
Quels genres de fonction rendre annulables ?
Emission et détection d'un signal de terminaison : la technique de base
Emission et détection d'un signal de terminaison en pratique avec le paquet context
Comment rendre annulable l'émission d'une valeur dans un canal
Débogage d'une simple simulation de ping-pong
Mises en pratique :
- Utilisation d'une instruction select et de deux canaux distincts, l'un dédié aux résultats et l'autre aux erreurs
- Analyse et résolution d'une fuite de goroutines
Programmation concurrente par partage d'état
Communiquer en partageant de la mémoire
Exclusions mutuelles (mutexes) et sections critiques
Utilisation du type sync.Mutex
Mise en pratique :
-Utilisation d'une exclusion mutuelle pour la mise à jour d'une variable globale d'état
Julien est à la fois développeur, chercheur en sécurité Web et formateur.
Son langage de prédilection est le Go, sujet sur lequel il a formé des centaines de professionnel·le·s depuis 2019. Il lui arrive aussi d'intervenir sur Go à l'occasion de conférences spécialisées, telles que GopherCon 2023 Europe.
Julien est actif dans le domaine de la sécurité Web. En marge des tests de sécurité (tests d'intrusion, évaluation de vulnérabilité, audit de codes, etc.) que ses clients lui confient et de ses activités de recherche indépendante, Julien forme régulièrement des professionnel·le·s sur la sécurité Web. Il s'adonne aussi, de temps à autre, à la chasse au bogues de sécurité (bug bounty hunting).
Julien partage ses réflexions et sa recherche sur son blog, qui est, sans surprises, principalement dédié au langage Go et à la sécurité Web.
Témoignages
4.7/5Basé sur 164 avis*
PG
Pierre-Louis G.
Dalibo03.03.2025
Très bonne formation et super formateur, la difficulté augmente progressivement et permet de voir ou revoir les fondamentaux de golang. Le cas pratique permet d'intégrer petit a petit des concepts de plus en plus poussés.
JV
Julian V.
Dalibo03.03.2025
formation et formateur au top!
PC
Pierrick C.
Dalibo03.03.2025
Super formation ! Julien est très pédagogue et à l'écoute. Il sait aussi s'adapter au niveau de programmation de chacun. Le rythme de la formation est particulièrement agréable pour appréhender les principaux concepts du Go. Avoir un TP fil rouge tout au long de la formation est une bonne idée !
BP
Brieuc P.
TREEZOR09.12.2024
Très bonne formation, formateur très pédagogique et sympatique.
Quelques rushs en fin de journées pour rentrer dans le programme.
EB
Elodie B.
TREEZOR09.12.2024
Super formation. Le formateur est super et compréhensible.
Une formation de qualité et adapté. L'ensemble des sujets sont parfaitement traités.
JH
Jeremy H.
Macompta.fr07.10.2024
Après avoir appris Go en autodidacte, j'avais besoin de revoir les bases et de mieux comprendre le fonctionnement des outils que j'utilisais. Cette formation a parfaitement répondu à mes attentes. Le formateur est très sympathique, à l'écoute et compétent, offrant de précieux conseils. Je suis très satisfait d'avoir suivi cette formation.
HM
Hind M.
LEROY-MERLIN FRANCE07.10.2024
Très bonne formation, j'ai appris pas mal de choses. Julien est très pédagogue et répond à toutes nos questions.
JL
Jonathan L.
LBC France07.10.2024
Très bonne formation. Le seul reproche je dirais est qu'elle était très dense, difficile de creuser sur certains sujets.
BB
Benjamin B.
Cadoles15.01.2024
Totalement débutant sur le langage Go, avec des habitudes acquises avec la pratique du langage Python, j’ai trouvé la présentation du formateur efficace. Les mécanismes essentiels et les caractéristiques du langage sont bien mis en avant et en pratique.
AS
Ahmed Saimir D.
ALTEN SA10.11.2023
Une petite demi journée supplémentaire aurait été bien , mais sinon Julien est très pédagogue et connaît son sujet
TH
Thibaut H.
OVH05.06.2023
Ne pas hésiter à reprendre les notions apprises entre chaque session de formation
PM
Pierre M.
OVH05.06.2023
le formateur était très pédagogue et la formation bien construite mais le rythme était un peu trop rapide parfois, pas toujours le temps de corriger toutes les erreurs qu'on peut faire avant de passer à la suite.
EH
Enzo H.
OVH17.04.2023
Cette formation complète sur les bases du langage Golang m'a motivé à utiliser plus régulièrement ce langage. Je pars avec des bonnes pratiques et avec une bonne visibilité sur les avantages et limites du langage.
JL
Jonathan L.
OVH17.04.2023
Très bonne formation et très bon tuteur
JL
Julien L.
OVH17.04.2023
Bien que s'adressant à des développeurs de métier, cette formation a le mérite de pouvoir être suivie et comprise quasiment jusqu'au bout, même par un développeur débutant comme moi.
Néanmoins et pour ce faire, j'ai dû faire preuve de beaucoup d'assiduité et de concentration pour pallier à mes lacunes et ne pas perdre pied.
C'est aussi pourquoi, malgré l'accessibilité de cette formation, les bases que j'avais en langage C m'ont été d'une grande utilité.
En outre, je recommande fortement aux développeurs novices de jeter un oeil à la syntaxe, aux packages et fonctionnements de base du langage Go avant de débuter la formation.
SM
Stephanie M.
OVH17.04.2023
Cette formation était très intéressante et j'ai appris beaucoup de choses. Je recommande cette formation pour apprendre les bases du langage avec un apprentissage progressif.
AR
Alexandre R.
ANSSI
Très agréable formation avec un formateur passionné par le langage. J'ai beaucoup apprécié le temps qu'il a pris pour répondre aux questions lors de la formation et même pendant les pauses.
UG
Ulrich G.
Pôle Emploi
Ayant déjà utilisé Go, j'avais des attentes bien précises sur les concepts qui me manquaient, la formation a parfaitement répondu a mes attentes, et le fonctionnement en petit commité permets des échanges nombreux et interressants avec le formateur.
MB
Marc-Antoine B.
OVH
Formation très complète.
Julien prend le temps de répondre à toutes nos interrogations.
PV
Pierre-Yves V.
OVH
Bonne atmosphère et bon rythme, personne n'est laissé de côté.
Les exos sont intéressants et bien expliqués. Les difficultés sont bien abordées et la compréhension en est aisée.
Il y a beaucoup de doc, ce qui va me permettre de les revoir plus tard.
AP
Antoine P.
OVH
J'ai bien apprécié la pédagogie de Julien et le fait qu'il y avait un projet sur lequel nous étions focalisé tout au long de la formation.
Le mix entre théorie et pratique aide beaucoup à concrétiser directement les concepts du langage.
Merci à Julien pour ces 3 jours
MC
Maxime C.
OVH17.03.2022
Très cohérent et pertinent comme formation! Très apprécié !
SH
Steven H.
OVH
Excellente maîtrise du programme, ouvert aux questions, bonne ambiance.
SG
Sylvain G.
Sylvain GAUNET
Très bonne formation, bien complète. Le formateur est clair et précis
SJ
Sébastien J.
OVH
Formation très intéressante pour mettre le pied à l'étrier, je recommande tout de même d'avoir un peu joué avec Go avant cette formation pour éviter de perdre trop de temps.
LG
Lucas G.
OVH16.02.2022
Formation qui prend les bases de Go jusqu'à des utilisations concrètes.
PJ
Pierre-Yves J.
OVH
Super formation pour débuter en Go.
RC
Romain C.
OVH
Formateur et formation très agréables.
Précieux conseilles distillés tout le long de la formation
AG
Adrien G.
OVH
Très bonne formation, formateur à l'écoute, prêt à interrompre son programme pour nous aider à résoudre nos problématiques, super top !
GD
Guillaume D.
OVH
Très pro. Format en petit comité très sympa et efficace ainsi que le fait de mettre en pratique immédiatement les notions.
OB
Olivier B.
OVH
Très bonne formation pour débuter en go
FT
Francois T.
Place de la formation
Une expérience en Go permet de mieux comprendre les choses complexes
VP
Vincent P.
Dassault Systèmes
Très bonne formation Go et de bon niveau malgré son niveau "beginners"
GA
Guillaume A.
Dassault Systèmes
Julien est un très bon formation.
La progression de l'apprentissage se reflète bien dans l'exemple pratique à coder.
DC
Damien C.
Dassault Systèmes
Super formateur go, Julien est très pédagogue et nous transmet très bien sa passion du langage Go
HO
Hassan O.
Dassault Systèmes
Les concepts fondamentaux du Go ont été abordés et c'est exactement ce que je recherchais.
Et comme le Go est un langage avec des semantiques puissantes et parfois contre-intuitives, je suis d'accord qu'il faut une (parfaite ?) maitrise d'un langage comme C++ ou Java pour en apprécier la beauté.
AV
Alexandre V.
Dassault Systèmes
Une formation au langage Go très utile par son côté interactif avec le formateur, qui permet de compléter efficacement ce qui peut être appris en lisant des documentations.
DC
Damien C.
OVH
Merci au formateur pour sa bonne humeur et don savoir faire, pendant ces 3 jours qui ont permis d'appréhender le langage et d'en apercevoir les possibilités.
Maintenant il faut se mettre au travail pour que la formation soit utile
JD
Jonathan D.
OVH
Excellent formateur. Pédagogue et patient. Contenu parfaitement adapté. Doc simples et lisibles.
NM
Nassima M.
Place de la formation
Formateur pédagogue très gentil.
JB
Jérôme B.
Empreinte Digitale
Très bonne formation qui pose les bases de Go.
Avoir parcouru le gotour avant est un plus mais non nécessaire.
Le formateur est très pédagogue et prend bien le temps de répondre aux questions.
A la fin de la formation vous n’aurez qu'une envie en savoir plus au sujet du Go :)
SK
Sébastien K.
Place de la formation
Une formation en petit comité qui favorise les échanges. A la fois technique et théorique. Avec une théorie appliquée techniquement. Un formateur (Julien) qui connaît son sujet et bon pédagogue.
DS
Didier S.
Lagardère Active Corporate
Très bonne formation en petit comité, cela change des concurrents.
VF
Vincent F.
Cadoles
Julien est passionné par ce qu'il fait. Il est toujours plus agréable d'avoir un professionnel ayant une forte expérience pour nous accompagner dans nos débuts d'un langage. Très bon contact humain.
BC
Blaise C.
LBC France
Très bonne formation avec un bon formateur, le rythme est bon et les exercices concrets
RL
Richard L.
MEDIA PARTICIPATIONS PARIS
Bien qu'éloigné du développement depuis très longtemps, j'ai trouvé cette formation très bien faite et très intéressante.
RB
Romain B.
Conserto
Super formation en petit comité, ça permet d'avoir du temps pour des questions et avancer à son rythme
YG
Yanxin G.
Egencia Europe SAS23.07.2019
Le + :
Le cours permet, pendant la formation, de pratiquer assez pour débuter Golang.
Le - :
Le rythme au début est un peu lent. Les supports de slides doivent être relus avant le cours. Il y a eu des fixes pendant le cours. C'est pas top. Et la durée de cours 3 jours n'est pas suffisante
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
9h30 : la formation commence
12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
14h : reprise de la formation
18h : fin de la journée
8 raisons de participer à une formation Human Coders
Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1651 sessions réalisées). 99% des participants se disent satisfaits de nos formations
Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
Catalogue de formations complet : 172 formations au catalogue, de quoi vous accompagner sur tout vos projets
Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux