Un projet perso n’est pas une corvée

Un projet perso n’est pas une corvée

Un projet perso c’est du fun à l’état pur. Pourquoi ? Comment le choisir ? Comment le finir ? Je te parle pas de te forcer à faire une todo app à la con, chiante à mourir, juste pour remplir ton portfolio. Non. Je te parle de création et de plaisir !



Disclaimer

Je ne vais pas te faire la morale sur le pourquoi tu devrais avoir un projet perso en cours. Le nombre de projets persos fait par un développeur ne détermine pas sa valeur. Vraiment pas.

Il n’y aura pas non plus de conseil d’organisations. J’en avais déjà dédié un autre article ici. Si c’est explicitement ça que tu recherches (notamment pour un gros projet), va le consulter. Ça va vraiment t’aider.

Aujourd’hui, on va parler du pourquoi tu devrais faire l’aventure d’un projet perso. Sans répondre clairement à cette question, ton projet va finir comme 99% des projets persos. Oublié, au fin fond d’un dossier.



Le code est un moyen, pas une fin

Sans le savoir, pendant l’été 1999, je commençais mon premier projet perso. À ce moment-là, je suis un gamin. Je sais pas coder. Mais j’ai une passion folle : Final Fantasy 8. Je connais le jeu comme si c’était moi qui l’avais fait.

La façon qui me semble la plus logique pour partager mon savoir ? Un site web. En quelques minutes, je me retrouve à faire des balises HTML et à afficher des choses sur une page. Du code ! J’avais aucune idée de comment ça marchait. Franchement, j’en avais rien a foutre. J’étais juste en transe à parler de Final Fantasy 8 à mon PC.



projet perso


Le code est un moyen d’arriver à créer ce que tu veux faire. Un moyen, pas une fin. Elle est là l’essence, la base de ce que sont les projets persos.

Le sujet que tu vas choisir, c’est ça le plus important. C’est ça qui va déterminer comment va se dérouler ton projet perso. C’est ça qui va vraiment exploiter ton pouvoir.



L’incroyable pouvoir des développeurs

Avec ton boulot où on te dit quoi faire pendant 8h, tu as tendance à oublier quelque chose de fou. Quelque chose qui est propre à ton métier et que des millions de personnes t’envient. Tu es un créateur.

La plupart des gens qui ont des idées ne font rien. Incapable de les réaliser eux-mêmes. Pas toi. Tu sais faire émerger concrètement sur l’écran ce que tu avais dans la tête. De la création pure. Un pouvoir énorme.



pouvoir


Cet incroyable pouvoir à une valeur folle. Et soyons francs, toi comme moi, on ne l’utilise que très rarement. C’est incroyable de se dire qu’on peut tout faire, mais que la plupart du temps, on ne fait rien.

J’ai également une confession à faire : je n’aime pas particulièrement le code en lui-même. Ce que j’aime c’est la création d’un projet, la création d’une idée, la création progressive d’un concept à l’écran. Le code est l’outil ultime de création de notre époque. Et on maîtrise cet outil !

Maintenant je sais ce que tu vas me dire en lisant tout ça.

Et alors ? À quoi ça me servirait ? T’es gentil petit con, mais j’ai pas envie de me faire chier après 8h de boulot. J’ai pas d’idée de projet. De toute façon, tu crois que j’ai le temps moi ?

On va adresser tout ça.



À quoi ça me servirai ?

Je suis censé te faire une liste de faits logiques qui sont censés te motiver.

  • Plus de pratique fera de toi un meilleur développeur
  • Un projet perso fera de toi un développeur plus attirant pour les recruteurs
  • Tu vas consolider tes connaissances sur les choses que tu connais déjà
  • Tu vas apprendre des nouvelles technologies

Je pourrais aussi te parler de passion. Mais tu connais mon avis sur la passion chez les développeurs. Et sinon, je pourrais vraiment insister longuement sur le côté recrutement. Un profil avec projets persos a plus de chances d’être remarqué.

Mais même pour le recrutement ce n’est pas une bonne raison. À part pour les jeunes développeurs qui se battent pour rentrer sur le marché du travail, en vrai, avec ou sans projets persos, tu vas trouver du boulot facilement.

Si on est honnête deux minutes, on s’en fout de tout ça. Je sais qu’aucune de ces raisons ne va vraiment te convaincre à cause d’une réalité aussi simple que commune.



J’ai pas envie de me faire chier après 8h de boulot

On rentre dans le cœur de ce que je voulais te dire. La plupart des développeurs se lancent dans un projet perso pour les mauvaises raisons.

Quelqu’un, quelque part, sûrement un bloggeur à la con comme moi, t’a fait la morale. Il t’a dit qu’un développeur sans projet perso est un mauvais développeur. Devant l’angoisse de devoir te justifier, tu t’es lancé.

Tu as pris une idée de merde trouvée sur internet, genre todo-app basique. Tu as fait un hello world. Ça s’est arrêté là. C’était y’a six mois. Rien que d’y penser, ça te déprime.



projet perso


Tu ne finiras jamais un projet qui ne te donne pas du plaisir. Je peux te donner toutes les raisons logiques du monde. Je peux te parler de carrière, de visibilité, de compétences et même d’argent. Ça ne change pas le fait que tu ne bosseras pas sur une corvée après 8h de boulot.

Il faut commencer par le plaisir. C’est la seule chose qui va compter quand tu auras le choix entre Netflix et ton projet perso.

Et je vais être un peu extrême. Si tu ne trouves rien qui te motive plus que Netflix (j’ai rien contre Netflix), ne perd pas ton temps avec un projet perso.

Avec ça en tête, le problème à régler est évident.



J’ai pas d’idée de projet

La semaine dernière j’ai shippé un projet perso qui s’appelle Across The Universe. Une expérience web de trois minutes qui te fait traverser l’univers via ton browser en 3D. J’étais obsédé par ce projet.

Quand j’avais enfin fini ma journée de travail, j’avais hâte de retourner dans l’espace. C’était pas une corvée, c’était une aventure ! Comment je suis arrivé à une telle idée ?

Avec plein d’autres choses, j’aime les jeux vidéos et tout ce qui touche à l’espace. Je me suis donc retrouvé à regarder cette vidéo sur YouTube. La partie avec le trou de ver m’a donné l’idée de reproduire l’effet dans un navigateur. Et de fil en aiguille ça s’est transformé en création passionnante avec une histoire et de la musique.

De mes mains j’ai créé une traverser de l’univers tout entier. J’étais aux anges ! Du fun à l’état pur.



projet perso


Je peux pas te dire quel genre de projet aura le même effet pour toi. Mais je peux te dire que pour le trouver, il faut commencer par ce que tu aimes. Il faut commencer par toi. C’est la seule chose qui compte.

Rien à foutre de ton portfolio, de l’originalité de l’idée ou si c’est déjà fait ou pas. Rien à foutre si ça pourrait faire de l’argent ou pas. Rien à foutre que ça fasse de toi un meilleur dev ou pas. Rien à foutre que ça soit utile ou pas.

C’est en supprimant la notion de corvée dans ton projet que tu vas shipper ce que tu veux. J’en suis convaincu. Tout le monde commence pour les mauvaises raisons. Alors qu’il y a une seule question à se poser.

Tu fais quoi pour le plaisir ? Tu vas te souler avec tes potes ? Tu joues aux jeux ? Tu regardes des séries ? Tu vas courir ? Dans n’importe quelle activée, je vois du potentiel de création super fun.

Pour certains c’est faire quelque chose de créatif sur un sujet qu’il aime. D’autres vont kiffer faire une API backend. D’autres vont être excités de faire de l’open source. Chacun son truc. Trouve le tien.

Maintenant, il reste un problème de taille.



Tu crois que j’ai le temps moi ?

Ça, c’est un sujet complexe. Je suis pas complètement con et je comprends que c’est un véritable défi. La famille, le travail, les amis. PIRE, les enfants. On a tous des journées bien remplies.

Encore une fois, je suis censé te sortir des banalités du style : win the morning ! Lève-toi tous les jours à quatre heures du matin et bosse sur tes affaires. Et même si, en ayant testé, oui ça fonctionne, ça reste super contraignant.

Je préfère te parler d’une approche plus pragmatique avant d’aller dans ces extrêmes.

Souvent, quand un dev entend « projet perso », il entend « énorme projet ». Un énorme projet est long et va en effet aspirer tout ton temps. Il faut commencer par changer cette façon de penser.

Un projet perso peut être quelque chose de tout petit et rapide à faire. En mars dernier, durant le confinement, j’ai fait un tout petit projet perso. Une petit app qui réagit à tes expressions du visage via de l’intelligence artificielle dans le browser. J’ai rarement autant ri qu’en faisant cette connerie.



app


Le développement lui-même de ce projet m’a pris seulement quelques heures. Aller plusieurs jours si tu comptes les recherches en amont et l’écriture de l’article.

Tu auras beau me dire que t’as un emploi du temps de ministre, on a tous un peu de temps libre. C’est fou ce que tu peux produire juste en y consacrant quelques heures par semaine. Et quelques heures productives par semaine, c’est tout ce dont tu as besoin.

Enfin, je retourne à l’argument principal de cet article. Tu vas tout d’un coup découvrir beaucoup de temps libre si ton projet perso est aussi fun que Netflix. Ça et un scope le plus petit possible sont la clef pour libérer du temps.



Épilogue

Remplace la notion de corvée par la notion de plaisir dans ton projet perso et je te promets que tu vas le finir. Toutes autres raisons devraient être secondaires. Sinon ça devient du boulot. Et le boulot tu y es déjà 8h par jour, je crois que ça suffit.

Qui me parle ?

jesuisundev
Je suis un dev. En ce moment, je suis développeur backend senior / DevOps à Montréal pour un géant du jeux vidéo. Le dev est l'une de mes passions et j'écris comme je parle. Je continue à te parler quotidiennement sur mon Twitter. Tu peux m'insulter à cet e-mail ou le faire directement dans les commentaires juste en dessous. Y'a même une newsletter !

Pour me soutenir, la boutique officielle est disponible ! Sinon désactiver le bloqueur de pub et/ou utiliser les liens affiliés dans les articles, ça m'aide aussi.

5 commentaires sur “Un projet perso n’est pas une corvée”

  1. Tout à fait d’accord ! Sur la bonne dizaine de projets perso démarrés, les 4 seuls qui ont abouti étaient des trucs fun/utile, où le stack utilisé n’était qu’un moyen de répondre le plus facilement possible à mes besoins. Le plus étonnant était l’absence totale d’avoir l’impression de bosser, alors que je faisais quasi la même chose que les 8 heures qui précédaient, c’est fou ! Ces projets perso : Une app Android minimaliste qui compte les reps à la gym, une app web connectée à OMDB qui m’aide à retrouver les nombreux films que j’ai vus, une app web qui m’aide dans mes finances, une app Android qui me facilite la vie pour le taf.

  2. Perso j’avais commencé un package en R pour apprendre à en faire un, mais surtout … pour automatiser ma recherche d’emploi 🙂 In fine il a bien progressé au début, le projet à pris un petit détour obèse morbide, puis récemment ça a été le git commit qui a retiré tout le fatras inutile. J’ai eu la même réflexion sur le code n’est pas une fin en soit en me disant à un moment qu’une partie machine learning était un overkill. Au final c’est fini et le vrai output c’est qq functions de base utile + le Readme qui me liste les trucs qui ont pas marché/servent à rien.

  3. Grosse satisfaction pour moi. Un projet libre, piwigo pour ne pas le nommer, ne me convenait pas à 100%. J’ai contacté sur le forum et on m’a dit que la fonction que j’avais soulevé n’existait pas. Ni une, ni deux, j’ai cloné le projet et j’ai passé toute une journée, à comprendre l’existant, à comprendre le fonctionnement, et j’ai fini par trouver. Grosse satisfaction ! Je vais surement faire une proposition de code, je vais pousser ma correction sur leur GIT. L’équipe fera le choix de l’inclure mais grosse satisfaction de contribuer.

    Sur l’appli mobile, il manque une fonction que j’aurais bien aimé avoir. J’ai installé Android Studio mais cela m’a l’air bien balèze. Je n’ai jamais fait d’appli Android, je verrais si j’ai la patience.
    Tout ça pour dire, que participer à des projets perso et ne pas attendre la prochaine version pour espérer avoir telle fonctionnalité, mais l’implémenter sois même, je trouve cela incroyable. Et pour renvoyer l’ascenseur à l’auteur de l’appli, de proposer sa fonction.

T'en penses quoi ?

Your email address will not be published. Required fields are marked *