Le dilemme du développeur

Décider entre utiliser un service ou une plate-forme existant et créer le vôtre

Il y a un gros problème que je rencontre en ce moment.

J'essaie différentes plates-formes pour voir si elles conviennent bien pour être le lieu où je pourrai héberger mes cours à l'avenir.

La plate-forme que j'utilise maintenant est basée sur un site statique qui s'interface à l'aide d'intégrations personnalisées et d'outils sans code (comme Airtable). Les paiements et les inscriptions aux cours sont gérés à l'aide des services Node.js. Vous pouvez l'appelerJAMstack,sans serveur, ou tout autre terme sophistiqué qui est à la mode aujourd'hui.

En fait, j'ai plusieurs plateformes SAAS, toutes similaires, pour chacun de mes cours. J'aime garder les choses simples et aussi directes que possible. Quand j'ai commencé, j'ai créé un site Web pour un cours.

Puis, quand il était temps de créer un autre cours, j'ai simplement copié ce site Web et en ai fait une autre «version».

Maintenant, le nombre de cours est passé à 7, et le moment est venu de revoir l'infrastructure globale que j'utilise.

Ma première pensée a été d'utiliser une plate-forme que je pourrais utiliser, qui pourrait servir de plaque tournante centralisée pour le matériel de cours et fournir des fonctionnalités que je n'avais pas à créer moi-même.

Je suis donc sorti et j'ai essayé quelques-uns des services populaires, notamment Teachable, Podia et bien d'autres.

Mais j'ai rencontré ce que j'appelle le dilemme du développeur.

À première vue, ces plates-formes sont incroyables. Bien conçu, leur interface est élégante, leur marketing brille et ça a vraiment l'air génial.

Puis j'ai commencé à les utiliser.

Et j'ai commencé à grimper sur l'échelle de la frustration.

  1. "Cela a l'air génial"
  2. "J'aime ça dans l'ensemble, mais ça pourrait être différent"
  3. "L'éditeur est nul"
  4. "J'aimerais pouvoir utiliser le démarque"
  5. "Il y a un bug, comment est-il possible que je sois le seul à avoir rencontré ça?"
  6. "Salut, assistance, je rencontre ce problème" - "Nous l'avons signalé à l'équipe d'ingénierie, nous vous tiendrons au courant"
  7. "OMG j'ai déjà perdu beaucoup de temps là-dessus"

Je suis un développeur paresseux. Je considère que c'est le meilleur de mes capacités techniques.

Un logiciel de sur-ingénierie, lorsque vous êtes un développeur paresseux, n'est pas un problème. Cela n'arrive jamais. J'écris juste la quantité minimale de code nécessaire pour effectuer une tâche.

Je résiste à la complexité.

Pourquoi est-ce génial? Vous ne pouvez pas anticiper les besoins de demain, les problèmes de demain. Et j'ai appris cela au fil du temps.

En tant qu'entrepreneur, j'ai travaillé sur des bases de code si complexes que j'avais envie de pleurer et chaque fois que je peux, je préfère trop simpliste à trop complexe.

Être un développeur paresseux me fait aussi beaucoup réfléchir avant d'écrire un logiciel.

Parce que l'écriture de logiciels est une responsabilité.

Vous écrivez le poids que vous allez emporter avec vous à l'avenir.

Supposons, en poursuivant ce que j'ai écrit ci-dessus sur le choix d'une plate-forme de cours, que je décide d'écrire ma propre plate-forme de cours.

Cela signifie que je dois d'abord le coder.

J'ai besoin de prendre des décisions. Des décisions qui pourraient s'avérer bonnes, des décisions qui pourraient être erronées.

Et après avoir créé le logiciel dont je rêve, je dois maintenir le code à l'avenir. J'en suis responsable. Il n'y a plus de bouton «demander de l'aide».

En tant que développeur, nous avons cette incroyable capacité à créer les outils dont nous avons besoin. Au détriment, cependant, de la responsabilité.

Mais c'est aussi un dilemme de propriété. Est-ce que je veux m'appuyer sur cette plateforme spécifique pour les 5 à 10 prochaines années? Et si les décisions qu'ils prennent ne correspondent pas aux miennes? Et s'ils augmentaient leurs prix? Pourrai-je m'en éloigner facilement?

Dans le scénario idéal, je choisirai toujours ma propre plateforme plutôt qu'une plateforme gérée par d'autres personnes. Mais je choisirai toujours l'itinéraire le plus simple.

La ressource la plus importante et la plus précieuse pour moi est le temps. Je pourrais avoir tellement plus de temps en choisissant une solution existante.

Dois-je passer un mois à rédiger ma propre plateforme de cours?

C'est l'instance actuelle du dilemme du développeur auquel je suis confronté.

J'ai essayé toutes les solutions préconfigurées possibles pour cela.

Ils ont tous échoué à tenir leur promesse (ou à l'image que j'avais d'eux dans mon esprit) d'une manière ou d'une autre.

J'ai décidé d'écrire ma propre solution. La solution la plus simple, bien sûr.


Plus de tutoriels de laboratoire: