Legacy peut signifier autre chose que sur la base de votre commentaire `` pas si bien écrit '', je vais supposer que Legacy signifie `` mauvaises '' ou au moins `` technologies obsolètes ''. Si le code hérité est bon, ne vous retenez pas et apprenez chaque ligne de celui-ci.
Je ne pense pas qu'il y ait suffisamment d'avertissements clairs contre le type d'emplois et de projets qui détournent votre carrière et vous coincent dans des trous sans valeur sur ce fil à ce jour.
Alerte d'analogie sportive: pensez-vous qu'un supporteur de ligne dans la NFL en apprend plus et devient plus précieux en jouant avec l'équipe avec le pire record ou le meilleur? Ma réponse: Non seulement ils ont plus de valeur après avoir joué pour les meilleures équipes, mais ils ont probablement acquis les meilleures pratiques et connaissances et évité de ramasser les pratiques et attitudes de fin de carrière.
Il y a beaucoup de code anti-modèle terrible qui fonctionne réellement pour l'entreprise et paie beaucoup de salaires de développement. Je propose qu'un développeur qui n'a pas vu suffisamment de code fait de la bonne manière pourrait confondre le code anti-modèle avec une solution légitime à un problème. L'entreprise peut dire que la solution fonctionne, mais ce n'est pas celle que vous souhaitez dans votre CV ou celle que vous vanteriez auprès d'autres développeurs. Cela n'est également pertinent que si votre chemin de croissance personnel consiste à gagner le respect de vos pairs en ingénierie et non seulement à augmenter temporairement les revenus de l'entreprise pour laquelle vous travaillez (cela semble mauvais, mais en fin de compte, la meilleure ingénierie fait absolument le plus d'argent OMI) .
Malheureusement, il y a beaucoup de code et beaucoup de temps qui peut s'écouler avant que la dette technologique ne soit révélée. Et cette dette technologique est généralement reconnue exactement quand il est trop tard. Quiconque peut avoir essayé d'arrêter la dette technologique ou les schémas anti auparavant, aurait pu être mis à l'écart en raison des dépenses supplémentaires perçues ou du manque de compréhension de l'extensibilité, etc. Il est de notre devoir, en tant qu'ingénieurs, d'exposer immédiatement la dette technologique. Les projets sans ingénieurs expérimentés risquent de heurter un mur de briques à un moment donné, en fait tous les projets, même avec des développeurs talentueux. La plupart des entreprises considèrent «un certain point» comme suffisamment de temps pour y remédier plus tard. Cela rend les choix de travail pour les développeurs en devenir très compliqués. Il souligne également les objectifs et les mentalités entièrement différents entre les développeurs et les entreprises et la complexité de combler le fossé.
Le but des ingénieurs est d '«inclure» de véritables travaux scientifiques et des considérations de conception, tandis que l'objectif des entreprises est d' «exclure» les coûts et le temps inutiles. Comme les ingénieurs ne savent souvent pas quel est le niveau d'effort et de temps jusqu'à ce que l'état final soit réellement fait, le développement de logiciels se joue comme n'importe quel bon drame avec des personnages comme agile, scrum et kanban jouant des rôles principaux.
Une solution à retenir pourrait être de rester à l'écart du mauvais code jusqu'à ce que vous ayez vu suffisamment de bon code pour ne pas être «corrompu». J'adore le dicton selon lequel les développeurs seniors créent des solutions simples à des problèmes complexes. Comme les développeurs sages de niveau intermédiaire, ils créent des solutions complexes pour des problèmes simples et complexes.
Un autre point à retenir pourrait être que vous devez travailler sur du bon ET du mauvais code à différents points afin de mieux comprendre. Si vous n'avez fait ni l'un ni l'autre, allez-y et soyez prêt à tout désapprendre lorsque vous rencontrerez un meilleur système. Je pense que c'est probablement une trajectoire plus courante pour la plupart des développeurs.
Je suis partiale cette année parce que j'ai l'impression de gravir une montagne extrêmement complexe de «sauce secrète». Bien que j'augmente ma capacité à déchiffrer certains des pires schémas que j'ai jamais vus, c'est tellement `` personnalisé '' et `` unique '' que je ne pense pas que ma lutte augmentera ma commercialisation ou mes compétences utilisables dans mon avenir.
Afin de garder ma santé mentale, je me traîne à un rythme régulier et j'embrasse chaque barrage routier comme une normale pour le parcours. Après avoir passé en revue mes objectifs annuels avec mon patron, y compris creuser ce trou hérité, je pense que ce pourrait être une ascension sacrificielle. Je pourrais survivre au processus avec de mauvaises critiques et une lenteur perçue. C'est un avertissement réaliste et inquiétant pour ceux d'entre vous qui se demandent quel travail prendre.
Avertissement: Ce message vivra beaucoup plus longtemps que mes opinions, alors prenez-le avec un grain de sel. Demain, je pourrais aimer le code hérité! (J'en doute).