Article original : One Step at a Time: My Journey from Full-time Software Engineer to First Indie Project
Introduction : L'étincelle de l'Indie Hacking
Je m'appelle Gaël, j'ai 25 ans et je suis ingénieur logiciel. J'ai travaillé dans un environnement de startup en Asie du Sud-Est pendant quelques années. 🌏
Le travail à distance a ses avantages, et tout en passant d'un endroit exotique à un autre, j'ai nourri un petit rêve : lancer mon parcours en tant que solopreneur.
J'aime vraiment mon travail—il y a une certaine excitation dans la vie en startup que je pense que tout le monde devrait vivre au moins une fois. Bien sûr, c'est un rollercoaster de hauts et de bas, mais c'est là que j'ai appris les ficelles du développement de produits et que j'ai attrapé le virus de créer des choses que les gens aiment (et espérons-le, pour lesquelles ils paieront !). Je pense souvent au codage comme à des LEGO pour adultes—des possibilités infinies et tout simplement amusant. 🤓
Après deux ans de vie nomade, j'ai choisi de poser mes pieds fermement sur le sol pour trouver un meilleur équilibre entre vie professionnelle et vie privée et enfin me libérer du temps pour mes projets parallèles.
Mais voici le hic : m'installer n'a pas fait apparaître magiquement du temps. Entre le travail de 9h à 17h et l'épuisement du week-end, j'ai eu du mal à trouver l'énergie et la conviction nécessaires pour commencer quelque chose de mon propre chef.
Choisir les bons outils pour le voyage
En me lançant dans ce parcours de solopreneur, j'ai décidé d'utiliser les outils et technologies que je connaissais déjà : HTML, CSS, Tailwind, JavaScript, ainsi que React et Next.js pour créer des sites web.
Ce choix n'était pas seulement une question de confort, mais aussi d'application des meilleures pratiques en développement web que j'ai apprises au fil de quelques années d'expérience.
Dans les sections suivantes, j'expliquerai pourquoi j'ai choisi ces technologies particulières. Je fournirai également des conseils sur la manière de sélectionner les outils les plus adaptés à vos propres projets, en équilibrant les courbes d'apprentissage, la productivité et les exigences du projet.
Attendez-vous à trouver des conseils pratiques et des leçons tirées de mon expérience pratique, que vous pourrez appliquer pour améliorer vos compétences en codage ou rationaliser votre processus de développement.
Réaliser le besoin de changement
Jusqu'à récemment, ma routine quotidienne était désordonnée. Je jonglais entre le travail et des sessions de scroll tardives sur mon téléphone jusqu'à 1h-2h du matin, pour me réveiller juste à temps pour un petit-déjeuner précipité avant de commencer ma journée.
L'utilisation fréquente d'applications de livraison de nourriture a conduit à des excès alimentaires et à des habitudes malsaines, qui, malgré ma vie globalement bonne, je savais n'être pas durables.
J'étais piégé dans un cycle, craignant que de réduire mes nuits tardives ne réduise ma vie à simplement travailler, travailler et travailler. 💼
Puis, quelque chose a cliqué il y a un mois. Motivé par toutes les recommandations que j'ai vues sur l'importance d'aller à la salle de sport, j'ai contacté un coach personnel et j'ai commencé mes premières séances. Initialement sceptique quant à la musculation, j'ai été surpris par le regain d'énergie qu'elle m'a apporté.
"Parler à mon thérapeute aujourd'hui" - @levelsio sur X (Twitter)
Ce regain d'énergie a déclenché une réaction en chaîne : j'ai commencé à faire plus attention à mon alimentation, en choisissant des repas plus sains et plus légers. Le sommeil est également devenu une priorité. Influencé par les informations de "Why We Sleep", j'ai transformé ma routine de sommeil, visant huit heures par nuit. Ce changement a transformé mes matins, passant d'une course effrénée à un moment paisible et productif. 😹
Maintenant, un mois plus tard, ces pratiques sont presque devenues naturelles. En me réveillant plus tôt, je me sens plus énergique et j'ai découvert un temps précieux le matin avant le travail.
Comment une meilleure santé améliore la productivité en codage
Pour ceux qui sont en voyage de codage ou qui équilibrent le travail avec l'apprentissage de nouvelles compétences, je ne peux pas assez insister sur l'importance d'un bon sommeil et d'un exercice régulier. Ce ne sont pas seulement des choix de mode de vie – ce sont des outils essentiels pour améliorer vos fonctions cognitives et votre concentration.
Après avoir intégré un meilleur sommeil et de l'exercice dans ma routine, j'ai remarqué une amélioration significative de ma productivité en codage. J'ai pu apprendre plus rapidement, rester concentré pendant de plus longues périodes et aborder des problèmes complexes avec plus de clarté. Cela ressemblait à déverrouiller un code de triche pour mon cerveau !
Le codage est un voyage excitant mais exigeant. Avec l'énergie supplémentaire gagnée grâce à ces changements, vous serez mieux équipé pour faire face aux défis et aux joies de l'apprentissage du codage.
Faire le premier pas : BooksByMood
Le concept de BooksByMood se développait dans mon esprit depuis des mois, inspiré par Mood2Movie, une application développée par Marc Lou.
L'idée de trouver des livres en fonction de votre humeur m'a captivé, et j'ai imaginé une plateforme avec ma propre touche de design et de suggestions. Cela a marqué le début de mon parcours de projet indépendant avec BooksByMood. 📚
Se lancer dans ce nouveau voyage était intimidant. Mon fil Twitter était rempli d'histoires d'applications polies et de bons revenus, ce qui a augmenté mon stress et mon anxiété à l'idée de commencer. À ce moment-là, je ne réalisais pas pleinement que nous devons tous commencer quelque part, et même les personnes bien connues ont commencé au début un jour.
Pour gérer mes attentes et me concentrer, j'ai établi des objectifs clairs et réalisables :
- Créer un site web simple centré sur une seule fonctionnalité convaincante.
- Garder le site gratuit, assurant l'accessibilité et l'engagement des utilisateurs (à mon avis, aussi plus facile à démarrer avec—particulièrement en tant que 1er projet).
- Consacrer une semaine à l'apprentissage des techniques de promotion, visant à générer du trafic sur le site.
Ces objectifs n'étaient pas seulement des étapes—ils étaient mon engagement envers moi-même pour prouver que je pouvais concrétiser une idée et attirer des visiteurs. 🏆
Comment j'ai choisi ma stack technique
Comme mentionné précédemment, j'ai utilisé des technologies que je maîtrisais : HTML, CSS, JavaScript, ainsi que Tailwind pour le style et Next.js pour le framework. J'ai choisi cette stack pour sa familiarité et son efficacité.
J'ai spécifiquement opté pour Next.js en raison de ses fonctionnalités pratiques :
- le rendu côté serveur et la génération de site statique, conduisant à une meilleure performance du site web
- le système de routage basé sur les fichiers
- diverses optimisations telles que la navigation sur le site web utilisant le composant
<Link>ou le composant<Image> - c'est excellent pour le SEO
- globalement, cela aide à créer une meilleure expérience utilisateur
Cette stack m'a permis de prototyper et de déployer rapidement, améliorant les performances du site sans effort supplémentaire.
Points clés : Restez fidèle aux technologies que vous connaissez bien lorsque vous validez une idée rapidement. Cette approche vous aide à avancer plus vite et à vous concentrer sur la valeur centrale du projet. C'est pourquoi vous pouvez trouver de nombreux solopreneurs en ligne utilisant les mêmes technologies depuis des années (par exemple, Pieter Levels utilise HTML, CSS, JS (avec JQuery) et PHP depuis des années).
Processus de développement de l'application et défis
Le parcours de développement de BooksByMood a été itératif, commençant par une version basique, à peine fonctionnelle.
J'ai rencontré plusieurs défis, tels que la recherche de données fiables sur les livres et la création d'une interface conviviale. Surmonter ces obstacles a nécessité des recherches, des essais et erreurs, et des itérations continues.
Défi 1 : Trouver des données fiables sur les livres
Trouver une source fiable pour les données sur les livres s'est avéré plus difficile que prévu.
Initialement, je voulais utiliser certaines API. Malheureusement, Goodreads a fermé son API le 8 décembre 2020. OpenLibrary n'était pas mal, mais les données devaient être plus cohérentes. L'API Google Books était correcte, mais j'aurais aussi dû curater manuellement à la fin, et parfois certaines informations auraient pu être meilleures.
Cela m'a fait réaliser qu'il est difficile de trouver une bonne API pour les livres (probablement parce qu'Amazon possède Goodreads et s'assure qu'il est difficile pour les concurrents d'avoir de bonnes données comme ils le font).
Il y avait une chose que je savais : il serait complexe de satisfaire tout le monde avec les recommandations, mais je pouvais faire de mon mieux. Mon meilleur effort était de m'assurer que ce qui était recommandé était bien noté par la communauté (par exemple, il avait une bonne note sur Goodreads).
Vous vous demandez peut-être ce qui se passera à l'avenir, si le site web grandit ? Dans ce cas, il aura définitivement besoin d'améliorations. Mais, pour une première version, cela fait l'affaire !
Points clés : Lorsque vous êtes confronté à un défi sur un nouveau projet, prenez toujours le temps de considérer toutes les options et de trouver le bon équilibre entre livraison rapide, qualité et fiabilité.
Par exemple, je suis sûr à 95 % que la curation manuelle des livres dans des fichiers JSON avec l'aide de l'IA a été un excellent choix. Cela a permis de livrer dans un délai raisonnable, en ne montrant que les livres aimés par la communauté, et en contrôlant les données (par exemple, la couverture, le titre, la description, les tags, les auteurs, etc.).
Défi 2 : Concevoir une interface conviviale
En tant que développeur full stack qui a travaillé sur le backend pendant un certain temps, la conception d'une interface front-end attrayante était mon deuxième défi majeur. Assurer que le site soit non seulement fonctionnel mais aussi esthétiquement plaisant était crucial pour l'engagement des utilisateurs.
Je suis encore en train d'apprendre le design, et c'est loin d'être parfait. Mais j'ai découvert Dribbble et c'est un excellent endroit pour trouver de l'inspiration. De plus, j'ai utilisé Excalidraw pour esquisser une version initiale de la mise en page montrant comment j'aimerais organiser les informations.
Points clés : Pour les non-designers, puiser l'inspiration sur des plateformes axées sur le design comme Dribbble peut être incroyablement utile. Combiner cela avec des bibliothèques de composants UI, comme DaisyUI, peut considérablement améliorer le processus de design, le rendant plus efficace.
Esquisse initiale de BooksByMood sur Excalidraw (partagée pour mon 1er jour de #buildinpublic)
1ère version de BooksByMood
Lancement de l'application
Avec le temps supplémentaire que ma nouvelle routine matinale m'a offert, j'ai consacré 1 à 2 heures chaque jour de semaine et du temps supplémentaire le week-end au développement de BooksByMood. Après une semaine d'efforts concentrés, j'ai opté pour un lancement discret : j'ai ajouté le projet sur Twitter en mettant à jour le lien de ma bio.
Le lendemain a marqué le début d'une promotion plus assertive sur diverses plateformes, y compris Twitter, Reddit et HackerNews. ✍️
Points clés : N'hésitez pas à lancer votre projet partout où vous le pouvez. Cela peut sembler effrayant, mais on ne sait jamais ce qui peut arriver. Faire cela vous aidera de nombreuses manières, comme commencer à attirer des visiteurs, obtenir des retours, obtenir des backlinks, etc. Il n'y a rien à perdre !
Page d'accueil de BooksByMood
Apprendre et grandir : Premières leçons du voyage
Leçons personnelles et professionnelles
Cela peut sembler un peu cliché, mais ces points ont vraiment résonné avec moi :
- Croyez en vous-même : Le doute était un compagnon constant, mais sauter le pas m'a montré l'importance de la foi en ma capacité à transformer une idée en réalité.
- Lancez cette idée : Après tout, il ne peut y avoir que des aspects positifs à le faire. Lancer un produit, peu importe sa taille, est une victoire en soi.
- Construire en public est gratifiant : Interagir avec la communauté Indie Hackers a été une expérience incroyable. Leur soutien et leurs encouragements ont été déterminants, faisant de ce processus non seulement la construction d'un produit, mais aussi le fait de faire partie d'un collectif inspirant.
- Croyez en la magie d'Internet : Partager mon projet sur HackerNews a été un saut dans l'inconnu. À ma grande surprise, nous avons atteint la première page, et l'afflux de visiteurs a dépassé mes attentes. En effet, Internet peut faire des merveilles, transformant de petites actions en impacts significatifs.
Leçons techniques
Sur le plan technique, le projet a été une riche source d'apprentissage :
- Choisir la bonne stack : Utiliser des technologies familières comme Next.js et React a facilité un processus de développement plus fluide et des itérations plus rapides. Cela a vraiment souligné l'importance de choisir les bons outils pour le travail. Je l'ai dit plusieurs fois dans cet article : Utilisez ce que vous connaissez. N'essayez pas de trop réfléchir à l'utilisation de la dernière technologie à la mode. Je vous conseillerais de vous concentrer sur votre produit, et non sur la manière dont il est construit.
- Gestion des données et utilisation de l'IA : Le défi de trouver des données fiables sur les livres m'a obligé à considérer des solutions, y compris l'utilisation de l'IA pour la curation de contenu. Cette expérience a mis en lumière la nécessité de flexibilité et de créativité dans la résolution de problèmes. Parfois, dans le domaine de la technologie, vous ne trouverez pas exactement ce que vous voulez, et vous devrez évaluer les compromis potentiels pour trouver des alternatives.
- Concevoir pour l'utilisateur : En tant que développeur axé sur le backend, me plonger dans la conception front-end a été un défi. Mais prioriser l'expérience utilisateur et utiliser des ressources de design comme Dribbble pour l'inspiration s'est avéré crucial dans la création d'une interface engageante. De plus, ne vous inquiétez pas trop de votre design. Votre première version sera probablement "moche", mais avec le temps et les itérations, vous commencerez à avoir quelque chose de visuellement agréable. Tout prend du temps !
- Développement itératif : Commencez avec un produit minimum viable avec une seule fonctionnalité ciblée. Il est tentant pour un développeur d'ajouter de nombreuses fonctionnalités, comme un mode sombre, un compte utilisateur, des filtres sophistiqués, etc., mais ce n'est pas nécessaire. Au lieu de cela, utilisez vos compétences techniques pour faire fonctionner cette seule fonctionnalité parfaitement.
Pour conclure cette réflexion, je ne peux pas assez insister sur la satisfaction de créer un projet, de le lancer et de voir les gens l'utiliser. C'est une expérience incroyable que je recommande à tout le monde. Si vous avez une idée en tête, arrêtez de trop réfléchir et commencez à la construire maintenant. 🚀
Regarder vers l'avant : La route vers l'Indie Hacking
Je prévois de rester engagé dans la voie de l'indie hacking pour les mois à venir, en l'équilibrant avec mon travail de 9h à 17h.
Un vaste paysage de connaissances m'attend, surtout dans des domaines comme le design et le marketing, où mon expérience est limitée. Objectivement, je sais que ce ne sera pas facile. Pourtant, l'idée d'acquérir de nouvelles compétences est excitante. 🎨
La communauté Indie Hackers a été une mine d'or d'informations, avec des membres partageant généreusement leurs conseils et histoires de succès. Cette sagesse collective, ainsi qu'une richesse de livres et de ressources, continuera à guider et à inspirer mon parcours. 📚
Dans les mois à venir, mon objectif est l'apprentissage continu et la construction. Je vise à diversifier mes projets, en incorporant des fonctionnalités payantes pour explorer différents modèles commerciaux et besoins du marché.
En ce qui concerne la stack technique, je prévois de rester avec mes outils actuels, qui sont suffisamment polyvalents pour répondre à la plupart de mes besoins. Bien que je sois ouvert à l'intégration de nouvelles bibliothèques comme NextAuth pour des processus d'authentification rationalisés, mon objectif principal sera d'apprendre le marketing. Comprendre et s'améliorer en marketing est crucial pour tout indie hacker, car c'est souvent nécessaire pour transformer un projet parallèle en quelque chose de plus grand.
Que cela mène au succès ou à l'échec, chaque pas en avant est un pas vers l'avant. Je suis excité de voir où ce chemin me mènera et de partager l'histoire du voyage avec vous tous.
Points clés : Votre parcours devrait être celui de l'itération et de l'exploration continues. Tout en développant votre projet, ne sous-estimez jamais le pouvoir du marketing—il est essentiel pour gagner en traction et transformer vos idées en réalité. Pour réaliser votre plein potentiel, embrassez à la fois les aspects techniques et commerciaux.
Conclusion : Une invitation à rejoindre le voyage
Alors que ce chapitre de mon voyage se déroule, je vous invite à vous joindre à moi. J'adorerais naviguer dans les hauts et les bas de l'indie hacking ensemble.
Rejoignez-moi sur Twitter où je partage des mises à jour en temps réel, des informations et des étapes de ce voyage, dans l'espoir d'inspirer certains d'entre vous à se lancer dans leurs propres aventures. 👀
Explorez BooksByMood
Curieux de savoir ce sur quoi j'ai travaillé ? Découvrez BooksByMood, mon premier projet indépendant qui vous aide à trouver des livres en fonction de votre humeur. 👋