<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[La Captainerie]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://blog.captaindev.io/</link><image><url>https://blog.captaindev.io/favicon.png</url><title>La Captainerie</title><link>https://blog.captaindev.io/</link></image><generator>Ghost 3.32</generator><lastBuildDate>Tue, 28 Apr 2026 09:21:39 GMT</lastBuildDate><atom:link href="https://blog.captaindev.io/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[J'ai installé TousAntiCovid et ça ne fonctionnait pas...]]></title><description><![CDATA[<p>Si tu suis un peu l’actualité, tu as sûrement remarqué qu’une cinquantaine de départements sont passés en couvre-feu pour limiter la progression du Covid-19.<br><br>Je n’ai aucun avis sur l’efficacité de la mesure, je ne suis ni épidémiologiste, ni infectiologue.<br><br>Et si on disposait d’une</p>]]></description><link>https://blog.captaindev.io/jai-installe-tousanticovid-et-ca-ne-fonctionnait-pas/</link><guid isPermaLink="false">5f97d6a38674634b59d29435</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Tue, 27 Oct 2020 17:17:40 GMT</pubDate><content:encoded><![CDATA[<p>Si tu suis un peu l’actualité, tu as sûrement remarqué qu’une cinquantaine de départements sont passés en couvre-feu pour limiter la progression du Covid-19.<br><br>Je n’ai aucun avis sur l’efficacité de la mesure, je ne suis ni épidémiologiste, ni infectiologue.<br><br>Et si on disposait d’une technologie accessible au plus grand nombre pour limiter la propagation du virus ?<br><br>C’est la question que beaucoup se sont posée.<br>Plusieurs projets sont nés de cette hypothèse.<br><br>D’un côté, le système de notification d’exposition au Covid-19 développé par Apple et Google.<br>De l’autre, des solutions souveraines développées par les Etats.<br><br>Je vais aborder le sujet plus en détail dans un vidéo à venir sur la chaîne.<br>Si c’est un sujet qui t’intéresse, n’hésite pas à me le faire savoir en répondant à ce mail !<br><br><br><strong>Lancer une application très grand public en un temps record</strong><br><br>Le temps de ce mail, je vais m’attarder sur les problématiques rencontrées quand on doit mettre une application à l’échelle.<br><br>Tu le sais probablement, mais TousAntiCovid est la version 2.<br>La première version s’appelait StopCovid et ce fut un fiasco.<br><br>Il n’y a pas mal de facteurs qui peuvent perturber le lancement d’un projet de cette envergure :</p><ul><li>Une mauvaise communication ?</li><li>Une mauvaise architecture technique ?</li><li>Un manque d’expertise technique ?</li><li>Trop peu d’utilisateurs ?</li><li>…</li></ul><p>Le but n’est pas de blâmer le gouvernement, mais plutôt d’essayer d’identifier les potentiels problèmes techniques.<br><br>Lancer une application visant 67 millions de Français est un énorme challenge.<br><br><br><strong>Une communication incertaine</strong><br><br>Lors du premier lancement, Cédric O, Secrétaire d’Etat chargé de la transition numérique et des communications électroniques a présenté l’application comme un moyen de lutter contre la propagation du virus.<br><br>Le problème d’une solution participative est le taux d’adoption.<br>Si trop peu de personnes installent l’application, son efficacité sera amoindrie…<br><br>Par la suite, l’application a connu une ribambelle de problèmes techniques.<br>Développer des applications scalable ne s’improvise pas.<br><br>Officiellement, l’échec de StopCovid est dû au faible nombre de téléchargements.<br><br>Mon avis personnel est qu’un mauvais démarrage a collé au dos de cette application censée nous aider à combattre l’épidémie…<br><br><br><strong>TousAntiCovid = StopCovid 1.5</strong><br><br>TousAntiCovid est la nouvelle version de StopCovid.<br><br>La majorité des problèmes techniques ont été corrigés et l’application devient désormais un hub regroupant toutes les informations nécessaires relatives au Covid-19.<br><br>Suite à l’annonce, j’ai décidé d’installer l’application.<br><br>L’installation se passe sans problème jusqu’à ce que je tente d’activer le service.<br>Et là, c’est le drame.<br><br>Pendant plusieurs heures, impossible d’activer TousAntiCovid.<br>L’application a subi une interruption de service dû aux nombres d’utilisateurs.<br><br><br><strong>Quelques « hypothèses » pour encaisser plus de charge</strong><br><br>Quand on rencontre des problèmes de performances, il existe différents axes d’amélioration. <br>Évidemment, il m’est impossible de citer toutes les solutions dans un simple mail...<br><br><em><u>Première hypothèse: optimiser les algorithmes et structures de données</u></em><br><br>Un mauvais choix dans un algorithme ou une structure de donnée peut impacter les performances et entraver la montée en charge.<br>Ce type de problème apparaît en général assez tard dans le développement.<br><br>Un algorithme qui fonctionne pour 100 utilisateurs ne fonctionne pas forcément pour 10 millions d’utilisateurs (cf Big-O Notation)…<br><br><em><u>Deuxième hypothèse: scaler l’infrastructure</u></em><br><br>En passant sur une architecture du type Cloud, il est possible de déployer une application dont l’infrastructure évoluera en fonction de la demande.<br><br>C’est ce qu’on appelle de l’auto-scaling.<br>La puissance de la machine ou du container hébergeant ton application se mettra automatiquement à jour une fois un certain seuil de charge atteint…<br><br><em><u>Troisième hypothèse: analyser les points de contention</u></em><br><br>Parfois quand tu développes une application, tu peux finir par te rendre compte que les ralentissements ne proviennent pas d’un composant en particulier, mais de l’interaction entre les deux.<br><br>Il est parfois nécessaire de changer de protocole de communication, mettre à jour des pilotes, effectuer des montées de versions…<br><br>Tu l’as bien compris, l’optimisation de performances est un domaine assez compliqué.<br><br><br><strong>L’application fonctionne enfin au bout de quelques tentatives</strong><br><br>J’ai fini par réussir à activer le service.<br><br>Libre à toi de l’installer ou pas, je pense personnellement que c’est un outil qui peut s’avérer utile.<br><br>Ceux qui se cachent derrière un problème d’utilisation de données, mais qui ont un compte Google ou Facebook se voilent un peu la face.<br><br>J’ai jeté un œil au code source publié par le gouvernement.<br>Le projet est assez intéressant, j’aborderai quelques détails en vidéo.<br><br>Il a fallu développer un nouveau protocole pour garantir le fonctionnement de deux choses assez opposées : tracing et anonymat…<br><br>Quand ma vidéo sortira, n’hésite pas à la partager avec tes proches.<br>Plus on l’utilise, plus elle sera efficace !<br><br>À demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[La gestion du cache dans les navigateurs]]></title><description><![CDATA[<p><br>Le cache est un principe simple, on stocke une information, un calcul, une donnée pour éviter de faire deux fois le même traitement.<br><br>C’est un principe que tu peux retrouver en programmation (memoization) et dans à bien d’autres endroits de ta stack technique.<br><br><strong>Plusieurs APIs en action</strong><br><br>La</p>]]></description><link>https://blog.captaindev.io/la-gestion-du-cache-dans-les-navigateurs/</link><guid isPermaLink="false">5f8f1f718674634b59d29431</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Tue, 27 Oct 2020 17:17:00 GMT</pubDate><content:encoded><![CDATA[<p><br>Le cache est un principe simple, on stocke une information, un calcul, une donnée pour éviter de faire deux fois le même traitement.<br><br>C’est un principe que tu peux retrouver en programmation (memoization) et dans à bien d’autres endroits de ta stack technique.<br><br><strong>Plusieurs APIs en action</strong><br><br>La mise en cache des ressources dans un navigateur s’articule autour de différentes APIs.<br>La majorité est implémentée dans les navigateurs evergreen (les navigateurs se mettant à jour automatiquement).<br><br>Les APIs abordées dans ce mail se basent sur les possibilités offertes par les requêtes HTTP.<br>Elles sont utilisables indépendamment les unes des autres.<br><br>Le fonctionnement est relativement simple, le serveur ajoute des en-têtes permettant de définir le comportement souhaité.<br><br>Il est alors possible de définir la durée de vie de la ressource après laquelle le client doit demander une version à jour ou d’exclure totalement une ressource du cache…<br><br><br><strong>Les headers les plus importants</strong><br><br>Cache-Control, ETag et Last-Modified.<br><br>Ce sont les headers les plus souvent utilisés.<br><br>Ils peuvent avoir différentes valeurs. <br><br>J’ai parfois vu des développeurs de plus de 10 ans d’expérience ignorer ces mécanismes.<br>Les conséquences pour le projet étaient désastreuses.<br><br>Inutile de t’expliquer qu'à grande échelle, une mauvaise gestion du cache peut occasionner un problème de charge serveur ou des problèmes de performances.<br><br>Je ne reviendrais pas en détail sur toutes les valeurs possibles, pour ça, je te laisse aller jeter un oeil à la documentation…<br><br><br><strong>Cache-Control</strong><br><br>Cache-Control est utilisable aussi bien dans les requêtes que dans les réponses HTTP.<br><br>Il permet de définir la stratégie à adopter.<br><br>Voici quelques-unes des valeurs possibles :</p><ul><li>max-age=&lt;seconds&gt;</li><li>no-cache</li><li>no-store</li><li>must-revalidate</li></ul><p><br>Chaque valeur décrit un comportement bien spécifique.<br><br>L’index.html qui est la racine de ton application sera le plus souvent exclue du cache par exemple.<br>Alors que la feuille de style principale peut être incluse dans le cache avec une valeur “must-revalidate” qui forcera le client à vérifier qu’il n’y a pas de nouvelle version disponible.<br><br>Dans ce cas précis, la requête demande la feuille de style.<br>Si la feuille de style est à jour, une réponse avec un corps vide sera retournée par le serveur.<br><br>Le code HTTP sera le suivant : 304 Not Modified.<br><br>Même si ce scénario implique un aller-retour client-serveur, il permet d’éviter un téléchargement inutile de la ressource car le corps de la réponse reste vide.<br><br><br><strong>ETag</strong><br><br>ETag permet de générer un identifiant par version de chaque ressource.<br>Le tag est utilisé directement par le serveur ou le CDN.<br><br>Si la ressource est mise à jour, le ETag change systématiquement.<br>Le plus souvent un hash est alors utilisé pour générer le tag.<br><br>Les ETag permettent d’économiser de la bande passante avec un fonctionnement léger.<br>Ils permettent aussi d’éviter les collisions de mise à jour des ressources.<br><br><br><strong>Last-Modified</strong><br><br>Last-Modified permet d’utiliser des valeurs temporelles pour définir la dernière fois qu’une ressource a été modifiée.<br><br>Il est alors possible d’envoyer un en-tête If-Modified-Since pour gérer la récupération de la ressource depuis le serveur ou dans le cache.<br><br><br><strong>Des mécanismes simples et d’une importance capitale</strong><br><br>Si tu n’avais jamais entendu parler de la gestion du cache dans les navigateurs, je te conseille vivement d’aller faire un tour dans tes devtools et de regarder d’où sont récupérées les ressources quand tu rafraichis une page web.<br><br>Ça pourrait t’éviter bien des problèmes à l’avenir.<br><br>L’intérêt de la Jamstack est quelle embarque directement les bonnes pratiques de caching et ce out-of-the-box.<br><br><br><strong>Comment GatsbyJS gère le cache ?</strong><br><br>Prenons l’exemple de GatsbyJS.<br><br>Le build génère des identifiants uniques dans les noms des fichiers importés dans le index.html, ce qui permet de ne pas avoir à gérer l’invalidation des ressources.<br><br>Quand une ressource change, son nom change.<br>Pas besoin de la gérer dynamiquement, cette étape est calculée au moment du build.<br><br>Le fait d’utiliser systématiquement un CDN apporte aussi une simplicité vis-à-vis d’un serveur applicatif.<br>Les CDN sont simples et optimisés pour servir des ressources statiques.</p>]]></content:encoded></item><item><title><![CDATA[Les Content Delivery Network au centre de la Jamstack]]></title><description><![CDATA[<p><br>On peut aborder les performances Web sous différents aspects.<br><br>Du temps d’exécution du code à l’optimisation des images en passant par le premier rendu au sein du navigateur, tout y passe.<br>Dès lors qu’une application web est utilisée dans différentes régions, de nouvelles problématiques apparaissent…<br><br>Dans ce</p>]]></description><link>https://blog.captaindev.io/les-content-delivery-network-au-centre-de-la-jamstack/</link><guid isPermaLink="false">5f8a98fb8674634b59d29429</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Tue, 27 Oct 2020 17:16:07 GMT</pubDate><content:encoded><![CDATA[<p><br>On peut aborder les performances Web sous différents aspects.<br><br>Du temps d’exécution du code à l’optimisation des images en passant par le premier rendu au sein du navigateur, tout y passe.<br>Dès lors qu’une application web est utilisée dans différentes régions, de nouvelles problématiques apparaissent…<br><br>Dans ce mail, on va aborder le sujet des CDN (Content Delivery Network ou Réseau de diffusion de contenu en français), leur utilité, le fonctionnement et l’importance qu’ils occupent dans le monde d’aujourd’hui.<br><br><strong>Avant d’aborder les CDN, parlons des contenus statiques</strong><br><br>On peut définir un contenu statique comme une ressource sans aucun dynamisme.<br><br>Dans le domaine du développement, on fera souvent référence aux fichiers types de fichiers suivant :</p><ul><li>HTML</li><li>CSS</li><li>Images</li><li>Javascript</li><li>Font</li><li>Vidéos</li><li>Audios</li><li>JSON</li><li>Pdf</li><li>et bien d’autres types de fichiers...</li></ul><p>Oui les fichiers Javascript ne sont pas considérés comme dynamiques. <br><br>Malgré le fait qu’un fichier Javascript peut être exécuté par un runtime, le fichier en lui-même reste une ressource statique…<br><br>La majorité des systèmes de build frontend (comme Webpack par ex) génère ce qu’on appelle une distribution statique.<br><br>En d’autres termes, le build va récupérer le code de toute ton application pour générer du contenu statique prêt à être déployé.<br>C’est à ce moment que le CDN entre en oeuvre.<br><br><br><strong>Pourquoi distribuer le contenu via un CDN ?</strong><br><br>On pourrait se dire qu’il est plus simple de distribuer le contenu statique depuis un serveur applicatif ?<br>Mauvaise idée !<br><br>Oui si tu as pensé à servir ton application frontend depuis le dossier public exposé par ton serveur Node.js (ou autre), c’est une très mauvaise idée.<br><br>Il existe un tas de raison, mais ce qu’il faut retenir, c’est que ça aura un impact sur les performances.<br>De toute manière, il est toujours important de séparer les tâches.<br><br>Si ton serveur applicatif vient à ralentir à cause d’un traitement en cours, la distribution de tes fichiers statiques peut être impactée.<br><br>La bonne pratique est à minima d’héberger les contenus statiques sur un serveur à part.<br>Couplé à une bonne configuration du cache, cela permettra d’optimiser les performances.<br><br>Le CDN entre en jeu quand on souhaite aller plus loin.<br>Tout d’abord, les CDN sont optimisés pour la performance, ce sont des infrastructures qui délivrent des performances bien au-delà de ce que tu es en mesure de mettre en place avec des outils standards.<br><br>Les CDN permettent aussi une utilisation transparente de serveurs miroirs.<br>Le cas d’usage est simple.<br><br>Si un utilisateur américain se connecte à ton application hébergée en Europe, la distance entre le client et le serveur va avoir un impact sur les performances.<br><br>Entre la latence et le temps de transfert, tu peux perdre de précieuses millisecondes.<br>Ça peut paraître anodin, mais plus la demande sur ton application augmente, plus le problème peut empirer…<br><br>Tu pourras alors configurer ton CDN pour héberger une copie de tes assets statiques dans chaque région du monde.<br>De cette manière, l’utilisateur américain utilisera la distribution statique (une copie sur le serveur miroir) hébergée en Amérique du Nord.<br><br>Pas besoin de te faire un dessin, de cette manière tu peux améliorer les performances de chargement initiales de ton application.<br><br>Ce scénario prend encore plus de sens si tu es amené à développer des produits pour des régions moins bien équipées en connexion haut débit.<br><br><br><strong>Les CDN sont simples à scaler</strong><br><br>Un CDN est conçu pour scaler rapidement à moindre coût.<br><br>Pour rappel, tu ne peux déployer quasiment aucune logique dans un CDN.<br>Si on exclut toute la partie configuration du serveur, tu ne vas pas exécuter de code directement sur ce genre de serveur.<br><br>La montée en charge est mise en oeuvre de manière simple et transparente sur la majorité des services.<br>Pas besoin de changer de taille de serveur, la plupart du temps, tu seras facturé au nombre de fichiers distribués ou à la bande passante utilisée.<br><br>À l’heure où j’écris ces lignes, AWS facture l’utilisation de Amazon Cloudfront (le CDN chez AWS) 60 centimes de dollars par million de requêtes.<br><br>Facile à vendre à ton CTO :)...<br><br><br><strong>Un aspect sous-estimé de l’utilisation d’un CDN</strong><br><br>Peut-être que tu n’as pas besoin de performances avancées pour ton site ?<br>Peut-être que tu te dis que tu n’en as pas besoin ?<br><br>Il existe un cas de figure ou tu pourrais avoir tort, ça se résume en 3 lettres.<br>SEO.<br><br>Les sites performants ont globalement une meilleure note SEO.<br><br>Un site optimisé peut potentiellement attirer bien plus de trafic de la part des moteurs de recherches.<br>Au-delà des performances, les CDN apportent une couche de sécurité bien appréciée des robots crawlers.<br><br>Alors, pourquoi s’en priver ?<br><br>À demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Le PRPL pattern, une des nombreuses optimisations embarquées dans GatsbyJS]]></title><description><![CDATA[<p><br><br>Avec le nombre de bibliothèques et de frameworks sur le marché, on finit parfois par oublier qu’ils ont pour but de nous faciliter la vie.<br><br>Quand on démarre sur un nouvel outil, on peut avoir l’impression qu’il a été créé simplement pour justifier la mise à jour</p>]]></description><link>https://blog.captaindev.io/le-prpl-pattern-une-des-nombreuses-optimisations-embarquees-dans-gatsbyjs/</link><guid isPermaLink="false">5f8dc9fa8674634b59d2942d</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Tue, 27 Oct 2020 17:15:37 GMT</pubDate><content:encoded><![CDATA[<p><br><br>Avec le nombre de bibliothèques et de frameworks sur le marché, on finit parfois par oublier qu’ils ont pour but de nous faciliter la vie.<br><br>Quand on démarre sur un nouvel outil, on peut avoir l’impression qu’il a été créé simplement pour justifier la mise à jour de nos projets.<br>Il faut prendre du recul pour entrevoir ce que peut apporter une nouvelle technologie, une nouvelle méthode, un nouvel outil…<br><br>Le PRPL pattern est un schéma d’architecture web qui impacte la manière dont on charge une application.<br>C’est un processus implémenté dans GatsbyJS, tu n’as pas à t’en soucier…<br><br><br><strong>Un pattern mis en avant par Google</strong><br><br>Le PRPL permet d’améliorer les performances de chargement des pages Web.<br><br>Il se décompose en 4 étapes :</p><ul><li>Push (ou preload) : les ressources les plus importantes</li><li>Render : générer le rendu initial le plus tôt possible</li><li>Pre-cache : mettre en cache les autres ressources</li><li>Lazy load : charger à la demande les adresses (routes) et ressources non-critiques</li></ul><p><br>Google a poussé l’utilisation de ces fonctionnalités pour améliorer le TTI en ajoutant des fonctionnalités dans Chrome.<br><br>Le TTI (Time To Interactive) est une mesure de performance qui permet de définir le temps nécessaire pour que l’utilisateur soit en mesure d'interagir avec la page en question.<br><br><br>Dans les faits, tu peux avoir une application qui propose un premier chargement rapide mais qui reste inutilisable pendant un laps de temps dû à des problèmes de performances. <br><br>Inutile de préciser que ces métriques sont importantes pour la SEO, les robots des moteurs de recherche mesurent ce type d’indicateurs.<br><br>Un mauvais TTI peut avoir un impact direct sur la note SEO attribuée et ainsi détériorer les performances SEO.<br><br><br><strong>Comment GatsbyJS tire partie du PRPL pattern ?</strong><br><br>L’avantage de générer du contenu statique est que ça facilite l’identification des ressources importantes.<br><br>GatsbyJS tire partie de la couche de données embarquée et de son api pour identifier les ressources à charger en priorité.<br><br>Un exemple type est le chargement de la home de ton site.<br><br>La marche à suivre serait de charger tout ce qui est nécessaire pour afficher ta page.<br>La deuxième étape consiste à pré-charger les données des pages accessibles depuis la home.<br><br>Dans sa configuration de base, GatsbyJS va précharger les données de la page suivante au survol du lien.<br><br>Cela permet de gagner de précieuses millisecondes pour afficher la page le plus rapidement possible. <br><br>Le PRPL pattern fait partie des optimisations embarquées par GatsbyJS out-of-the-box.<br>Il existe d’autres fonctionnalités propres à la Jamstack en générale…<br><br><br><strong>Pourquoi chercher à optimiser à ce point ?</strong><br><br>On pourrait se poser la question : pourquoi chercher à optimiser alors que nos appareils sont tous les jours de plus en plus rapides ?<br><br>Une chose qu’on a tendance à oublier en tant que développeur, c’est l’aspect empirique des performances.<br>Un problème anodin pour une volumétrie basse peut vite devenir bloquant quand la volumétrie explose.<br><br>Ignorer volontairement un problème de performance au début du développement peut avoir de lourdes conséquences après plusieurs mois ou années…<br><br>Je l’ai vu de mes propres yeux, des problèmes allant jusqu'à faire planter systématiquement un navigateur au bout de 15 minutes d’utilisation.<br><br>Attention à ne pas tomber dans l’optimisation prématurée.<br><br>C’est une pratique qui peut te couter beaucoup de temps aussi.<br><br>L’autre problème des développeurs vis-à-vis des performances est un problème de contexte.<br><br>Quand tu testes ton application, tu es souvent dans des conditions plus qu’ idéales: tu as un réseau fibre d’entreprise, les données sont parfaites parce que tu as un accès direct à la base de données, tu testes méthodiquement le cas de figure décrit dans ta User Story.<br><br>Mais il y a des choses auxquelles tu ne penseras peut-être pas.<br>Tu peux avoir cet utilisateur qui va appuyer dix fois sur la même action et déclencher 10 fois le même traitement.<br><br>Tu peux avoir celui qui utilise ton application dans le métro avec une connexion Edge ultra-lente où seul le mode hors-ligne fonctionne.<br><br><br><strong>Les performances ne devraient pas être une option</strong><br><br>Tu as bien compris mon positionnement sur le sujet.<br><br>N’importe quel développeur devrait être en mesure d’analyser les performances de son application.<br><br>Aujourd’hui, c’est très simple, tu peux commencer par faire audit Lighthouse.<br>C’est intégré dans Google Chrome et simple d’utilisation.<br><br>Mais comprendre toutes les métriques est un autre défi.<br>Ca ne s’invente pas, l’avantage de Gatsby est qu’il embarque les bonnes pratiques.<br><br>A demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Digital Nomad, c'est cool mais...]]></title><description><![CDATA[<p><br><br>Je suis de retour après quelques jours sans mails, il est temps de reprendre les bonnes habitudes.<br><br><strong>Digital Nomad, c'est cool, mais…</strong><br><br>Je suis toujours demandé s’il y avait un envers du décor à la mode des digital nomad.<br>Je dois avouer que sur le papier, c’est génial</p>]]></description><link>https://blog.captaindev.io/digital-nomad-cest-cool-mais/</link><guid isPermaLink="false">5f88520e8674634b59d29411</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Thu, 15 Oct 2020 20:43:46 GMT</pubDate><content:encoded><![CDATA[<p><br><br>Je suis de retour après quelques jours sans mails, il est temps de reprendre les bonnes habitudes.<br><br><strong>Digital Nomad, c'est cool, mais…</strong><br><br>Je suis toujours demandé s’il y avait un envers du décor à la mode des digital nomad.<br>Je dois avouer que sur le papier, c’est génial !<br><br>Travailler n’importe quand, n’importe où ?!<br>Le monde est ton espace de travail.<br><br>Cette semaine, je suis à Center Parcs en famille et je peux te faire un premier retour.<br>Bien sûr, il ne faut pas prendre tout ce que je dis pour une vérité absolue, c’est un résumé de mon expérience.<br><br><br><strong>Trouver le confort dans l’inconfort</strong><br><br>Il suffit de se balader sur Instagram sur le hashtag #digitalnomadlifestyle pour comprendre qu’il y a anguille sous roche.<br>Ils ont tous le sourire dans leur superbe espace de travail à faire pâlir un Wework tout neuf…<br><br>J’aimerais bien savoir combien de temps sont-ils restés à travailler après la photo ?<br>Je fais partie de ceux qui aiment leur petit confort.<br><br>Une chaise ergonomique, un bureau assis debout et de grands écrans.<br>Tout ça, tu peux oublier, quand tu es en vadrouille, tu peux seulement compter sur l’écran de ton laptop.<br><br>Là encore, je suis bien loti, j’ai un écran 16 pouces et je peux utiliser l’écran de l’iPad en écran secondaire.<br>Il faut absolument prendre l’habitude de travailler sur un seul écran si tu veux pouvoir travailler en déplacement.<br><br>Ajuster les fenêtres, utiliser efficacement les raccourcis clavier…<br>J’allais enchaîner sur la suite à l’instant où mon dos vient d’envoyer un signal à mon cortex somato-sensoriel, ça fait mal.<br><br>Oui tu as beau avoir la meilleure décoration, assis toute la journée devant un ordinateur posé sur une table n’est pas une bonne position pour ta colonne vertébrale ! <br><br>En résumé, travailler en déplacement nécessite une certaine résistance physique.<br>L’endroit où je travaille est génial, mais pour rien au monde je n’échangerai mon bureau…<br><br><br><strong>Une connexion très haut débit, le Lie-Fi</strong><br><br>Pourquoi ai-je quitté Center Parcs qui offre pourtant un espace de télétravail pour rejoindre un coworking à Orléans ?<br><br>J’avais besoin d’une connexion très haut débit.<br>Pour mes tâches habituelles, le partage de connexion en 4G+ suffit largement.<br><br>Étant en train de finaliser une nouvelle formation, j’avais besoin d’uploader de gros fichiers vidéos.<br>Impossible de terminer les envois même en avec un signal au top.<br><br>C’est selon moi le plus gros problème de la 4G et des réseaux sans fil en général.<br>Tu peux avoir un signal fort et un débit plus que lent !<br><br>On ne s’en rend plus compte en ville, mais perdu au milieu des arbres, je peux te garantir que ça pose rapidement problème.<br>Peu importe où tu travailles, assure-toi d’avoir accès à une connexion rapide !<br><br>“Le problème, c’est qu'à chaque fois c’est le même problème” - Damso<br><br><br><strong>Bien s’équiper</strong><br><br>En arrivant au coworking, je revis.<br><br>Un espace tout équipé avec une décoration au top.<br>Je me connecte au WiFi, je tente d’uploader mon fichier.<br><br>Le réseau semble plus lent que la 4G !<br>Je commence à me demander si la Fibre est disponible ici…<br><br>Le deuxième jour, je me suis souvenu que le gérant du coworking m’avait proposé une connexion filaire si besoin…<br><br>J’ai testé ce matin, 4 GO de fichiers vidéos envoyés en 10 minutes.<br>Job done…<br><br>Mais tout ça n’aurait pas été possible si je n’avais pas investi dans un dongle USB-C ayant un port Ethernet !<br>C’est la première fois en 2 ans que j’utilise une connexion filaire, bien moins pratique, mais tellement efficace.<br><br>Si je devais établir une liste d’accessoires indispensable, elle ressemblerait à ça :</p><ul><li>Un dongle multiport :</li><li>un port HDMI  pour projeter mon écran</li><li>un port (micro)SD pour décharger mes cartes mémoires</li><li>un port Ethernet en cas de WiFi capricieux</li><li>Un casque à réduction de bruit</li><li>C’est un petit budget en soi, je suis conscient que tout le monde n’en a pas les moyens, mais c’est extrêmement utile dans un environnement bruyant</li><li>Une souris</li><li>J’étais fan du trackpad jusqu’à ce que je découvre la Logitech MX Master 3. Elle se recharge par USB-C, les boutons sont configurables par application et elle propose une molette débrayable (de quoi devenir le king des fichiers Excel)</li><li>Un stand pour surélever ton écran et éviter de te casser le dos</li><li>De tête, j’utilise la marque NextStand, 20 euros sur Amazon, ça t’évitera d’aller trop souvent chez l’Osthéopathe…</li><li>Un clavier Bluetooth en cas d’écran surélevé, encore une fois, je suis chez Logitech, le K380 est parfait pour une utilisation nomade.</li><li>Et pour terminer, un gel hydroalcoolique, crise sanitaire oblige…</li></ul><p><br>J’ai prévu de faire une ou deux vidéos sur le matériel que j’utilise, si ça t'intéresse, n’hésite pas à me le faire savoir en répondant à ce mail.<br><br>À demain,<br><br>Captain Dev<br><br>PS: Demain on parlera un peu plus de technique Web :)</p><figure class="kg-card kg-image-card"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-youtube-48.png" class="kg-image" alt></figure><figure class="kg-card kg-image-card"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-facebook-48.png" class="kg-image" alt></figure><figure class="kg-card kg-image-card"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-twitter-48.png" class="kg-image" alt></figure><figure class="kg-card kg-image-card"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-instagram-48.png" class="kg-image" alt></figure><figure class="kg-card kg-image-card"><img src="https://cdn-images.mailchimp.com/icons/social-block-v2/outline-light-link-48.png" class="kg-image" alt></figure><p><em>Copyright © *|CURRENT_YEAR|* *|LIST:COMPANY|*, All rights reserved.</em><br>*|IFNOT:ARCHIVE_PAGE|* *|LIST:DESCRIPTION|*<br><br><strong>Our mailing address is:</strong><br>*|HTML:LIST_ADDRESS_HTML|* *|END:IF|*<br><br>Want to change how you receive these emails?<br>You can <a href="https://blog.captaindev.io/p/6fccc4ad-d764-42ba-83e6-56841d8becb5/*|UPDATE_PROFILE|*">update your preferences</a> or <a href="https://blog.captaindev.io/p/6fccc4ad-d764-42ba-83e6-56841d8becb5/*|UNSUB|*">unsubscribe from this list</a>.<br><br>*|IF:REWARDS|* *|HTML:REWARDS|* *|END:IF|*</p>]]></content:encoded></item><item><title><![CDATA[Ma vision long terme pour Captain Dev]]></title><description><![CDATA[<p><br><strong>Je n’étais pas prêt...</strong><br><br>Quand je me suis lancé, je n’avais aucune idée de ce qui allait arriver.<br>Je pensais très naïvement que je me lançais dans un projet de 6 mois à 1 an tout au plus.<br><br>J’ai vite compris que l’échelle serait bien différente.</p>]]></description><link>https://blog.captaindev.io/ma-vision-long-terme-pour-captain-dev/</link><guid isPermaLink="false">5f7c1b918674634b59d29403</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Sat, 10 Oct 2020 01:40:16 GMT</pubDate><content:encoded><![CDATA[<p><br><strong>Je n’étais pas prêt...</strong><br><br>Quand je me suis lancé, je n’avais aucune idée de ce qui allait arriver.<br>Je pensais très naïvement que je me lançais dans un projet de 6 mois à 1 an tout au plus.<br><br>J’ai vite compris que l’échelle serait bien différente.<br>J’ai vite compris qu’il faudrait faire des sacrifices.<br><br>Étais-je prêt ? Pas du tout, je me suis adapté.<br>Je crois que ce mail va être très personnel, je sais que ça n'intéresse pas tout le monde et vu que je considère ton temps comme la chose la plus précieuse, je ne vais pas en abuser.<br><br>Si tu n'as pas le temps, je te conseille de le lire plus tard...<br><br><br><strong>Pourquoi je me suis lancé ?</strong><br><br>J’ai toujours eu cette envie de partager, d’échanger et d’apprendre des autres.<br>J’ai bien dit des autres, car apprendre seul n’a aucun intérêt pour moi.<br><br>Loin de moi l’idée d’essayer de te faire penser que j’apprends mieux que toi, je veux juste partager.<br>Au fil de mes expériences, j’ai vite compris qu’un profil comme le mien peut devenir intéressant pour mon entourage.<br><br>Si tu as un développeur curieux et qui aime partager dans ton équipe, tu dois surement t’en rendre compte.<br>Ta veille technique est facilitée, tu es toujours challengé bref on ne s’ennuie pas.<br><br>La vérité, c’est que j’ai toujours souffert du syndrome de l’imposteur.<br><br>Je te l’accorde, c’est moins vendeur.<br><br>Avec le recul, je pense que c’est un des facteurs qui me pousse à toujours repousser mes limites.<br><br>J’ai une facilité à partager, fédérer autour de sujet tech mais je ne m’en suis jamais rendu compte.<br>J’ai fini par le comprendre en écoutant ce qu’on disait de moi.<br><br>Aujourd’hui encore, avec une communauté toujours plus grande, je fais très attention à ce que je publie.<br><br>Les mots, le ton, la véracité des informations, l’approche, j’essaie de laisser un minimum de choses au hasard…<br>Je n’ai pas de recette miracle pour outrepasser ce fameux syndrome, je me suis simplement rendu compte qu’on peut apprendre à vivre avec…<br><br>Une fois tous ces doutes balayés, j’ai pu saisir une opportunité.<br><br>Une startup en train de couler, une rupture conventionnelle, la possibilité de devenir freelance…<br>J’ai saisi cette opportunité avec une idée en tête.<br><br>Vivre du développement autrement.<br>Vivre du développement en aidant les autres.<br><br>Faire en sorte de répondre à toutes les questions que je me posais.<br>Toutes ces questions laissées sans réponses.<br><br>Ces énigmes que le temps et les expériences ont fini par résoudre…<br>On y est, c’est le début de l’aventure Captain Dev.<br><br><br><strong>Parfois il faut suivre son instinct</strong><br><br>Tu peux avoir la meilleure idée au monde, les meilleurs projets, tu croiseras toujours des sceptiques.<br>La première personne à qui j’ai présenté le nom Captain Dev a rigolé.<br><br>Aujourd’hui une grande partie de mes proches m’appelle Captain…<br><br>Quand j’avais 50 abonnés, on me taquinait sur le fait de faire des vidéos YouTube.<br>Aujourd’hui avec un compteur proche des 11K on me prend au sérieux.<br><br>Première leçon, peu importe le projet dans lequel tu te lances, tu dois être ton premier supporter. <br><br>Si ça fonctionne, tu trouveras toujours des personnes pour te dire : “j’ai toujours su que ça allait cartonner”.<br>Si tu te plantes, tu trouveras toujours des personnes pour te dire : “non, mais c’était sûr, je le savais, mais je n’ai pas osé te dire que…”<br><br>On a souvent tendance à tenir les autres responsables alors qu’en fait, ça ne tient qu'à nous…<br><br><br><strong>YouTube = Business</strong><br><br>YouTube a toujours été un business pour moi.<br><br>Dès la première vidéo, dès le premier montage.<br><br>Si tu savais le temps qu’un créateur de contenu passe à créer du contenu…<br>Malheureusement comme pour la majorité des services “gratuits” sur Internet, le consommateur reçoit une vision complètement biaisée de ce qui se passe sur les rideaux.<br><br>À tous ceux qui pensaient que pour faire une vidéo YouTube, il suffit d’allumer sa caméra, papoter et cliquer sur le bouton publier, désolé de vous décevoir.<br>Je passe une moyenne de 4 heures à 2 jours pour préparer, tourner, monter et publier une vidéo.<br><br>Certaines vidéos demandent parfois encore plus de temps, car il faut faire des recherches ou potentiellement préparer du code.<br>Voilà pourquoi je fais peu de live coding…<br><br>Parce que oui, un live-coding, ça se prépare.<br><br>En général, on prépare une version fonctionnelle de tout le code, puis on enregistre étape par étape en essayant de faire en sorte que ce soit digeste pour le spectateur.<br>Je n’ai rien contre le bénévolat, mais créer du contenu sur YouTube est tellement épuisant, je ne pense pas que j’en serai là si je n’avais pas considéré la chose comme un business dès le départ.<br><br><br><strong>YouTube, un business ingrat</strong><br><br>Publier des vidéos, c’est une chose.<br>Publier des vidéos qui marchent en est une autre.<br><br>Là, c’est le Far West.<br><br>La particularité de la création de contenu sur ce genre de plateformes c’est que le succès de ta vidéo n’est pas proportionnel aux efforts fournis pour la créer.<br>Ça pourrait être perçu comme un détail, mais c’est ce qui a conduit beaucoup de YouTubers au burn-out.<br><br>Parfois je passe 4 jours sur une vidéo, elle flop.<br><br>Une semaine plus tard, j’écris, je tourne, je monte, je publie une vidéo en 4h top chrono, 3 fois plus de vues !<br>Avec l’expérience, tu finis par comprendre le fonctionnement de l’algorithme.<br><br>Tu sais à l’avance ce qui a une chance de cartonner ou non.<br><br><br><strong>Et les formations dans tout ça ?</strong><br><br>Le but des formations est d’aider les développeurs à se former sur des technologies d’actualités.<br><br>Je suis le premier à le dire, une formation a pour seul but de gagner du temps.<br><br>En cherchant sur le net, tu peux arriver exactement au même résultat.<br>Une formation c’est juste un moyen de mieux prévoir combien de temps tu vas y passer.<br><br>À la base, la chaine YouTube est un canal d’acquisition d’audience pour les mails privés.<br>Les mails privés sont un moyen de vendre sans avoir une foule de haters dans les commentaires de la chaine.<br><br>Avec le temps, pas mal de choses ont changé.<br><br>La chaine reste un moyen d’acquisition d’audience, mais pas seulement.<br><br>Je veux faire de ma chaine une base de connaissance pour les développeurs.<br>Je veux y mettre tous mes retours d’expériences, tous les conseils dont j’aurais souhaité bénéficier à l’époque.<br><br>Les mails privés sont devenus un moyen privilégié de communiquer avec l’audience.<br>Certains sont parfois étonnés de me voir répondre aux mails.<br><br>C’est ça la force des mails privés, je prends le temps de répondre à toutes les sollicitations.<br>Et je dois dire que ça fait partie des interactions les plus intéressantes !<br><br>Le combo chaine + mails privés me permet d’apporter un maximum de valeur gratuitement.<br>Pour ceux qui veulent aller plus loin, il y a les formations.<br><br>Je travaille dur à agrandir le catalogue !<br>C’est un peu comme un cinéma gratuit, tu peux regarder le film, mais les popcorns sont payants…<br><br><br><strong>Comment j’enregistre une formation ?</strong><br><br>Je crois que c’est la partie que j’ai le plus sous-estimée.<br>Jamais je n’aurais imaginé à quel point c’est long.<br><br>Je ne dis pas ça pour tenter d’augmenter la valeur perçue, mais enregistrer du code, c’est extrêmement long (et parfois chiant).<br>Tu ne dois rien laisser au hasard.<br><br>On n’est pas sur du développement personnel, là c’est de la technique, si le code ne fonctionne pas, il ne fonctionne pas.<br>C’est binaire…<br><br>Enseigner c’est le meilleur moyen d’apprendre.<br>Je peux te le confirmer.<br><br>Quand tu veux apprendre aux autres, tu as 100 fois plus de raisons de vérifier toutes les ressources que tu utilises, tester tous les cas de figure, essayer de prévoir toutes les questions.<br>Le plus compliqué est de revêtir le costume d’un débutant.<br><br>Essayer de s’imaginer les réactions d’un novice face à un sujet pour être sûr de ne pas le perdre au bout d’une heure de formation…<br><br>J’y passe concrètement en moyenne une à deux semaines à temps plein.<br>Ayant d’autres activités, je n’ai pas encore atteint les deux par mois.<br><br>Ça me fait doucement rire quand on me présente Udemy comme une solution miracle pour vendre ses formations.<br><br>Que les choses soient claires, jamais je ne vendrai sur Udemy.<br>Udemy c’est un peu comme Amazon.<br><br>Pour l’utilisateur, c’est génial : beaucoup d’offres et des prix bas !<br>L’envers du décor est que ces plateformes font des dégâts.<br><br>Les frères Codeurs ont fait une vidéo sur leur business model à la limite de la légalité.<br><br>Ce qu’il faut retenir :</p><ul><li>Je n’ai pas la maitrise des prix</li><li>Pour chaque client amené par la plateforme, Udemy prend 50%</li><li>Je suis à la merci de leur algorithme</li></ul><p><br>Concrètement, les clients Udemy n’achètent que des cours à 10 euros.<br>5 dollars de chiffre d’affaires par vente amenée par la plateforme.<br><br>Donc si je dois me verser un salaire avec un business model sur Udemy, je touche à peine 2,5 dollars soit 2,12 euros net (avant imposition).<br>La réponse que je reçois (de personnes qui n’ont jamais produit une minute de formation), c’est : “oui, mais si tu en vends beaucoup, ça devient rentable”.<br><br>Là encore, ce n’est pas le cas.<br><br>Udemy met en avant une seule tête d’affiche par thématique.<br>Les autres se ramassent les miettes…<br><br>Bref, j’ai décidé de faire sans Udemy et j’en suis bien content.<br>Hors de question de brader mon travail à une plateforme qui ne défend pas mes intérêts…<br><br>J’ai la maitrise de A à Z, je ne suis pas dépendant d’un énième algorithme... <br><br><br><strong>La fameuse vision long terme</strong><br><br>Il y a une chose qui m’a permis de passer à un autre niveau.<br>Un autre niveau de mindset, pas encore de revenus ^^...<br><br>L’erreur que j’ai faite au départ, c’était de penser que j’en avais pour 6 mois à un an.<br>À partir du moment où j’ai commencé à me projeter sur 5 à 10 ans, tout à changé.<br><br>“Rome ne s’est pas construite en un jour”<br><br>On a souvent tendance à tout vouloir tout de suite.<br>Ce manque de patience fait que la majorité se plante dans un mur.<br><br>En ayant une vision long terme, ce n’est plus grave si ma vidéo n’a pas passé les 1000 vues en 24h.<br>Elle va rester là à faire des vues régulièrement pendant 5 ans.<br><br>Ce n’est pas grave si ma formation n’a pas fait autant de vente que j’espérai.<br>Je vais pouvoir la vendre régulièrement pendant les mois qui suivent.<br><br>C’est exactement pareil pour ta carrière, tes projets personnels et professionnels.<br>Aucun succès n’arrive du jour au lendemain (sauf la chaine de Micode lol).<br><br>Quand quelqu’un fait le buzz, on a souvent tendance à voir que ça.<br>On ne veut pas voir qu’il y a bossé dans l’ombre pendant 2, 5, 10 ans…<br><br><br><strong>L’aventure ne fait que commencer</strong><br><br>Voilà ce que je vise pour les années à venir en termes de business.<br><br>Faire grandir la marque Captain Dev.<br><br>Continuer de produire du contenu, attaquer d’autres plateformes et d’autres formats.<br>Augmenter la taille du catalogue de formations en couvrant des sujets pouvant aller du débutant au software craftsman en quête de nouvelles skills.<br>Continuer à prendre des missions freelances de temps à autre.<br><br>Cela me permettra de garder les pieds sur terre pour produire du contenu toujours au plus proche de la réalité.<br><br>Développer et monétiser des petits projets.<br>Explorer l’univers peu documenté de ces développeurs qui développent des SaaS en indépendant.<br><br>Le but à long terme est de maximiser les revenus des piliers précédemment détaillés.<br>Bien sûr, je ne manquerai pas de continuer à documenter tout ce que je fais à travers mon contenu.<br><br><strong>Dernière chose</strong><br><br>Si tu te lances dans un projet entrepreneurial, entoure-toi bien.<br>Que ce soit la personne avec qui tu vis, des amis entrepreneurs, tes parents, ta famille, fait attention à du temps avec des personnes qui croient en toi.<br><br>Tu peux avoir la plus grande motivation au monde, le problème c’est de la garder tout au long de l’aventure.<br>Pour ça je dois remercier Margot, ma fiancée.<br><br>Sans son soutien infaillible, je ne serai pas là à t’écrire ces lignes.<br><br>À demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Hier, j'ai regardé The Social Network, le film sur l'histoire de Facebook]]></title><description><![CDATA[<p>Ce film me fascine.<br><br>J’ai 31 ans et j’ai découvert Facebook en 2008 pendant mon BTS.<br><br>Je me souviens encore des premiers moments passés sur la plateforme.<br>À l’époque, les interactions sociales en ligne se résumaient à MySpace, MSN, Skyblog et les SMS.<br><br>Réaliser un film tiré</p>]]></description><link>https://blog.captaindev.io/hier-jai-regarde-the-social-network-le-film-sur-lhistoire-de-facebook/</link><guid isPermaLink="false">5f7760db8674634b59d293f8</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Sun, 04 Oct 2020 21:36:20 GMT</pubDate><content:encoded><![CDATA[<p>Ce film me fascine.<br><br>J’ai 31 ans et j’ai découvert Facebook en 2008 pendant mon BTS.<br><br>Je me souviens encore des premiers moments passés sur la plateforme.<br>À l’époque, les interactions sociales en ligne se résumaient à MySpace, MSN, Skyblog et les SMS.<br><br>Réaliser un film tiré d’une histoire vraie n’est pas une mince affaire.<br>On se doute bien que le scénario peut contenir des approximations ou quelques erreurs historiques…<br><br>Drama mis à part, certaines choses m’ont frappées…<br><br><br><strong>1000 euros pour héberger un site !</strong><br><br>D’un point de vue tech, on vit dans une époque géniale.<br><br>Dans les premières scènes du film, Mark Zuckerberg demande à Eduardo Saverin (son ami et associé) des fonds pour pouvoir payer l’hébergement de la première version du site.<br><br>J’ai trouvé la somme énorme, mais remise dans le contexte du début des années 2000, c’est totalement normal.<br><br>À cette époque, le simple fait de déployer un site est un vrai casse-tête.<br><br>Le cloud public n’existe pas, Docker n’existe pas, le Serverless n’existe pas, GitHub n’existe pas…<br><br>Pour déployer, tu dois créer des scripts te permettant d’automatiser le traitement.<br>C’est toujours plus ou moins le cas, mais aujourd’hui tu as à ta portée des outils clés en main.<br><br><br><strong>Comment l’histoire de Facebook a renforcé le mythe de la startup et du garage ?</strong><br><br>Au début des années 2000, être développeur c’est naze.<br><br>Peu de gens se rendent comptent de l’importance qu’aura le métier dans les années qui suivent.<br><br>L’image qu’on a des développeurs, c’est un nerd qui reste toute la journée enfermé devant son ordinateur.<br><br>20 ans plus tard, Facebook est une des plus grosses sociétés de la tech.<br>L’image des développeurs a aujourd’hui complètement changé.<br><br>Nous sommes maintenant une ressource rare et recherchée. <br>Le marché est clairement en notre faveur.<br><br>L’histoire de Mark Zuckerberg a fait rêver des générations entières de développeurs.<br><br>Un développeur qui “trouve” l’idée du siècle, la développe et en fait une des sociétés les plus riches du monde.<br><br>C’est l’histoire qui pourrait prouver que tout est possible.<br><br>Bon, on ne va pas se mentir, il y a énormément de facteurs qui entrent en compte dans cette réussite.<br><br>Aller aussi loin, c’est quelque chose d’unique et ça n’a pas dû se faire dans la douceur…<br><br><br><strong>Je vois tellement de développeurs galvanisés par ce mythe</strong><br><br>Je vois de plus en plus de développeurs qui pensent avoir l’idée du siècle et c’est une bonne chose.<br><br>Ce qui en revanche me pose problème c’est que beaucoup s’imaginent que c’est facile.<br><br>Qu’il suffit de développer un prototype, le lancer, lever des fonds et bingo.<br>Dans mon activité, j’ai choisi la création de formations.<br><br>C’est un business modèle assez simple : apprendre aux autres et leur faire gagner du temps.<br><br>Et pourtant, en prenant du recul, je me rends compte que c’est la chose la plus compliquée que j’ai jamais faite…<br><br>Au-delà de l’expertise technique, il faut tenir une comptabilité, se former en permanence, écrire des mails (presque) tous les jours, écrire des scripts de vidéos,  enregistrer des vidéos, monter les vidéos, publier les vidéos, créer le code pour les formations, enregistrer les formations, monter les formations, publier les formations, faire la promotion des formations…<br><br>Je n’insiste pas pour me plaindre, mais pour te faire comprendre que peu importe le chemin que tu empreintes, rien n’est facile dans la vie…<br><br><br><strong>Ne te décourage pas</strong><br><br>Cela peut passer pour une vision pessimiste des choses.<br><br>Pourtant, il n’y a qu’à regarder les chiffres, la majorité échoue.<br>Créer une société, une entreprise qui n’est pas basée sur l’échange de ton temps et de ton expertise est bien plus compliqué que ce que tu peux imaginer.<br><br>Il existe une tonne de choses que tu ne peux pas anticiper.<br>Tu dois t’adapter, faire preuve de résilience et de persévérance.<br><br>Si tu as un projet en tête, je te conseille vivement de t’y mettre dès maintenant.<br><br>Le problème, c’est qu’on attend toujours le bon moment.<br><br>Le bon moment n’existe pas, c’est une pure invention de notre subconscient pour se dédouaner de ne pas passer à l’action.<br><br>Prends un peu de recul et rends-toi compte à quel point nous sommes efficaces à trouver des excuses…<br><br><br><strong>Il n’y aura pas de prochain Facebook</strong><br><br>Tous ceux qui se lancent avec objectif de créer le prochain Facebook se planteront.<br><br>C’est une idée reçue qui a fait beaucoup de mal à l'industrie.<br>Lever des fonds est devenu un nouveau sport de haut niveau.<br><br>Si tu n’as pas d’équipe, tu peux commencer par régler un problème simple et le monétiser.<br><br>Je suis depuis quelque temps le podcast The Mature Dev, je dois avouer qu’il m’a beaucoup inspiré.<br><br>Au lieu de rester bloqué dans ce complexe Facebookien qui oblige à voir trop grand, pourquoi ne pas chercher à résoudre un petit problème ?<br><br>Résoudre un problème de niche, une seule problématique sans superflu…<br><br><br><strong>Ça n’a jamais été aussi facile</strong><br><br>Le coût d’entrée n’a jamais été aussi bas.<br><br>Aujourd’hui tu peux héberger gratuitement ton application sur différentes plateformes.<br><br>Fais un tour sur les différents Cloud public, tu peux recevoir gratuitement plusieurs centaines d’euros de crédit.<br><br>Là où Zuckerberg a demandé 1000 euros, tu peux commencer gratuitement.<br><br>Tu n’as plus à gérer une infrastructure, on le fait pour toi.<br>Tu n’as plus à gérer des déploiements, on le fait pour toi.<br>Tu n’as plus à te soucier de la montée en charge, on le fait pour toi.<br><br>La seule chose que tu dois faire, c’est commencer à développer, maintenant.<br><br>À demain (peut-être),<br><br>Captain Dev<br></p>]]></content:encoded></item><item><title><![CDATA[J’ai une addiction et peut être que toi aussi...]]></title><description><![CDATA[<p><br>Il m’aura fallu un documentaire sur Netflix pour m’en rendre compte.<br>Le documentaire s'appelle Social Dilemma ou Derrière nos écrans en version française.<br><br>C’est un documentaire que je te conseille vivement si tu as l’impression de ne plus maitriser ton temps.<br><br>Pour faire écho au mail</p>]]></description><link>https://blog.captaindev.io/jai-une-addiction-et-peut-etre-que-toi-aussi/</link><guid isPermaLink="false">5f6ee9c68674634b59d293e3</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Wed, 30 Sep 2020 13:21:31 GMT</pubDate><content:encoded><![CDATA[<p><br>Il m’aura fallu un documentaire sur Netflix pour m’en rendre compte.<br>Le documentaire s'appelle Social Dilemma ou Derrière nos écrans en version française.<br><br>C’est un documentaire que je te conseille vivement si tu as l’impression de ne plus maitriser ton temps.<br><br>Pour faire écho au mail d’hier où je pointais du doigt les interactions inutiles et dénuées de sens.<br><br>Pour résumer, ce documentaire met en avant les techniques utilisées par les plateformes pour faire en sorte que nous passions un maximum de temps dessus.<br>Pour mettre en place ces systèmes complexes, ils s’appuient sur des méthodes de manipulation ainsi que de l’intelligence artificielle…<br><br>Je dois avouer que ces systèmes sont ultra-efficace !<br>Je n’irais pas plus loin pour ne pas spoiler car je pense que c’est à voir de toute urgence !<br><br><br><strong>Je regarde plus de vidéos que je n’en produis</strong><br><br>Cela fait déjà quelques mois que je m’étais fait la réflexion.<br><br>En tant que créateur de contenu, je suis amené à en consommer.<br>Je me suis beaucoup appuyé sur YouTube pour apprendre à faire tout ce qui n’est pas du dev.<br>Utiliser une caméra en mode manuel, mettre en place une newsletter, créer un plan de vidéo…<br><br>Bref, toute ma stratégie de création de contenu.<br><br>Le problème c’est que même après avoir acheté la caméra de mes rêves, je regarde encore les tests des nouveaux appareils.<br><br>Etant abonné à une flopée de filmmakers anglophones, je vais parfois jusqu'à regarder le test du même produit par plusieurs personnes différentes.<br><br>Oui, je suis en train de te dire que je peux passer une heure à regarder 5 fois un contenu ultra-similaire.<br>Pour couronner le tout, j’ai toujours une certaine méfiance étant donné que ces YouTubeurs n’ont pas besoin d’acheter les produits qu’ils présentent, pour la plupart.<br><br>Des marques comme Sony, Canon, Nikon et bien d’autres inondent la toile d’unités de tests.<br>Une publicité à peine masquée, rien de mal à ça tant que le spectateur est au courant.<br><br><br><strong>En parlant de partenariat…</strong><br><br>J’ai été surpris en regardant mes mails ce matin.<br><br>Une entreprise de services cloud me propose un partenariat…<br><br>C’est bientôt l’heure de la YouTube money !<br><br>Je n’ai pas encore pris de décision, je ne connais pas leurs produits donc j’ai besoin de prendre du recul.<br><br>Au début, je me suis dit, je ne vais quand même pas vendre un produit à mon audience ?<br>Après réflexion, je me rends compte que je le fais déjà.<br><br>D’une je vends des formations à ceux qui me suivent dans les mails quotidien.<br>Rien de mal à ça, c’est de la valeur supplémentaire, personne n’est forcé, un peu comme le pop-corn au cinéma…<br><br>Et deuxièmement, depuis le mois de mai, j’ai activé les publicités sur mes vidéos (d’après YT, ça n’a aucun impact sur la mise en avant ou non mais j’ai du mal à y croire)...<br><br>En activant la publicité, je vends le temps d’attention de mon audience aux annonceurs publicitaires.<br>Ce temps d’attention est le nerf de la guerre des réseaux sociaux, c’est ce qui finance tout le fonctionnement…<br><br><br><strong>Revenons-en à notre problème de consommation</strong><br><br>J’ai commencé par migrer tous mes réseaux sociaux sur un ancien téléphone qui traînait à la maison.<br>En supprimant ces applications de mon téléphone, je casse l’habitude d’ouvrir les applications juste par réflexe.<br><br>Après quelques temps, j’ai fini par réinstaller les applications sur mon téléphone mais sans mettre les raccourcis sur la page d’accueil.<br><br>Regarder mon temps d’écran moyen sur les dernières semaines a été un moment assez saisissant.<br>Tous ces moments où j’avais l’impression de ne pas avoir le temps de faire ce que je dois faire ont finalement été passés sur des zone à faible valeur ajoutée.<br><br>Je remarque à quel point les réseaux sociaux nous conditionnent.<br>Comme un rat de laboratoire habitué à recevoir une récompense à la fin du labyrinthe.<br><br>J’ai clairement vu l’impact négatif de tout ce bruit sur ma production du mois de septembre.<br>Du mal à me concentrer, du mal à avancer, baisse de la production…<br><br><br><strong>Mon activité m’empêche de tout couper</strong><br><br>Je ne peux pas pour autant supprimer tous mes comptes.<br>Pour continuer de développer la marque Captain Dev, il est important d’assurer une présence.<br><br>Voilà ce que je veux mettre en place : création &gt; consommation.<br>Créer plus que je ne consomme.<br><br>C’est à la fois simple à comprendre et ultra-efficace.<br><br>Passer une heure sur Instagram ?<br>Pas de soucis tant que je passe 50 minutes à créer des posts, des stories et des Reels…<br><br>Passer 3 heures sur YouTube ?<br>Pas de problème tant que c’est pour sortir une nouvelle vidéo !<br><br>Tu vois où je veux en venir, ces plateformes qui sont censées nous augmenter (accès à l’information) sont en train de nous endormir !<br><br>Je pense sincèrement que nous devons tous nous poser la question même si nous ne sommes pas tous des créateurs de contenus.<br><br>Créer plutôt que consommer…<br><br>A demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Ne deviens pas ce genre développeur aigri...]]></title><description><![CDATA[<p><br>Parfois j’ai juste envie de mettre Twitter à la poubelle.<br><br>J'interagis rarement, je regarde beaucoup ce que les gens disent, peut-être un peu trop…<br>Toujours dans l’optique d’analyser, de comprendre, de m’inspirer et d’évoluer.<br><br>A la base les réseaux sociaux ont la formidable possibilité de</p>]]></description><link>https://blog.captaindev.io/ne-deviens-pas-ce-genre-developpeur-aigri/</link><guid isPermaLink="false">5f6d983d8674634b59d293c7</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Fri, 25 Sep 2020 13:09:21 GMT</pubDate><content:encoded><![CDATA[<p><br>Parfois j’ai juste envie de mettre Twitter à la poubelle.<br><br>J'interagis rarement, je regarde beaucoup ce que les gens disent, peut-être un peu trop…<br>Toujours dans l’optique d’analyser, de comprendre, de m’inspirer et d’évoluer.<br><br>A la base les réseaux sociaux ont la formidable possibilité de nous rapprocher.<br><br>Plus le temps passe, plus on se rend compte que l’ère des réseaux sociaux a aussi fait ressortir le pire, cette dernière a dévoilé la vraie nature de l’être humain…<br><br><br><strong>Ce qui me gène dans tout ça </strong><br><br>Comme d’habitude, j’ouvre Twitter et je pars à la recherche d’informations croustillantes : une nouvelle librairie, un retour d’expérience ou une nouvelle méthode…<br><br>Je finis très vite par me rendre compte que la majorité des posts sont à mettre à la poubelle…<br><br><u>Le respect est en voie de disparition.</u><br><br>Sous couvert d’anonymat, les gens se permettent d’écrire des choses qu’ils n’auraient jamais osé dire en face.<br>Toujours prêt à dégainer des punchlines dignes des meilleurs rappeurs, toujours dans le clash, toujours dans l’exagération…<br><br>De quoi créer très rapidement un environnement toxique.<br><br><u>Les gens préfèrent passer du temps à prouver que l’autre a tort</u><br><br>Tu vois ce genre de posts ou les gens se battent pour savoir qui a la meilleure techno, le meilleur framework…<br><br>Une perte de temps monumentale, pour le moindre poste avec lequel ils sont en désaccord, ils sont prêts à y passer l’après-midi.<br><br>Quand le fan de Vue.js affirme que React.js est nul à chier, il n’a pas l’humilité de réaliser que des centaines d’ingénieurs bien plus talentueux que lui ont travaillé des heures pour créer un outil à l’échelle mondiale.<br><br>C’est vrai pour n’importe quelle combinaison de technologies.<br>Pourquoi sommes-nous dans un conflit perpétuel ?<br><br><br><strong>Mute</strong><br><br>J’ai une solution radicale pour tout ça.<br><br>Arrête de suivre les contenus polémiques même s’ils parlent des technologies que tu utilises.<br>Quand la conversation s'éternise à la machine à café, sors prendre l’air.<br><br>Toute discussion non constructive, n’a finalement pas lieu d’être.<br>A quoi bon gâcher la chose la plus universelle, ton temps.<br><br>C’est pour cette raison que j’aime de plus en plus me balader sur Medium.<br>Tu peux y trouver des opinions, des retours d’expérience, des tutoriels, le tout sans JeanMichelPasContent458 !<br><br><br><strong>La technologie n’est qu’un outil</strong><br><br>L’utilisateur final s’en contre fout des technologies que tu as utilisées.<br>Que tu fasses du JQuery ou du Svelte.js, peu importe, il a juste besoin d’un produit qui fonctionne !<br><br>Choisis les outils avec lesquels tu te sens productif, avec lesquels tu as envie de travailler.<br>Si tu finis par avoir envie de changer de technologie, tu n’es pas obligé de te justifier (à moins d’être lead dev lol).<br><br>Combien de développeurs ont appris successivement les dernières technologies à la mode sans même passer une seconde sur les méthodologies les plus importantes.<br><br>Je peux te laisser des mots clés pour que tu continues tes recherches :</p><ul><li>Clean Architecture</li><li>Clean Code</li><li>Testing</li><li>Software Craftsmanship</li><li>Algorithmes</li><li>…</li></ul><p><br><br><strong>Continue de créer de nouvelles choses</strong><br><br>Imagine si on mettait toute cette énergie gâchée au service de la création.<br>Ces heures passées à créer des argumentaires pourraient être utilisées pour coder.<br><br>Imagine la valeur que l’on pourrait créer !<br>Si tu as un side project, lance-toi maintenant.<br><br>Rien ne te garantis que tu réussiras mais il n’y a pas meilleur moyen pour apprendre.<br><br>A demain,<br><br>Captain Dev<br><br>PS: en ce moment, je prépare une nouvelle formation, si tu veux voir les coulisses, ça se passe sur Instagram !<br><br><a href="https://www.instagram.com/captaindev404">https://www.instagram.com/captaindev404</a></p>]]></content:encoded></item><item><title><![CDATA[A toi de choisir ton employeur et pas l'inverse]]></title><description><![CDATA[<p><br>Quand tu débutes dans le développement, tu n’as pas vraiment le choix.<br>On va te proposer plusieurs opportunités, tu n’es pas vraiment en mesure de négocier.<br><br>Plus ton cursus théorique est court, plus c’est vrai.<br>Il se passe une chose étrange après quelques années d’expérience.<br><br>Une</p>]]></description><link>https://blog.captaindev.io/a-toi-de-choisir-ton-employeur-et-pas-linverse/</link><guid isPermaLink="false">5f6c46ee8674634b59d293c3</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Fri, 25 Sep 2020 13:08:41 GMT</pubDate><content:encoded><![CDATA[<p><br>Quand tu débutes dans le développement, tu n’as pas vraiment le choix.<br>On va te proposer plusieurs opportunités, tu n’es pas vraiment en mesure de négocier.<br><br>Plus ton cursus théorique est court, plus c’est vrai.<br>Il se passe une chose étrange après quelques années d’expérience.<br><br>Une fois le statut de junior abandonné, la perspective change.<br><br>Tu deviens un développeur junior.<br>A partir de ce moment, tu deviens la proie…<br><br><br><strong>Les sollicitations vont augmenter</strong><br><br>Tu vas recevoir de plus en plus de sollicitations, toutes te promettant un meilleur salaire, des technologies à la pointe et un super projet.<br><br>Je dois t’avouer qu’au début, ça fait clairement rêver !<br><br>Plus besoin de chercher un job ?<br><br>Pas si vite, ce n’est pas parce que le nombre de démarchages a explosé que toutes ces propositions vont te plaire.<br><br>Au fur et à mesure de tes expériences, tu deviendras plus rigoureux dans la sélection des personnes ou entreprise avec lesquelles tu travailles.<br><br>Tu vas vite finir par te rendre compte que la facilité de trouver un job n’est pas du tout proportionnelle au nombre de démarchages.<br><br><br><strong>Ne néglige pas tes recherches</strong><br><br>Il y a un principe qu’il faut garder en tête tout au long de ta carrière : <br>“Ce n’est pas ton employeur qui te choisi, c’est toi qui choisi ton employeur.”<br><br>Peu importe le nom de la boite, ça n’a aucune importance.<br>Google, JP Morgan, Lidl ? <br><br>C’est strictement la même chose.<br><br>Tu as le choix, tu peux refuser ou accepter.<br>Dans les deux cas, il faut savoir pourquoi tu prends cette décision.<br><br>Parfois on a tendance à voir des opportunités du siècle là ou il n’y en a pas.<br>Le but est de faire un choix ultra calculé, pas de place pour les sentiments, c’est du business.<br><br>Les raisons vont changer en fonction de la personne.<br><br>Peut-être que tu veux une belle ligne sur ton CV, peut-être que tu veux devenir le meilleur dans ton domaine, peut-être que tu veux un job paisible...<br><br>Peu importe les raisons, elles sont totalement personnelles et ne regarde que toi.<br>Tu n’as pas non plus l’obligation de justifier ta décision.<br><br><br><strong>Un CDI, ce n’est pas un cadeau</strong><br><br>Tu risques de tomber sur des chefs d’entreprises qui agissent comme s’ils te rendaient service.<br>Tu sais ce positionnement où on te donne l’impression qu’on a fait un effort pour t’embaucher.<br><br>Comme si on te rendait un service et que tu devais en être reconnaissant…<br>Pas la peine de t’expliquer qu’il ne faut pas rester dans un environnement aussi toxique.<br><br>Il faut bien comprendre qu’en tant que professionnel, tu apportes de la valeur.<br>Tu viens avec des compétences, une motivation, des expériences.<br><br>C’est un tout qui permet à une entreprise d’organiser la création de valeur.<br>Quand je vois le nombre de personnes qui choisissent un poste seulement vis-à-vis des technologies utilisées…<br><br>Rien de mieux pour perdre la motivation d’ici un an…<br><br><br><strong>Cherche ceux qui prennent soin de leurs employés</strong><br><br>C’est fou à quel point l’admiration pour Steve Jobs a créé une génération de chefs d’entreprises aussi bêtes qu’impitoyables.<br>Ce genre de comportement est souvent accompagné par le genre de phrases toutes faites du style : “le client est roi”...<br><br>Bon déjà il faut savoir que seul le bon client est roi.<br><br>Cherche plutôt des groupes qui font passer leurs employés avant tout.<br>“Prends soin de tes employés, ils prendront soin de tes clients”<br><br>Ce dicton n’a jamais eu autant de sens…<br><br><br><strong>Chacun ses critères</strong><br><br>Il y a des critères qui sont difficilement quantifiables.<br><br>Peut-être que tu cherches une ambiance en particulier.<br>Tu préfères peut-être télétravailler ou travailler au ⅘ème…<br><br>Tout ce qui importe pour toi doit être abordé dans les phases d’entretien.<br>Tu serais étonné de voir ce qu’il est possible de négocier à l’entrée…<br><br>Une variable reste universelle.<br><br>Le salaire !<br><br>Quand tu tombes sur une boite qui se vante d’être la meilleure dans son domaine mais qui paie au lance pierre sous couvert de chercher seulement des passionnés, fuis.<br><br>C’est signe avant coureur de bien d’autres soucis.<br><br>Bien rémunérer ses salariés fait partie des basiques.<br>Impossible d’ignorer le marché, encore moins dans le domaine de la tech…<br><br>A demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Comment je fais ma veille tech ?]]></title><description><![CDATA[<p><br><br>J’en ai déjà parlé dans d’anciennes vidéos, mais c’est important de revenir régulièrement sur l’importance de la veille tech.<br><br>Il y a plusieurs manières de s’organiser, dans ce mail je vais te donner des pistes, n’hésite pas à adapter à tes besoins.<br><br>Premièrement, il</p>]]></description><link>https://blog.captaindev.io/comment-je-fais-ma-veille-tech/</link><guid isPermaLink="false">5f69b2fe8674634b59d293bf</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Fri, 25 Sep 2020 13:08:06 GMT</pubDate><content:encoded><![CDATA[<p><br><br>J’en ai déjà parlé dans d’anciennes vidéos, mais c’est important de revenir régulièrement sur l’importance de la veille tech.<br><br>Il y a plusieurs manières de s’organiser, dans ce mail je vais te donner des pistes, n’hésite pas à adapter à tes besoins.<br><br>Premièrement, il faut définir la fréquence à laquelle tu veux “recevoir” du contenu.<br><br>C’est important de ne pas trop en consommer et de cibler des sujets bien spécifiques.<br><br><br><strong>Les plateformes de contenus</strong><br><br>Youtube, Twitter, Medium, LinkedIn.<br><br>Je les mets tous dans le même sac, car ils te permettent d’automatiser la récupération de contenu en te basant sur leurs algorithmes.<br><br>Pour cela, il suffit d’effacer ton historique et de ne consommer que des contenus sur les sujets qui t’intéressent.<br><br>Sur YouTube, l’algorithme s’en charge à ta place, autant en profiter.<br><br>Côté Twitter, LinkedIn et Medium, il faudra suivre les personnes influentes dans la thématique choisie.<br><br>Il est important d'interagir avec l’audience.<br>Se confronter à ses compères est important pour développer ta marque personnelle.<br><br><br><strong>Les blogs spécialisés</strong><br><br>Au fur et à mesure de mes recherches, j’ai fini par établir une liste de blog de développeur.<br>C’était ultra important il y a quelques années, car il n’y avait pas de contenu orienté dev sur Youtube et compagnie…<br><br>J’utilise Feedly pour gérer mes flux RSS.<br>Impossible de manquer un article.<br><br>Attention à ne pas suivre trop de sujets en même temps, c’est un coup à s’éparpiller…<br><br><br><strong>Les newsletters</strong><br><br>Il existe un tas de newsletters telles que Javascript Weekly qui te permettent de recevoir un digest sur une technologie en particulier.<br><br>Chaque semaine, tu recevras les informations à ne pas rater de ta communauté.<br><br><br><strong>Les repositories “awesome”</strong><br><br>Le secret, c’est d’aller sur GitHub et de chercher un repository sous le pattern suivant : <br>awesome-&lt;le nom de ta techno&gt;.<br><br>Ex : awesome-flutter, awesome-react, ... <br><br>Que faire une fois les sources de données identifiées ?<br><br>Une fois que tu n’as plus besoin de chercher ton contenu veille, il faut passer à l’action.<br>Donne-toi des objectifs chiffrés, tester une librairie par semaine ou par mois par exemple.<br><br>C’est important de lire du code, mais le plus important reste de le manipuler.<br><br>A demain<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Je suis fatigué du code...]]></title><description><![CDATA[<p><br>Il y a des moments ou je suis vraiment fatigué du code.<br><br>Pas envie de réfléchir, pas envie de créer, juste envie de faire autre chose…<br>Code Fatigue, Javascript Fatigue, nomme-le comme tu veux, si tu es déjà passé par là, tu sais de quoi je parle.<br><br>Passé les premiers</p>]]></description><link>https://blog.captaindev.io/je-suis-fatigue-du-code/</link><guid isPermaLink="false">5f672cea8674634b59d293bb</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Fri, 25 Sep 2020 13:07:32 GMT</pubDate><content:encoded><![CDATA[<p><br>Il y a des moments ou je suis vraiment fatigué du code.<br><br>Pas envie de réfléchir, pas envie de créer, juste envie de faire autre chose…<br>Code Fatigue, Javascript Fatigue, nomme-le comme tu veux, si tu es déjà passé par là, tu sais de quoi je parle.<br><br>Passé les premiers mois, les premières années, le métier peut parfois devenir frustrant.<br>On peut avoir l’impression de rester bloquer dans une boucle infinie.<br><br>Un besoin utilisateur, on code, on déploie et on recommence.<br><br><br><strong>Comment renouer avec la créativité ?</strong><br><br>Je suis passé plusieurs fois par ce genre de phases.<br><br>On est loin du Captain Dev des vidéos toujours enjoué de partager ses expériences en vidéos.<br><br>C’est un problème cyclique, le mois de septembre n’a pas été le plus prolifique.<br>Ce n’est pas la première fois et je sais qu’il y en aura d’autres.<br><br>Mais pour autant, il ne faut pas se laisser abattre.<br><br>Peu importe le domaine dans lequel tu évolues, ton envie et ta motivation ne seront jamais linéaires.<br><br>Elles évoluent en fonction de différents facteurs.<br>Le tout est de se concentrer sur les choses que tu peux changer.<br><br>Tu peux changer de boite, tu peux changer d’environnement, tu peux prendre quelques jours de congés…<br><br>Partir 2 ou 3 jours à la campagne, couper les réseaux sociaux, lire un livre ou tester un nouveau framework, toutes ces choses ont un point commun : te faire sortir de ta routine.<br><br><br><strong>On néglige trop souvent le côté créatif du métier</strong><br><br>Aujourd’hui, le métier de développeur te permet de créer à partir d’une idée.<br>Un concept peut se transformer en application mobile ou en site web.<br><br>La seule chose dont tu as besoin est de remonter tes manches et de commencer à créer.<br>Pourtant nous sommes très peu à vraiment tirer parti de cette particularité.<br><br>Quand je vois le nombre de personnes sortant d’école de commerce cherchant un développeur…<br><br>Nous sommes finalement trop conditionnés et habitués à créer pour les autres.<br><br>C’est comme si le marché nous demandait de simplement empiler des parpaings alors qu’en investissant un peu de temps sur nos compétences nous serions capable de construire des maisons entières.<br><br>N’oublie pas qu’être développeur te donne la possibilité de créer.<br>La seule limite est ton niveau technique, le reste n’est qu’un détail.<br><br><br><strong>Combattre la Fatigue</strong><br><br>Je ne parle pas de fatigue physique, mais de cette phase ou tu n’as plus envie de continuer…<br><br>Si tu ne fais rien, tu risques de te réveiller après 10 ans d’hibernation, d’ici là React.js aura peut-être disparu et tu ne seras plus à la page…<br><br>Le plus dur dans tout ça, c’est de se mettre en marche.<br>Avec du recul, je me rends compte que faire le premier pas et lancer le mouvement est souvent la tâche la plus compliquée.<br><br>Une fois cette barrière abattue, tu peux profiter du momentum.<br>Tu as du voir que je ratais quelques jours dans les mails quotidiens, en ce moment je n’ai pas trop envie d’écrire.<br><br>Comme pour le code, je sais que cette période va passer.<br>Parfois le simple fait de chercher à se renouveler suffit à créer de nouvelles opportunités.<br><br><br><strong>Comment j’ai renoué avec le code ?</strong><br><br>Je me suis lancé sur la création d’une nouvelle formation.<br>Enseigner est le meilleur moyen d’apprendre.<br><br>Autant te prévenir, la formation sera sur GatsbyJS.<br>Pas de hasard, vu l’évolution de la JAMStack, GatsbyJS va bientôt faire partie des indispensables pour tous les développeurs WEB.<br><br>GatsbyJS te permet de récupérer facilement toutes sortes de sources de données : GraphQL, API Rest, Markdown, fichiers et bien d’autres…<br>L’idée c’est d’aller dans les détails, de montrer comment fonctionne le framework en interne.<br><br>Je n’ai pas envie de simplement effleurer le sujet.<br><br>Ce challenge a suffi à me remotiver, me redonner l’envie de partager ce que je sais et ce que j’apprends !<br><br>Je ne veux pas vendre des formations simplement pour faire de l’argent.<br>Je veux vivre de ma passion en aidant les gens.<br><br>A demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Deno, c'est pas pour tout de suite...]]></title><description><![CDATA[<p></p><p><strong>Deno, ce n’est pas pour tout de suite…</strong><br><br>Je vois beaucoup de jeunes développeurs se jeter sur Deno.<br><br>C’est vrai que c’est tentant, une nouvelle technologie apparaît, avec elle la promesse de gommer les erreurs de jeunesse de ses prédécesseurs…<br><br>Ça, c’est le discours marketing.<br><br>Je</p>]]></description><link>https://blog.captaindev.io/deno-cest-pas-pour-tout-de-suite/</link><guid isPermaLink="false">5f6310198674634b59d2939b</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Fri, 18 Sep 2020 14:16:03 GMT</pubDate><content:encoded><![CDATA[<p></p><p><strong>Deno, ce n’est pas pour tout de suite…</strong><br><br>Je vois beaucoup de jeunes développeurs se jeter sur Deno.<br><br>C’est vrai que c’est tentant, une nouvelle technologie apparaît, avec elle la promesse de gommer les erreurs de jeunesse de ses prédécesseurs…<br><br>Ça, c’est le discours marketing.<br><br>Je dois avouer que je trouve Deno assez intéressant.<br><br>Le projet a été lancé par le créateur de Node.js lui-même, je pense que Ryan Dahl est très bien placé pour poser les bases d’un nouveau projet de grande ampleur.<br><br>Le problème avec les nouvelles technologies, c’est toujours la vitesse d’adoption du marché.<br><br><strong>Le délai minimum d’adoption</strong><br><br>Il y a un toujours un délai minimum entre le buzz d’une technologie et son adoption par le marché.<br>La question qu’on est en droit de se poser : à quel moment doit-on investir du temps ?<br><br>Tu verras que la question n’est pas si vite “répondue”...<br><br>Tout dépend du type de projet dans lequel la technologie peut être utilisée.<br>Prenons l’exemple de Moment.js qui vient de passer en mode legacy.<br><br>Il n’aura plus de nouvelles fonctionnalités de développées sur le projet.<br>Une alternative très solide est date-fns.<br><br>Si le code est propre, changer cette dépendance ne devrait pas être très long.<br><br>Un développeur consciencieux aura pris le soin d’encapsuler la librairie afin de ne pas dépendre directement de la librairie.<br><br>Il y aura alors qu’un seul module à mettre à jour, les méthodes exposées par l’abstraction ne devraient pas changer…<br><br>Une libraire aussi “petite” se remplace en un laps de temps ultra court : on parle de quelques heures à une semaine de travail selon les projets.<br><br>Ici l’adoption du marché peut se faire en quelques semaines voir quelques mois.<br><br><br><strong>Pour les plateformes c’est beaucoup plus long</strong><br><br>Deno est un runtime réécrit de A à Z.<br>Il ne propose pas de compatibilité avec Node.js et c’est tant mieux !<br><br>Pas question de se trimbaler les défauts de Node.js…<br>Le problème est que pour passer à Deno, il faudra créer de nouveaux projets, faire face à des bugs inconnus, le tout en utilisant un outils peu documenté (Stack Overflow, blogs, etc).<br><br>Tu l’as bien compris même si Deno était prêt aujourd’hui, il faudrait attendre le démarrage d’un nouveau projet.<br>C’est ce délai moyen qu’il faut avoir en tête.<br><br>D’expérience, cela se fait sur 1 à 3 ans.<br>J’ai entendu parler de Flutter à la fin de l’année 2017.<br><br>Ma veille s’est limitée à quelques articles Medium et un parcours de la documentation.<br><br>Depuis le début, je suis fan du projet.<br><br>Pourtant ce n’est qu’à la fin de l’année 2020 que j’ai décidé de plonger plus sérieusement dans le projet.<br><br>Parce que je sais qu’être le premier sur Flutter n’est pas forcément un avantage pour moi.<br><br>Je préfère attendre de voir si le projet prend de l’ampleur (c’est le cas pour Flutter), si l’entreprise derrière à savoir Google croit au projet…<br><br>Google est réputé pour avoir le courage de stopper net des projets et ce peu importe la taille de la communauté.<br><br>Si Google ne croit pas à un projet, il le tuera dans l’oeuf sans hésiter.<br><br><strong>Observer les facteurs clés d’adoption</strong><br><br><em><u>Premièrement la gestion des versions.</u></em><br><br>Mis à part Facebook qui n’en a que faire, un suivi scrupuleux du Semantic Versioning permet de savoir si l’utilisation du projet en production est viable.<br><br><em><u>Deuxièmement, l’évolution de la communauté.</u></em><br><br>Attention, il ne suffit pas d’avoir 50K étoiles sur Github.<br>Je parle d’articles de blog, de vidéos tutoriel sur YouTube, de posts Reddit, de retours d’expériences de développeurs, de meetups…<br><br>Pour faire le lien avec Deno, à l’heure où j’écris ces lignes, on se contente de projets assez simples…<br><br>L’adoption de Node.js a pris un nouveau tournant quand on a fini par se rendre compte que la technologie était utilisée par les géants du Web : Paypal, Netflix et bien d’autres…<br><br><em><u>Troisièmement, les offres d’emploi</u></em><br><br>C’est bien beau d’être expert Deno en 2020, mais si personne ne t’embauche ça ne sert à rien.<br><br>En 2015, je me battais pour l’adoption de React au sein de mon équipe.<br>Très peu de collègues y croyaient, pour la plupart, c’était juste un framework Javascript de plus.<br><br>5 ans plus tard, React.js est le framework frontend le plus demandé sur le marché…<br><br>Je ne suis pas devin, j’ai investi sur une techno à laquelle je croyais, j’aurais pu me tromper comme ça a été le cas pour Meteor.js…<br><br><br><strong>Ce qu’il faut retenir</strong><br><br>C’est très important de faire de la veille technique.<br>C’est même selon moi indispensable.<br><br>Tu peux devenir un early adopter sur la technologie de ton choix.<br>Construire des projets complexes et en parler autour de toi.<br><br>Si tu es trop en avance et que trop peu de gens s’y intéressent, ne le prends pas personnellement.<br><br>Prends le recul nécessaire et ne sois pas frustré si tu ne trouves pas d’offres, c’est juste une question de timing.<br><br>A demain,<br><br>Captain Dev </p>]]></content:encoded></item><item><title><![CDATA[Un freelance doit s’adapter deux fois plus rapidement...]]></title><description><![CDATA[<p><br><strong>Un freelance doit s’adapter deux fois plus rapidement…</strong><br><br>Dans mon mail précédent, j’évoquais le fait que je ne recommande pas le freelancing aux développeurs juniors.<br><br>Pour beaucoup le freelancing perçu comme un eldorado, c’est cette idée reçue que je critique.<br><br>Cela ne veut pas dire que je</p>]]></description><link>https://blog.captaindev.io/un-freelance-doit-sadapter-deux-fois-plus-rapidement/</link><guid isPermaLink="false">5f61da2e8674634b59d29393</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Wed, 16 Sep 2020 09:42:59 GMT</pubDate><content:encoded><![CDATA[<p><br><strong>Un freelance doit s’adapter deux fois plus rapidement…</strong><br><br>Dans mon mail précédent, j’évoquais le fait que je ne recommande pas le freelancing aux développeurs juniors.<br><br>Pour beaucoup le freelancing perçu comme un eldorado, c’est cette idée reçue que je critique.<br><br>Cela ne veut pas dire que je pense que tous les juniors vont se planter.<br>Je pense juste qu’il faut prendre en compte les responsabilités que le statut implique.<br><br>J’écris ce mail pour donner suite à une réponse d’une abonnée qui ne vit pas en métropole, forcément cela implique énormément de nouveaux facteurs…<br><br><br><strong>Le freelancing, un choix pour certains</strong><br><br>Faire le choix du freelancing, c’est opter pour quelques libertés supplémentaires, de la paperasse administrative et potentiellement plus d’argent.<br><br>Certains font ce choix dès le début de carrière.<br>Tant qu’on assume ses responsabilités, il n’y a aucun mal à ça.<br><br>Le risque est relativement peu élevé et c’est encore plus vrai quand on vit près d’une grande agglomération.<br><br>Si l’on opte pour des missions en télétravail, les tarifs sont moins élevés, mais on y gagne en niveau de vie.<br>La crise sanitaire a brouillé les pistes.<br><br>Pour ou contre le télétravail, on ne sait plus vraiment...<br>Le compromis facile à vendre aujourd’hui est un peu des deux.<br><br>Il ne faut pas hésiter à baisser sa tarification pour les jours effectués en télétravail.<br><br><strong>Que faire quand le freelancing devient une nécessité ?</strong><br><br>Si tu vis dans loin d’une agglomération ou dans les DOM-TOM, le freelancing peut être la seule option viable.<br><br>En tant que développeur vivant près de Paris, on a parfois souvent tendance à oublier la chance que nous avons.<br>Même pas besoin de traverser la rue pour trouver une mission !<br><br>Les missions viennent à nous…<br><br>Quelles sont les possibilités pour les personnes pour qui le freelancing devient une nécessité ?<br><br>Pas toujours facile de jongler avec un marché tendu quand on débute.<br><br><br><strong>Un freelance doit avoir une capacité d’adaptation à son marché </strong><br><br>En tant que freelance, tu es un business.<br>Tout ce qui arrive à ton business est ta responsabilité.<br><br>En cas de problèmes, tu peux blâmer le client, ton fournisseur d’accès Internet, ton enfant de 2 ans qui a débranché le box pendant ton commit, ce n’est peut-être pas de ta faute, mais c’est ta responsabilité.<br><br>Si tu vis dans une région où il y a peu d’offres, il faut que tu t’adaptes à ton marché.<br><br>Si tu veux absolument faire du développement mobile, mais qu’au niveau local il n’y a aucune offre, tu devras reconsidérer tes projets professionnels.<br><br>Peut-être que tu peux te spécialiser sur des sites vitrine et développer une offre de création de réseaux sociaux pour compléter tes prestations Web.<br><br>En sondant ton marché local, tu peux trouver des opportunités insoupçonnées.<br><br>Peut être que le fait d’habiter à la Réunion, en Guadeloupe ou en plein milieu de la Creuse crée des besoins inexistants à Paris.<br><br>C’est sur ce genre d’opportunités que tu peux faire la différence…<br><br><br><strong>Depuis la crise sanitaire, le télétravail est en train de muter</strong><br><br>Inutile d’expliquer que le Covid-19 a changé la donne. <br><br>Pour beaucoup de dirigeants, télétravailler était impensable au début de l’année 2020.<br>Ce mode de travail leur a été imposé et beaucoup se sont rendu compte que la production a continué.<br><br>De quoi démonter les peurs infondées sur le manque de communication et la baisse de production pour laisser apparaître un manque flagrant de confiance.<br><br>C’est selon moi le plus gros obstacle à la généralisation du travail en remonte.<br><br>On se cache derrière des raisons bidon pour justifier le ralentissement de l’adoption du télétravail à grande échelle.<br><br>Au lieu d’investir sur un nouveau mode d’organisation du travail qui résisterait à un nouveau confinement, on se retourne vers le passé par crainte de perdre le contrôle.<br><br>En 10 ans, j’ai vu tellement de personnes faire du présentéisme, on frôle l’absurdité…<br><br><br><strong>Le remote, une grosse opportunité pour éviter la relocalisation</strong><br><br>Déménager de la Meurthe-et-Moselle pour aller vivre en Île-de-France, ça peut chambouler ton quotidien.<br><br>Si tu ne vis pas en métropole, le changement peut devenir bien plus difficile.<br>Dans ce cas, le remonte est à la fois une opportunité ou un handicap.<br><br>Un handicap parce que tu risques d’être sur une plage horaire décalée par rapport à ton client.<br>Cela complique légèrement l’organisation de la vie de l’équipe.<br><br>Pas question de faire un daily meeting à 9h si ton équipe est dispersée à travers le monde.<br><br>Si tu vois le verre à moitié plein, il y a une opportunité.<br><br>Selon ta situation géographique, tu peux trouver des clients qui travaillent avec plusieurs plages horaires.<br><br>Avoir un décalage de 6 à 8 heures avec l’heure de Paris devient alors un net avantage.<br><br>Plus besoin de travailler aux 3-8, la disponibilité des développeurs pendant la “journée” est alors drastiquement augmentée.<br><br>Tu n’es pas non plus obligé de travailler avec des Français.<br><br>Il ne faut pas négliger le nombre de boîtes développées à l’International qui pourrait avoir besoin de ressources disponibles sur ta plage horaire.<br><br><br><strong>La dernière option est celle que je ne te souhaite pas</strong><br><br>Parfois certains font le choix de se délocaliser quelques années le temps de forger une expertise.<br><br>C’est un choix difficile qui avait énormément de sens il y a quelques années.<br>Partir pour aller travailler près de Paris.<br>Plus de facilité pour trouver une mission et des clients.<br><br>Mais se couper de sa famille, ses amis et de ces racines peut avoir un impact négatif.<br><br>Inutile de t’expliquer qu’il faut un temps d’adaptation.<br>Pour certains et certaines, c’est impossible.<br><br>Ils finissent par rêver de leur retour au pays…<br><br>Je pense sincèrement que ce choix devrait être un dernier recours, un choix ultime.<br><br>Avec l’utilisation d’Internet à grande échelle, nous avons aujourd’hui tous les outils pour sculpter l’organisation du travail de demain !<br><br><br><strong>Ne te décourage pas</strong><br><br>Ma vision du freelancing est assez brute, je te l’accorde.<br>Le but n’est vraiment pas de te démotiver.<br><br>Je pose juste un constat personnel et réaliste.<br>Si tu es vraiment motivé, ce n’est pas ces quelques obstacles qui t'arrêteront.<br><br>Dans tous les cas, n’oublie pas que le meilleur moyen de savoir si c’est fait pour toi, c’est d’essayer !<br><br>On a trop souvent tendance à vouloir faire en sorte que les autres choisissent à notre place.<br><br>Une manière de fuir nos responsabilités afin de pouvoir jeter la faute sur un autre en cas de problème.<br><br>Il est important pour chacun et chacune de se faire ses propres expériences, c’est le seul vrai moyen pour apprendre.<br><br>À demain,<br><br>Captain Dev</p>]]></content:encoded></item><item><title><![CDATA[Le seul secret pour devenir un bon développeur]]></title><description><![CDATA[<p><br><strong>Le seul secret pour devenir un bon développeur</strong><br><br>Pourquoi autant de personnes sont-elles à la recherche de solutions faciles ?<br>La vie c’est pas Netflix, il y a toujours un prix à payer.<br><br>Tu veux perdre du poids ?<br>Mange équilibré et fais du sport.<br><br>Tu veux avoir de bonnes notes</p>]]></description><link>https://blog.captaindev.io/le-seul-secret-pour-devenir-un-bon-developpeur/</link><guid isPermaLink="false">5f5dc5c88674634b59d29380</guid><dc:creator><![CDATA[Captain Dev]]></dc:creator><pubDate>Sun, 13 Sep 2020 10:25:23 GMT</pubDate><content:encoded><![CDATA[<p><br><strong>Le seul secret pour devenir un bon développeur</strong><br><br>Pourquoi autant de personnes sont-elles à la recherche de solutions faciles ?<br>La vie c’est pas Netflix, il y a toujours un prix à payer.<br><br>Tu veux perdre du poids ?<br>Mange équilibré et fais du sport.<br><br>Tu veux avoir de bonnes notes ?<br>Écoute en classe, fais tes devoirs en temps et en heures.<br><br>Tu veux devenir un bon développeur ?<br>Pratique tous les jours et mets en place une veille techno.<br><br>Pour atteindre un objectif, peu importe la méthode il faut toujours payer le prix !<br><br><br><strong>On peut passer une vie à chercher la solution miracle</strong><br><br>Quand je lis les commentaires de mes vidéos, les DM sur Instagram, je me rend compte d’une chose.<br>Certains sont prêts à passer des semaines voire des mois à chercher une solution miracle.<br><br>Ce temps si précieux leur aurait permis de devenir excellent dans un domaine.<br>Aucune éthique de travail, comme s’il était possible de télécharger une compétence dans un cerveau…<br><br>Tu peux toujours profiter d’un petit coup de pouce : un tutoriel, une formation, un coaching…<br>Mais à la fin du chemin, la seule chose qui fera vraiment la différence, c’est toi.<br><br><br><strong>Au-delà de la détermination, as-tu une éthique de travail ?</strong><br><br>Travailler, ça s’apprend.<br><br>Il ne suffit pas de travailler dur pour atteindre ses objectifs.<br>Il faut travailler intelligemment, se fixer des objectifs et mettre en place des petites étapes pour les atteindre.<br><br>Si tu n’es pas prêt à faire les efforts, tu ne mérites pas les résultats.<br>Le marché du travail s’en fout que tu n’ais pas eu le temps d’apprendre React ou Javascript.<br><br>Si on creuse, on finira par se rendre compte que ton historique Netflix est plus que blindé…<br>Pas la peine de se cacher derrière le manque de talent, aujourd’hui on n’a jamais eu accès à autant d’informations !<br><br><br><strong>Atteindre un rythme de croisière</strong><br><br>Pour les plus motivés, la question est sensiblement la même.<br>Tu es prêt à travailler mais tu ne sais pas comment faire ?<br><br>Voici les deux clés :</p><ul><li>Créer une habitude</li><li>Profiter de l’effet cumulé</li></ul><p><br>L’habitude permet de rendre la chose évidente.<br>Admettons que tu fasses le choix de consacrer une heure par jour à tes compétences techniques.<br><br>Attention, quand je dis une heure par jour, c’est une heure tous les jours et pas seulement aller regarder deux ou trois Tweets…<br><br>Le simple fait de faire une tâche tous les jours crée un automatisme.<br>Une fois l’habitude mise en place, il est beaucoup plus facile d’avancer.<br><br>Si tu n’arrives pas à la mettre en place, peut-être que ce n’est tout simplement pas fait pour toi…<br><br>Pendant cette heure, tu vas étudier des sujets identifiés la veille.<br>Tu peux étudier tout et n’importe quoi tant qu’il y a une cohérence avec ton profil.<br><br>Si tu développes en Go, pas sûr que de la veille sur de la Blockchain soit vraiment intéressante…<br>Surtout n’oublie pas de prendre des notes.<br><br>Le cerveau humain est une machine hors norme mais il est important de pouvoir le décharger de temps en temps.<br><br>Personnellement, j’utilise Notion.<br>C’est mon Google personnel.<br><br><br><strong>Profiter de l’effet cumulé</strong><br><br>Si tu as le temps jette un oeil au livre de Darren Hardy, il en parle mieux que moi.<br><br>L’effet cumulé en deux mots te permet d’atteindre de grands objectifs en faisant de toutes petites actions intelligentes de manière ultra-régulière.<br>Evidemment, c’est un stratégie qui s’inscrit sur le long terme.<br><br>J’en ai personnellement bénéficié sans même connaître le concept.<br>Pendant mes premières années de développement, je passais énormément de temps à me former sur de nouvelles technologies, apprendre de nouvelles méthodes.<br><br>Ce n’est pas juste une théorie.<br>Le seul secret pour devenir un bon développeur, c’est de pratiquer tous les jours et d’y consacrer du temps.<br><br>Est-ce que ça vaut le coup ? <br>On a tous une personnalité et des envies différentes, seul toi peut répondre à cette question…<br><br>A demain,<br><br>Captain Dev</p>]]></content:encoded></item></channel></rss>