Avez-vous des idées sur la façon dont je peux surmonter ce blocage mental et assurer que mon application sera évolutive?
Le noeud du problème n’est pas l’évolutivité. Le nœud du problème est de penser que vous vous en sortirez du premier coup .
Vous devriez vous concentrer sur l'écriture de code propre. Parce que le code propre maximise la commodité lorsque vous devez (inévitablement) changer quelque chose dans le futur. Et c'est le véritable objectif que vous devriez avoir.
Ce que vous essayez maintenant de faire, c'est d'essayer de penser au code parfait à écrire. Mais même si vous y parvenez, qui a déclaré que les exigences ne changeraient pas ou que vous avez peut-être pris vos décisions en vous basant sur des informations erronées ou une mauvaise communication?
Vous ne pouvez pas éviter de faire des erreurs, même si ce n'est pas de votre faute. Concentrez-vous sur l'écriture de code dans lequel il est facile de changer les choses plus tard, au lieu d'espérer écrire un code que vous n'aurez pas besoin de changer à l'avenir.
Ayant grandi attaché au projet et au code que j'ai déjà écrit,
Je sympathise absolument avec ce sentiment. Mais s’attacher au code que vous avez écrit est un problème.
La seule chose qui devrait être constante est votre désir de résoudre un problème spécifique . Comment résoudre ce problème n’est qu’une préoccupation secondaire.
Si demain nous publions un nouvel outil réduisant votre base de code de 80%, vous allez être contrarié par le fait que votre code n'est plus utilisé; ou allez-vous être heureux que votre base de code est devenue plus petite et beaucoup plus propre / plus facile à gérer?
Si l'ancien, vous avez un problème: vous ne voyez pas la solution pour le code . En d'autres termes, vous vous concentrez sur le code sans voir la situation dans son ensemble (la solution qu'il vise à fournir).
J'ai peur que tout travail supplémentaire que j'engage ne soit annulé dans un proche avenir, lorsque l'application ne sera plus à la mesure de la croissance de l'entreprise.
C'est un problème différent pour un jour différent.
Tout d'abord, vous construisez quelque chose qui fonctionne. Deuxièmement , vous améliorez le code pour corriger les éventuels défauts. Ce que vous êtes en train de faire, c’est de retenir la première tâche par crainte d’avoir à faire la deuxième.
Mais quelle autre option existe-t-il? Vous ne pouvez pas dire le futur . Si vous passez votre temps à réfléchir aux possibilités futures, vous finirez par deviner de toute façon. Une supposition est toujours sujette à la mort.
Au lieu de cela, construisez l'application et prouvez qu'il y a bien un problème. Et une fois que le problème est clair, vous commencez à vous en occuper.
En d'autres termes: Henry Ford n'a jamais construit de voiture conforme aux normes / attentes de 2018. Mais s'il n'avait pas construit le modèle T, une voiture imparfaite selon les normes modernes, personne n'aurait commencé à utiliser des voitures, il n'y aurait pas d'industrie automobile et personne n'aurait eu une voiture à améliorer.
Des employeurs ont demandé à mon choix de ne pas utiliser de framework Web pendant les entretiens, ce qui ne m'a fait que douter davantage de mon travail précédent.
La partie importante ici n’est pas de savoir quel cadre vous utilisez (un employeur qui vous juge sur qui ne fait pas son travail correctement). La partie importante ici est de savoir ce que vous faites et pourquoi vous le faites .
Par exemple, vous pourriez éviter le cadre existant spécifiquement parce que vous voulez savoir pourquoi un cadre est utile en le faisant à la dure. Ou vous pourriez essayer de créer votre propre cadre.
La seule mauvaise réponse ici est "je ne sais pas", car cela montre un manque de prise de décisions éclairées. C'est un drapeau rouge pour un employeur.
Je ne connais tout simplement pas de framework Web et je ne sais pas lequel utiliser.
Le même problème se pose ici. La solution ne consiste pas à penser plus, mais plutôt à agir:
- Arrêtez de penser à la réponse parfaite .
- Choisissez un cadre. À moins que vous n'ayez une préférence, choisissez-en une au hasard. Utilisez un jeu de fléchettes, lancez un dé, lancez une pièce de monnaie, prenez une carte.
- Utilise le.
- Avez-vous aimé l'utiliser? Avez-vous trouvé quelque chose d'énervant?
- Cherchez comment prévenir ces mauvais éléments. Avez-vous mal utilisé le cadre ou s'agit-il simplement de la manière dont le cadre est censé fonctionner?
- Une fois que vous sentez que vous maîtrisez le cadre (que vous le vouliez ou non), choisissez un nouveau cadre et répétez le cycle.
Pour en savoir plus à ce sujet, lisez L’état de faire> l’état de pensée . L'auteur l'explique mieux que moi.
mais la pression pour finir l'application est en train de monter, et j'envisage de supprimer complètement l'application et de recommencer
Sauf si la base de code actuelle est un gâchis absolument incontrôlable; vous prenez la décision opposée.
Les développeurs pensent souvent que jeter les choses serait le meilleur choix. C'est un sentiment très commun. Mais c'est rarement le bon choix.
Lancer le code et repartir de zéro, c'est comme se retrouver coincé dans la circulation sur le chemin du travail, craignant d'être en retard pour le travail (manquer la date limite) et de rentrer à la maison et d'essayer à nouveau dans la même voie. Cela n'a pas de sens. Vous êtes peut-être coincé dans la circulation, mais vous êtes toujours plus près du travail que lorsque vous étiez chez vous.