Comment un problème de codage a fait de moi un meilleur entrepreneur

Publié le 11 avril 2022 par Mycamer

L’un des écueils d’être programmeur est que vous avez toujours besoin de bricoler. Faire une nouvelle application, un nouveau projet parallèle ou, dans ce cas particulier, un besoin provocateur de réinventer la roue avec encore un autre framework. Lorsque vous êtes un programmeur et un entrepreneurc’est encore pire parce que vous avez la capacité de créer à peu près n’importe quoi dans un monde qui met fortement l’accent sur la technologie.

Si vous n’êtes pas familier avec le programmation monde, vous pouvez penser à un cadre comme une collection de code ou un système qui réduit le besoin de recréer des outils communs afin que vous puissiez créer des choses plus cool plus rapidement. Au lieu de passer tout votre temps à écrire du code pour créer, par exemple, un bouton bleu chaque fois que vous en avez besoin, vous pouvez, plus ou moins, copier et coller votre bouton bleu et le réutiliser.

Dans mon cas, j’en avais marre de devoir constamment résoudre quelques problèmes liés au CSS (le code qui rend un site Web agréable). Un grand était la réactivité. Devoir créer un site ou une application qui s’adapte à des dizaines de tailles d’écran différentes (par exemple, mobile, tablette, ordinateur de bureau) est une tâche répétitive constante qui change en fonction du choix de la police, de la mise en page du site Web et de dizaines d’autres facteurs.

Il existe déjà des dizaines, voire des centaines de frameworks CSS qui résolvent ces problèmes à leur manière, mais j’en avais marre d’apprendre de nouveaux frameworks ou de devoir constamment modifier le code du framework pour le faire fonctionner “juste” pour la conception unique que nous essayions de mettre en œuvre. Je voulais “mon système”.

Le projet a commencé simple, mais est rapidement devenu trop complexe à gérer

Au début, j’avais une idée assez claire de ce que je voulais : un petit ensemble de normes que je pouvais mettre dans un nouveau design, modifier légèrement pour ce dont j’avais besoin et le faire fonctionner à peu près sans qu’il ressemble à tous les autres designs là-bas .

La tâche semblait assez facile. Cela pourrait être fait et mis en œuvre en quelques jours et j’aurais toujours mon propre système prédéfini avec lequel travailler et m’appuyer. Mais il ne m’a pas fallu plus d’une heure pour me laisser distraire et plonger dans des détails atroces sur les aspects les plus mineurs du système.

Les polices et la typographie jouent un rôle important dans tout design. Je voulais connaître l’implémentation “parfaite” des tailles sur chaque type d’appareil et que le code reformate automatiquement les tailles. J’ai passé des jours à parcourir le terrier du lapin de la typographie et tous les tenants et aboutissants de tout, des pixels aux picas en passant par les points. En fin de compte, à peu près tous les systèmes de dimensionnement des polices ne font que des mesures arbitraires qui ont très peu de traduisibilité entre elles et ils ont tous des opinions sur les “mesures” idéales.

Mais cela ne s’est pas arrêté là, cela s’est traduit par des largeurs de contenu, des tailles d’écran infinies, des échelles typographiques et des points de rupture parfaits.

Se concentrer sur le micro plutôt que sur la vue d’ensemble signifiait que le projet n’allait nulle part.

J’implémenterais une solution, je découvrirais qu’elle ne fonctionnait pas littéralement dans tous les scénarios et j’essaierais de trouver les solutions “qui fonctionnent parfaitement dans toutes les situations”. Ensuite, au fur et à mesure que le système progressait, de plus en plus de fonctionnalités seraient ajoutées, ce qui serait plus bricolant pour “le faire fonctionner dans toutes les situations”.

Et ça continuait : quelle était la réinitialisation parfaite du navigateur ? Pourrais-je faire en sorte que tout fonctionne avec des grilles à changement dynamique sans requêtes multimédias ? Cette méthode était-elle la plus efficace ? Cela équivalait à des semaines de temps perdu et à ne pas être proche du “système parfait”, imaginais-je.

En fin de compte, nous avons fini par en utiliser une version extrêmement réduite et, en fin de compte, accomplit à peu près ce que je voulais au départ, sans avoir besoin de l’énorme quantité de sur-ingénierie que j’avais mise dans ce.

Ce qui a fonctionné a été de mettre en œuvre la version la plus simple du projet plutôt que d’attendre la « perfection ».

Plutôt que de créer le cadre “parfait”, ce qui a fonctionné était d’avoir un système de quelques valeurs par défaut raisonnables que nous pouvions facilement remplacer et ajuster au besoin sans ajuster chaque bit de code. En nous concentrant sur le problème “général”, nous avons facilité le travail sur le problème “spécifique”, sans toute la complication d’essayer de “ne plus jamais réécrire le code” dans le “cadre parfait”.

Ce qui est amusant, c’est que la solution finale était plus proche de l’intention initiale. Il n’a jamais été conçu à l’origine pour être le “système parfait dans toutes les situations”, il s’est en quelque sorte déformé et tordu pour devenir cela parce que j’étais tellement absorbé par les micro-détails et que j’ai perdu de vue la vue d’ensemble.

Cela m’a fait réaliser qu’il y avait de nombreux domaines dans la croissance de mon entreprise où je faisais les mêmes erreurs. Des situations où je serais tellement absorbé par des micro-détails que j’oublierai l’intention initiale de ce que je voulais faire, mettre en œuvre ou améliorer.

Les trois plats à emporter qui ont fait de moi un meilleur entrepreneur :

  1. Gardez le focus sur la grande image. Vous ne serez jamais parfait ou comptez pour toutes les situations possibles.
  2. Vous compliquez probablement trop le problème sur lequel vous travaillez en vous attardant sur les détails.
  3. Créez et publiez d’abord la version la plus simple possible de quelque chose, puis ajustez-la au fil du temps. Attendre la perfection signifie que vous perdrez plus de temps et d’argent que la tâche en vaut la peine.

Les opinions exprimées ici par les chroniqueurs d’Inc.com sont les leurs, pas celles d’Inc.com.

— to www.inc.com