Tous les développeurs commencent des “side projects”, mais tous ne les terminent pas. C'est vrai, chaque développeur fait quelque chose de son “temps libre” pour réaliser quelque chose de personnel. Des fois, la complexité ou la taille du projet pousse le développeur à abandonner son “side project” par manque ou baisse de motivation. Ensuite, il se voit en train de commencer un tout nouveau projet des semaines plus tard puis abandonne encore et encore. C'est alors que la réalité le rattrape: il est évident qu'il n'est pas en mesure de faire un “side project”. Alors, comment garder la motivation et réussir tous ses “side projects” en tant que développeur ? J'ai décidé de répondre à cette question en me basant sur mon expérience et partager avec vous comment je fais pour rester toujours motiver.
Pourquoi je ressens cette envie de faire des “side projects” ?
Chaque “side project” est animé par quelque chose. Cela peut être parce qu'on veut apprendre quelque chose de nouveau, satisfaire notre ego, résoudre des problèmes ou bien gagner de l'argent. Pour ce qui est de mon cas, je fais des “side projects” pour toutes ces raisons en fonction de mon engouement.
Je me souviens qu'en 2018 - 2019, j’ai fait un concours sur Kaggle, la plateforme collaborative de data science, rien que pour satisfaire mon ego. Je voulais prouver à moi-même qu'après avoir suivi quelques cours de data science sur Udacity et Kaggle, je pouvais faire quelque chose et peut-être ajouter dans mon CV une compétence en data science. Mais hélas, je n'avais pas le niveau. C'est alors que j'ai décidé de faire le #100DaysOfMLCode challenge dans le but d'apprendre un peu plus. Je me souviens aussi avoir lancé le développement de Peef au départ pour apprendre différents domaines du développement web, ensuite je me suis dit qu'il serait mieux de permettre aux développeurs camerounais de trouver un mentor et à long terme je me suis convaincu que je pouvais gagner de l'argent avec ce site.
J'ai également publié des modules Odoo sur Odoo Store que je vendais, j'ai commencé la création d'un CMS avec Flask pour voir comment se passent les projets open source mais je n'y suis pas parvenu.
Aujourd'hui, Peef est le seul “side project” que je suis parvenu à maintenir pendant 11 mois, et le 5 octobre prochain cela fera exactement 1 an que je travaille sur ce projet personnel. Je suis parvenu à garder la motivation et j'en suis étonné.
Quelles sont les astuces que j'applique pour rester motiver et réussir mon “side project” ?
Lâcher prise
Chaque fois que je me sens fatigué ou lorsque je suis en panne d'inspiration, je m'arrête et je ne fais rien. Je laisse le temps couler. Pendant ce temps, si de nouvelles idées surgissent dans ma tête, je les note tout simplement. J'évite toujours de me surcharger lorsque je sens que mon cerveau bloque quelque part.
Être organisé, faire un projet à la fois
L'organisation est le meilleur moyen de venir à bout de ses projets parce que “les méthodes sont les habitudes de l'esprit et les économies de la mémoire”. Définir un temps pour chaque chose est très important et c'est pourquoi je travaille sur le code source de Peef uniquement les week-ends, généralement le samedi matin, des fois le mercredi soir. En dehors de ces jours, lorsqu'une idée me vient en tête, je la note quelque part et je reviens dessus plus tard.
Et puis, ça ne sert à rien de faire plusieurs projets au même moment. J'ai compris que la meilleure chose à faire est de rester concentrer sur un seul projet : ceci m'évite de m'évader et de rester moins concentrer. Des fois, je travaille sur Peef pendant 2 semaines puis je bascule vers certains cours en ligne que je suis l'autre semaine ou je fais quelques projets sur Odoo comme bookstore_portal qui me permet d'apprendre le framework OWL. Durant cette semaine d'apprentissage, je ne fais rien concernant Peef.
S'offrir des récompenses
Je ne le savais pas, mais dernièrement, je me suis rendu compte qu'à chaque fois que je travaille sur Peef, je vais voir les statistiques sur Google Analytics et je ressens un sentiment de fierté m'envahir. C'est agréable pour moi de voir qu'au moment où j'écris cet article, 51% des visites proviennent des moteurs de recherche, 24% des réseaux sociaux et seulement 26% de manière directe. Ce sentiment de voir les graphes me soulage vraiment.
Partager le projet et se faire aider par les autres
En partageant sur Twitter comment j'avance sur Peef, j'échange avec des gens qui aiment le concept et qui partagent leurs avis avec moi. D'autres m'apportent des suggestions et d'autres critiquent d'un mauvais œil ce que je fais. Cela me permet de rester focus et de me dire tient, il y'a des gens qui te regardent, il faut avancer, n'abandonne pas.
Je sais aussi que je ne peux pas tout faire. Du coup, lorsqu'une chose ne fait pas partie de mon domaine, je demande de l'aide. Je peux aller jusqu'à payer pour cette prestation. Ainsi, je peux rester focus sur mon “side project” tout en accomplissant ce que je sais bien faire. Par exemple, dans le cadre de Peef, le logo a été fait par Idriss, le design par Lorenzo et l'audit du contenu par Abdoulaye.
Éviter la perfection et se fixer des objectifs raisonnables
Nul n'est parfait et aucun produit n'est parfait dès ses premiers jours. Obtenir quelque chose de parfait prend du temps. Je préfère alors éviter la perfection tout en me donnant la possibilité d'améliorer le produit de temps en temps. Je sais que je travaille sur un projet avec une vision sur le long terme et ça me permet de rester motiver.
Il faut aussi savoir que faire un jeu vidéo en un jour ou un ERP en un mois est impossible. Il en est de même pour tout “side project”. Je travaille à temps plein en entreprise et je n'ai vraiment pas assez de temps les jours ouvré. Je me concentre uniquement le week-end pour faire ce que j'ai à faire, par ordre de priorité. À cet effet, j'ai un board sur GitHub sur lequel je répartis les tâches par ordre de priorité. Celà me permet de fixer mes objectifs sur la base de ces priorités et d'avancer petit à petit.
Voilà, c'est tout pour ce qui concerne ma motivation et comment je la garde lorsque je réalise mes “side projects”. Si vous aussi vous avez des astuces qui vous sont propres n'hésitez surtout pas à les partager avec nous en commentaire.