Article original : How to Come Up With Good Coding Project Ideas

Par Erin Borders

Si vous êtes un développeur cherchant à améliorer vos compétences en codage, la réalisation de projets est un excellent moyen d'y parvenir. Mais trouver des idées de projets qui vous donnent vraiment envie de commencer peut être difficile.

C'est pourquoi j'ai écrit cet article : pour vous aider à apprendre comment trouver des projets amusants et intéressants que vous pouvez réaliser.

Le Processus

Je trouve mes idées de projets à travers le contenu que je consomme et les problèmes que je rencontre.

Par exemple, vous pouvez garder un carnet à portée de main et noter :

  1. Les problèmes que vous rencontrez dans votre travail ou votre vie quotidienne
  2. Les désirs ou intérêts que vous avez mis de côté

Ne vous limitez pas dans cette phase – tout ce que vous rencontrez est bon à prendre. Je vais vous donner quelques-uns de mes exemples.

Problèmes :

  • Oublier de contacter mes amis éloignés
  • Des personnes qui m'appellent pour acheter ma propriété
  • Oublier d'envoyer un message aux gens quand je rentre chez moi en sécurité
  • Les sites qui demandent constamment si je veux accepter ou rejeter les cookies

Désirs :

  • Un partenaire de conversation dans une langue que j'apprends
  • Trouver des maisons saisies
  • Trouver des pop-ups dans ma ville rapidement et facilement

Ensuite, après avoir une liste de problèmes et de désirs, je commence à voir si je peux en faire un projet de codage. Je vais démontrer en passant par mon dernier projet, du concept à la fin.

Projet de Partenaire Linguistique

J'ai toujours été intéressée à devenir fluide dans une autre langue, avec l'envie de tenir des conversations profondes avec des locuteurs natifs. J'ai essayé pendant plusieurs années de transformer mes connaissances rudimentaires en espagnol en fluidité, en lisant toutes sortes de livres et en regardant des vidéos pour voir différentes techniques et outils recommandés.

Puis j'ai lu Ultralearning par Scott Young. C'est un livre intéressant, mais je le mentionne surtout parce qu'il m'a rappelé la chose la plus importante : pendant que je tergiverse sur la meilleure façon d'étudier le vocabulaire et la grammaire, je ne pratique pas la chose qui améliorerait le plus mes compétences en expression orale – parler.

Parler est le moyen le plus rapide d'améliorer mes compétences conversationnelles, mais c'est aussi le plus péniblement gênant. Je n'aime pas l'idée de buter sur mes mots avec des inconnus pendant des semaines, même si cette personne était un tuteur expérimenté dans le décryptage de l'espagnol débutant. Alors j'ai commencé à réfléchir : et si je pouvais programmer un partenaire linguistique ?

Et ainsi mon projet est né. À partir de ce concept initial, j'ai vérifié que ce que je voulais faire était possible. Mon expérience est dans le développement web, donc cela signifiait vérifier ce dont le web était capable (en utilisant https://whatwebcando.today, que j'ai trouvé dans un excellent cours Pluralsight sur les Progressive Web Apps) puis de le réaliser du mieux que je peux.

Quand je tombe sur des outils ou des concepts que je ne connais pas, je vais dans la documentation ou sur YouTube – celui qui peut me l'expliquer de manière à ce que je comprenne vraiment (et n'oubliez pas ChatGPT ici aussi. Lui demander d'expliquer un concept comme si vous aviez cinq ans est vraiment utile.).

J'essaie de faire au moins un tutoriel Getting Started à partir de la ressource que j'ai choisie pour m'assurer que je comprends vraiment le concept. Ensuite, je retourne directement à mon projet. J'essaie de documenter ce que j'apprends au fur et à mesure.

Pour un défi supplémentaire, j'aime parfois trouver des applications similaires à l'idée que j'ai eue et essayer de penser à des moyens de différencier mon application pour me pousser encore plus loin. Si je ne trouve rien, ce n'est pas grave – le projet vaut toujours la peine d'être fait. Mais je pense que c'est une bonne préparation de penser au marché lors de la création d'un produit de toute façon.

Tout cela pour dire qu'un grand projet de codage se trouve souvent dans l'écart entre vouloir quelque chose et ne pas pouvoir trouver quelque chose qui existe déjà pour répondre à vos besoins spécifiques. Je trouve cela particulièrement utile parce que les idées qui surgissent de cette manière sont sur mesure pour mes intérêts.

Bien que je pense que l'apprentissage des services cloud ou des meilleures pratiques en ingénierie logicielle soit important, cela en soi m'ennuierait à mourir et je ne m'accroche pas aux projets quand ils sont ennuyeux. Il est plus important pour moi que le projet tourne autour d'intérêts que j'ai déjà afin que je reste engagé et créatif.

Mise en garde

Le problème numéro un que je vois avec un processus comme celui-ci est qu'il peut donner l'impression de massacrer une idée en or. Par exemple, si je commence à peine à comprendre comment utiliser l'audio du micro depuis le navigateur web, mon projet de partenaire linguistique pourrait ne pas être aussi élégant que je l'avais rêvé, et cela peut donner l'impression que le projet n'en vaut pas la peine.

Ou pire encore, cela peut me tromper en me faisant penser qu'il serait mieux si je le reportais jusqu'à ce que je sois prêt.

C'est pourquoi j'aime le diagramme ci-dessous de Steal Like an Artist d'Austin Kleon.

Image La Vie d'un Projet de Steal Like an Artist par Austin Kleon

C'est à la fois un rappel de la vision d'ensemble et un appel à l'action. Non, votre première tentative de réaliser le projet ne sera probablement pas votre meilleure. Mais cela en vaudra la peine.

Plus important encore, toute idée vraiment géniale est itérative. La première itération n'est jamais celle qui est vendue sur l'étagère. Plus vous passez rapidement par ce premier jet, plus vous pourrez passer à la deuxième, la troisième, et ainsi de suite jusqu'à ce que vous ayez votre produit fini.

Conclusion

Merci d'avoir pris le temps de lire cet article ! Si vous l'avez trouvé utile, envisagez de me laisser une étoile sur GitHub ou envisagez de m'endosser pour des compétences pertinentes sur LinkedIn.

Et si vous souhaitez un tutoriel sur le partenaire d'apprentissage linguistique sur lequel je travaille, ou une présentation plus approfondie de tout ce que j'ai mentionné ici, faites-le moi savoir !