Comment enfin finir votre projet dev perso
Je suis sûr que vous avez déjà eu une idée de fou de concept web ! Un truc révolutionnaire, ÇA VA CARTONNER !
Allez au moins une, on y pense un peu tous, ça fait quand même rêver toutes ces start-up. Ces idées qui deviennent énormes et qui font des grands noms genre Snapchat, Uber et autres. Fréquemment les mecs à l’origine de ce genre de projet sont des gros geeks dev.
Attention ici je ne vais pas parler du site/appli que l’on met une semaine grand max à faire tout seul et qui demande pas tant de boulot que ça finalement.
Non non, on traite de gros, de gras, poilu, bien velu, le projet qui fait transpirer.
Bref !
À un moment donné, vous avez eu cette fameuse idée de concept et HOP vous avez lancé le projet !
Vous avez alors commencé le dev à fond et essayé d’en faire fréquemment.
…
Ça fait combien de temps déjà que vous l’avez commencé ce projet ?
Pourquoi votre projet traîne toujours
Non mais attends j’ai une vie moi!
Vous avez peut-être une vie sociale avec des ami(e)s et de la bière dedans ? Va falloir y consacrer moins de temps.
Et votre copain/copine qui fait la gueule parce que vous passez moins de temps avec, va falloir s’y habituer.
Vous jouez fréquemment à des jeux vidéos pour vous détendre ? Oubliez ça malheureux !
La liste est longue quand on commence à se faire aspirer tout son temps libre.
Très vite, malgré votre passion et l’incroyable potentiel du concept de votre projet, c’est un poids qui se fait de plus en plus lourd. Vous finissez par regarder l’icône de votre IDE en vous disant que ça peut attendre. Pas de soucis je ferai ça plus tard !
Mais on sait très bien que non.
Le boulot, après le boulot
Vous avez passé 8h (souvent beaucoup plus) à coder à votre travail.
Vous rentrez enfin chez vous, vous mangez, peut-être que vous checkez une vidéo de chat et que vous regardez ce qui s’est passé sur Twitter.
Il est déjà 21H et vous avez le choix entre film/série/jeu vidéo/sortie ou recommencer ce que vous avez déjà fait toute la journée.
Je ne sous-estime pas votre amour et passion pour ce métier, mais au bout d’un moment, ça va commencer à être aussi drôle que de monter l’Everest en claquettes.
C’est inévitable !
Dix projets à la fois
En général, en tant que dev, on a une fâcheuse tendance à commencer un million de projets en même temps !
Vous êtes tombé sur une lib qui permet de faire telle chose alors vous la testez pour voir. Ça marche plutôt pas mal ! Du coup ça vous donne une idée et vous commencez un projet pour la mettre en oeuvre.
Plus tard, en sortant d’une soirée bien arrosée, vous avez une idée d’app mobile révolutionnaire, alors vous avez attaqué le dev de ce projet en parallèle.
Ha oui ! Y’a aussi le site de tonton qui voulait un WordPress ++ un peu chiant qui traîne depuis un moment et qu’il faut aussi avancer !
Petit à petit vous vous retrouvez avec plein de projets en cours.
Très fréquemment ils sont arrêtés à un point épineux et/ou qui nécessite un peu plus d’investissement.
Du coup en voulant tout faire en même temps, vous ne faites plus rien.
C’est une bonne situation ça dev ?
Je ne crois pas qu’il y ait de bonne ou de mauvaise situation.
Mais je vais vous dire, on est quand même pas à plaindre. On a presque le plein emploi.
Il suffit de faire un tour sur les plateformes d’annonce de job pour se rendre compte de l’ampleur. Si vous avez un compte Linkedin et/ou Viadeo vous vous êtes sûrement fait débaucher directement via la messagerie de ces réseaux. Sinon ça va pas tarder.
Alors oui, il est plus compliqué de se faire une place sur le marché quand on est junior, il existe évidemment des développeurs qui ont du mal à trouver un poste à cause de X raisons toutes aussi valables les unes que les autres.
Mais je fais une généralité ici : c’est quand même l’orgie niveau boulot en tant que dev.
Vous connaissez un chômeur de longue durée qui est développeur ? (à part celui qui a un problème avec les jeux vidéos)
Alors pourquoi je dis ça ?
Et bien tout simplement parce que quand on a « une bonne situation », et bien on a tendance à moins se bouger le cul.
On a tendance à moins se faire violence pour aller chercher quelque chose plus loin. Hors pour arriver à faire ce genre de projet, en parallèle d’une activité professionnelle, croyez-moi faut en vouloir un minimum.
Organisez-vous mieux!
Organiser votre travail
Vous êtes seul pour tout faire. Il n’y a pas de chef de projet et/ou lead dev ou autre CTO pour vous mâcher un semblant d’organisation. Je ne pense pas que ça sert à grand chose de vous lancer dans une grande organisation avec rétro planning, diagrammes et fichiers excel de l’espace dans tous les sens.
Le mieux est une organisation simple mais efficace !
Déjà il va falloir découper votre boulot. Il y a plein d’outils, mais mon préféré et celui que j’ai utilisé, c’est Trello.
Il convient tout à fait pour avancer sur un projet seul ou en petit comité.
J’ai donc découpé mon projet en tâches et je les ai reparties au fur et à mesure du boulot dans une organisation « To Do / Doing / Done » (voir ci-dessous).
L’avantage de ce type d’organisation c’est qu’en un clin d’œil vous savez où vous en êtes. Il y a aussi un côté ludique qui vous pousse à avancer dans votre projet.
Un autre outil intéressant : Wunderlist. Plus simple, se basant vraiment sur les listes, il est aussi très agréable à utiliser pour ce genre de projet. En plus de ça, il s’intègre du PC à votre mobile en passant par la tablette. Il y en a sûrement d’autres très bien mais ce sont les deux que j’ai utilisés et que je conseille. L’important est d’avoir une vision globale et rapide de votre projet.
Vous voulez éviter à tout prix de vous dire « je ne sais pas où j’en suis« , « par où commencer« , « c’est trop gros » car sinon c’est mort ! Si vous êtes perdus à un moment donné dans votre projet, vous allez commencer par lancer un film pour « réfléchir » \o/.
Et petit à petit votre projet passe à la trappe. Prenez bien le temps de tout préparer avant projet via l’outil de votre choix avant d’attaquer.
Ha et j’en ai parlé plus haut, mais j’en rajoute une couche : UN PROJET À LA FOIS. Soit il y en a un qui avance vraiment, soit vous allez vous retrouver avec une marée stagnante plus prise de tête qu’autre chose !
Comment choisir ? C’est simple : prenez celui qui vous passionne le plus. Le reste attendra.
Organiser votre temps
Et commencer par vous dire que tel jour, c’est le jour où vous ne bossez PAS du tout.
Je sais, c’est bizarre. Mais faire le contraire, c’est-à-dire se forcer à bosser comme un forcené tous les soirs, va vous frustrer.
Et oui, même si votre boulot c’est votre passion, il y a un moment où on a juste besoin de faire autre chose.
Vous voulez éviter à tout prix de vous sentir complètement étouffé par votre projet. Il faut que vous trouviez le parfait équilibre entre rien foutre et travailler comme une machine sans âme. Par exemple, pour ma part je ne bosse pas le WE et le vendredi soir. Il m’arrive de ne pas bosser le jeudi soir quand on m’invite à boire de la bière.
Il s’agit de mon rythme de croisière pendant un projet. Trouvez le vôtre. Un rythme qui marchera avec vos obligations et surtout vos envies. Sans quoi, même principe que plus haut, en peu de temps votre projet sera jeté aux oubliettes.
Autre chose : ne vous laissez pas distraire. Vous n’êtes pas l’esclave de vos notifications.
Quelqu’un à liker votre post facebook ? Tant mieux vous verrez plus tard.
Vous avez reçu un mail ? Il ne va pas s’autodétruire, vous verrez plus tard.
Tiens d’ailleurs fermez moi ces onglets, sinon ils détruiront votre concentration, votre productivité jusqu’à votre motivation. Dites-vous que vous en profiterez d’autant plus, plus tard.
Faites des versions avec release.
Il n’y a rien de pire que de commencer un projet et de ne pas en voir la fin. Ne pas pouvoir tester la chose même si toutes les fonctionnalités ne sont pas là. Si vous utilisez la méthode agile ça devrait vous parler d’ailleurs.
Je me permets d’utiliser la slide d’une conf sur la dette technique de JoliCode car elle illustre parfaitement mon propos :
Il s’agit de créer des versions alpha de votre projet complètement fonctionnelles dans le périmètre des fonctionnalités existantes au moment de la release. Au final, c’est sortir plusieurs applis autonomes qui vous permettront de tester le fonctionnement mais surtout le concept en lui-même ! Vous pourriez vous rendre compte que certaines parties de votre concept ne fonctionnent pas en pratique. Vous pourriez alors régler le problème à la prochaine release en modifiant légèrement certains aspects de votre idée.
Vous faites un gros projet interminable ? Que Nenni ! Vous faites un petit projet. Jusqu’à la prochaine release.
En plus, ça vous donne aussi l’occasion de fêter chaque étape de votre dur labeur. Dans un bar par exemple.
Parlez-en autour de vous
C’est trop chiant de voler une idée
« J’ai l’idée du siècle ! Désolé, je peux pas en parler, je veux pas me la faire voler ! »
Alors, la plupart des gens n’ont ni la motivation, ni l’envie de faire quoique ce soit en dehors de leur boulot.
À part si vous en parlez à un autre dev, ils n’ont en plus pas la compétence pour produire le projet.
Et la plupart du temps, une fois que vous aurez fini de leur parler de votre projet, ils l’oublieront complètement dans l’heure qui vient.
Très honnêtement, tout le monde se fout de votre projet. Ils se fout de votre idée et de tout ce que ça implique.
Les gens vont vous ouvrir les yeux
Alors même si ils ne vont pas le voler votre projet, ils ne vont pas hésiter à vous donner leurs avis. Et bien souvent, ils auront une façon de penser et de voir les choses qui vous fera changer d’avis sur certains aspects de votre projet. Parfois ce sera des critiques à deux balles auxquelles vous ne prêterez même pas attention tellement ça sera hors de propos.
Mais ça sera souvent pertinent, VRAIMENT PERTINENT ! Ça a l’air de rien comme ça, mais une seule remarque peut créer une petite modification et faire de votre projet un énorme succès.
Bref, oui, parlez-en ! Demandez l’avis de tout le monde, faites chier les gens avec des bêtas, harcelez vos amis, votre famille pour des feedbacks, c’est très important.
Tout faire tout seul c’est possible
Mais ça ne sera pas parfait. Pour faire un vrai gros projet qui tient la route il faudra bien plus que les compétences d’un développeur front / back ou même full stack de la mort. Il va falloir penser à plein de trucs si vous voulez que les gens daignent seulement jeter un œil à votre boulot. Va falloir penser UI Design, marketing, SEO et beaucoup d’autres et pas un niveau basique. Y’a un paquet de choses que vous ne pourrez pas faire (du moins pas parfaitement) tout seul. Au fur et mesure que votre projet prendra forme vous allez être de plus en plus exigeant. Rien de moins que la perfection ne vous ira. Vous allez avoir besoin d’autres mains avec vous.
Au passage, côté graphisme si votre site il est pas WEB 7.0 (effet WOW c’est trop beau), pour les utilisateurs random qui vont venir sur votre site, pliez bagage MERCI AU REVOIR. Le paquet cadeau est encore plus important que le cadeau en lui-même de nos jours. Triste, oui. Mais vous seriez naïf de ne pas prendre en compte cette remarque. Et c’est le genre de truc que les dev, surtout les backs, ne comprennent pas. Vous avez bien une grosse brute en graphisme qui fait des trucs magnifiques dans vos connaissances non ? Offrez-lui une bière et demandez-lui de vous aider sur cette partie.
Amusez-vous !
C’est le moment d’utiliser cette fameuse techno
Il peut arriver que certaines boites de dev soient frileuses à l’idée d’utiliser une nouvelle techno, la jugeant pas assez mature pour être utilisable. À part si vous avez la chance d’avoir des sessions labos, la dernière techno sexy, vous ne bossez pas dessus.
Et bien c’est le moment ! Lâchez-vous en plus de vous faire découvrir une nouvelle techno, vous allez passer un super moment. Vous voulez rajouter un peu plus de fun dans votre travail ! Car oui quand il sera tard en pleine semaine et que ça fera des mois que vous êtes sur votre projet, vous allez être content de pouvoir explorer cette nouvelle techno à fond.
Vous êtes libres, c’est vous le patron
Ça se fera selon votre vision. Vous fixez les deadlines. Pas besoin de supporter l’avis d’un supérieur peu importe son emplacement dans l’organigramme. Pas besoin de supporter une quelconque pression à part celle que vous déciderez de vous mettre à vous-même. Vous êtes le patron et le client.
Veillez bien à ne pas vous imposer des choses que vous détestez sous prétexte que vous avez l’habitude de travailler comme ça . Ce sentiment de liberté vous donnera des ailes ! Vous devez vous sentir libre, sans quoi, vous serez moins enclin à retourner bosser fréquemment sur votre projet.
Faite un site que vous allez utiliser
Il y a quelques années, un gars s’envoyait des mails à lui-même pour sauvegarder ses docs et trouvait ça débile, du coup il a fait DropBox. Une étudiante devait organiser un week-end pour sa promo, mais elle avait pas envie de quémander à chaque personne des sous pour financer le week-end. Du coup elle a fait Leetchi. Vous connaissez l’histoire des deux colocs qui ont loué un matelas pneumatique dans leur appart pour arriver à payer le loyer à la fin du mois ? Ouais, ils ont fait Airbnb.
Vous voulez faire un site dont vous avez besoin ! Car ce besoin sera encore un autre facteur de motivation face à la montagne de boulot qui vous attend !
Ça fera de vous un meilleur développeur
Vaste sujet que celui du bon et mauvais développeur. Je ne me risquerais pas à ce genre d’analyse.
Mais je sais que le cerveau peut être musclé, et qu’en le faisant bosser, on ne peut qu’améliorer son fonctionnement. Et un cerveau qui va plus vite c’est beaucoup plus agréable pour régler des problèmes.
Il y aussi le facteur expérience. Comme dans n’importe quel métier, l’expérience est primordiale. En faisant ce genre de projet vous allez vous pencher sur de nouvelles technos et approfondir celles que vous connaissez déjà. Vous allez être plus exigeant envers votre projet parce que, oui, au-delà d’un projet : c’est votre bébé.
Tout ça combiné fera inévitablement de vous un meilleur développeur. Vous allez pas vous transformer en rock star du dev. Mais vous aurez appris des choses, et c’est le plus important dans notre métier : toujours apprendre quelque chose.
Épilogue
Et vous ?
Votre projet ?
Il en est où ?
Très bonne lecture.
« Il faut que vous trouviez le parfait équilibre entre rien foutre et travailler comme une machine sans âme. »
Cette phrase me parle beaucoup, difficile de trouver l’équilibre une fois le projet lancé pour ma part, c’est un peu tout ou rien
Mon projet perso, http://www.reveil-en-ligne.fr, m’a fait (enormemenent) plus progresser que mon « day job » (vision plus large, liberté…), c’est pour ça que je recommande à tout le monde d’en avoir au moins un.
Excellent article, merci.
Très bon article (et tellement vrai).
J’avais déjà essayé des « managers de tâches » mais jamais Trello. Je viens de le tester à l’instant, il a l’air très bien. Pour améliorer son utilisation, il existe une extension Chrome : https://goo.gl/bg0SVc
Merci pour l’extension je ne connaissais pas !
Très bon article, c’est exactement ce que je cherchais.
Je pense comme -Polomarcus- pour ce qui est de l’expérience acquise en projet personnel pour au moins deux raisons:
On recherche la difficulté / nouveauté / challenge ce qui est bien plus formateur que le day job bien formaté.
Nous n’avons pas les contraintes organisationnelle (nécessaire en entreprise mais futiles en projet personnel) ce qui laisse plus de temps pour les échecs et donc les progrès 🙂
Effectivement, j’ai commencé un projet il y’a un an et au début, ça avait cette gueule:
http://2.bp.blogspot.com/-y6e1x5h_SvQ/VD7g2EL9FVI/AAAAAAAA5Fg/RWXZyfkGEd4/s1600/lollypop2.png
Un an plus tard, on m’a filé un coup de main pour faire un site web, j’ai implémenté des fonctionnalités que je n’aurai jamais pensé pouvoir mettre et j’ai appris plein de choses.
Après, j’ai 2h de train par jour, ça aide 😉
http://gnumdk.github.io/lollypop-web/
Super boulot !
Je vais le tester d’ailleurs !
Super article !
Je vais faire ma chieuse, mais le cerveau n’est pas un muscle. Par contre, il s’use quand on ne l’utilse pas, donc la suite est quand même vraie.
Sinon, excellent article !
Vous avez tout à fait raison, ce n’est pas un muscle à proprement parler.
Cependant il peut être musclé ! J’ai changé la tournure de la phrase.
Merci pour le feedback !
Je suis de moins en moins fan de Trello. Je suis plus pour faire des issues sur GitHub.
Je travaille sur mes sides project le matin en général, avant que le reste de ma famille se lève 🙂 Super article bravo !
C’est exactement mon cas,quel bon article!!