Le secret de l'efficacité réside dans un code de qualité, pas dans un gestionnaire efficace

L'une des professions les plus idiotes est celle des managers qui gĂšrent les programmeurs. Pas tous, mais ceux qui n’étaient pas eux-mĂȘmes programmeurs. Ceux qui pensent qu’il est possible « d’augmenter » l’efficacitĂ© (ou d’augmenter « l’efficacitĂ© » ?) en utilisant les mĂ©thodes tirĂ©es des livres. Sans mĂȘme prendre la peine de lire ces mĂȘmes livres, la vidĂ©o est gitane.

Ceux qui n’ont jamais Ă©crit de code. Ceux pour qui les films hollywoodiens sur les programmeurs sont faits - enfin, ceux pour qui ils regardent leurs e-mails en utilisant la ligne de commande. Ceux qui ne s'intĂ©ressent Ă  rien d'autre que des indicateurs, des dĂ©lais et leur propre salaire.

Ceux qui sont majoritaires.

Mais ils sont idiots pour une autre raison. Ils veulent de l'efficacité, ou du moins de l'efficacité (allez, manager, Google quelle est la différence), sans comprendre ni l'un ni l'autre. Sans comprendre généralement l'essence, le processus d'obtention du résultat, les pertes qui surviennent dans ce processus, les coûts de développement. Bref, travailler avec un programmeur comme s'il était une boßte noire.

Ils se sont heurtĂ©s Ă  la direction des programmeurs pour exactement une raison : il y a le battage mĂ©diatique, l'argent, le marchĂ© et une bande des mĂȘmes idiots. Il y a un endroit pour se perdre.

S'il y avait un battage médiatique dans la production d'assemblages mécaniques, nous y courrions. Les breaks sont nuls. Je ne serais pas surpris que le vendeur de sapins de Noël dans notre quartier en décembre soit un responsable informatique en vacances.

Bref, si possible, tirez sur ces gars dans le cou. Ne vous inquiĂ©tez pas, ils trouveront un emploi. Aucun d’entre eux ne fera jamais quelque chose de dĂ©cent tant qu’il ne deviendra pas lui-mĂȘme programmeur. Parce qu'il ne comprend pas l'essence, le mĂ©canisme, la logique du processus qu'il contrĂŽle.

Bon, assez parlé des managers. Passons maintenant au point, pour les programmeurs. Comment augmenter l'efficacité du développement en apprenant à écrire du code de haute qualité.

Pour augmenter l’efficacitĂ©, vous devez rĂ©soudre les problĂšmes plus rapidement sans perdre en qualitĂ©. Pour rĂ©soudre les problĂšmes plus rapidement, vous devez ĂȘtre capable d’écrire immĂ©diatement du code de haute qualitĂ©. Et « de haute qualitĂ© », et « Ă©crire » et « immĂ©diatement ». Laissez-moi vous expliquer avec une mĂ©taphore.

Écrire du code de haute qualitĂ©, c’est comme parler correctement une langue Ă©trangĂšre. Quand on ne connaĂźt pas une langue, on passe beaucoup de temps Ă  essayer d’y formuler ses pensĂ©es.

Si vous avez un besoin urgent de dire quelque chose, vous vous contentez de quelques mots, souvent pas les bons, vous oubliez les articles, l'ordre correct des mots, sans parler des temps verbaux et d'une mauvaise prononciation.

Si vous avez le temps de formuler une rĂ©ponse, vous devrez ouvrir un dictionnaire ou un traducteur en ligne et passer beaucoup de temps Ă  formuler vos pensĂ©es. Cependant, le sentiment sera toujours dĂ©sagrĂ©able : vous dites la rĂ©ponse et vous ne savez pas si elle est correcte ou non. C’est la mĂȘme chose avec le code – il semble avoir Ă©tĂ© Ă©crit, il semble fonctionner, mais savoir s’il est de bonne qualitĂ© ou non est un mystĂšre.

Cela s’avĂšre ĂȘtre une double perte de temps. Il faut du temps pour trouver une rĂ©ponse. Il faut Ă©galement du temps pour formuler cette rĂ©ponse – et pas si peu.

Si la capacitĂ© d'Ă©crire du code de haute qualitĂ© est prĂ©sente, la rĂ©ponse peut ĂȘtre formulĂ©e immĂ©diatement, dĂšs qu'elle a mĂ»ri dans la tĂȘte, sans consacrer de temps supplĂ©mentaire Ă  la traduction.

La capacitĂ© d'Ă©crire du code de haute qualitĂ© est utile lors de la conception de l'architecture. Vous n’envisagerez tout simplement pas d’options incorrectes, irrĂ©alisables ou de mauvaise qualitĂ© dans votre tĂȘte.

Pour rĂ©sumer : la capacitĂ© d’écrire du code de haute qualitĂ© accĂ©lĂšre considĂ©rablement la rĂ©solution de problĂšmes.

Mais ce n'est pas tout. GrĂące aux gestionnaires de bottes en feutre, il y a un problĂšme : nous n'avons aucune raison d'Ă©crire du code de haute qualitĂ©. Le manager ne regarde pas le code, le client ne regarde pas le code. Nous nous montrons rarement le code, seulement parfois, dans certains projets oĂč il existe un « vĂ©rificateur » de code dĂ©signĂ© ou une refactorisation pĂ©riodique.

Il s'avĂšre que dans la plupart des cas, le code merdique va Ă  la production ou au client. Une personne qui a Ă©crit du code merdique forme une connexion neuronale stable - il est non seulement possible d'Ă©crire du code merdique, mais c'est aussi nĂ©cessaire - c'est acceptĂ©, et ils paient mĂȘme pour cela.

En consĂ©quence, la capacitĂ© d’écrire du code de haute qualitĂ© n’a aucune chance de se dĂ©velopper. Le code Ă©crit par un employĂ© conditionnel n'est jamais vĂ©rifiĂ© par personne. La seule raison pour laquelle il apprendra Ă  programmer normalement est la motivation interne.

Mais cette motivation interne entre en conflit avec les plans et les exigences d’efficacitĂ© et de productivitĂ©. Cette contradiction n’est clairement pas rĂ©solue en faveur d’un code de haute qualitĂ©, car les gens ne critiquent mĂȘme pas les gens pour leur code merdique. Et pour l'Ă©chec de la rĂ©alisation du plan - quand mĂȘme.

Que dois-je faire? Je vois et propose deux chemins qui peuvent se combiner.

La premiĂšre consiste Ă  montrer votre code Ă  une personne au sein de l’entreprise. Pas de maniĂšre rĂ©active (lorsque demandĂ©/forcĂ©), mais de maniĂšre proactive (euh, mec, regarde mon code, s'il te plaĂźt). L'essentiel ici est de ne pas publier de morve sucrĂ©e, de ne pas essayer de critiquer le code sous une forme polie. Si le code est de la merde, nous le disons : le code est de la merde. Avec des explications, bien sĂ»r, et des recommandations pour l'amĂ©liorer.

Mais ce chemin est Ă©galement mĂ©diocre. Son applicabilitĂ© dĂ©pend du point oĂč le contact a eu lieu. Si le travail est dĂ©jĂ  entrĂ© en production et qu'il s'avĂšre que le code est de la merde, cela n'a aucun sens de le refaire. Plus prĂ©cisĂ©ment, les raisons - les mesures s'affaisseront Ă©galement. Les managers se prĂ©cipiteront et vous Ă©craseront avec leurs exigences d’efficacitĂ©. Et n'essayez mĂȘme pas de leur expliquer que le code merdique reviendra certainement sous forme de bugs - cela se retournera contre vous. Vous ne pouvez que vous engager Ă  ne plus recommencer.

Si le travail n'a pas encore été livré ou vient de commencer, alors verser de la merde sur le code (ou son projet, son idée) peut avoir une signification assez pratique - la personne le fera normalement.

La deuxiĂšme façon, la plus intĂ©ressante, consiste Ă  rĂ©aliser du dĂ©veloppement open source en dehors des heures de travail. Quel est le but : qu'un groupe de programmeurs, Ă  savoir des programmeurs, voient votre code et en parlent. Tout le monde au sein de l’entreprise n’a pas le temps. Mais les programmeurs du monde entier n'ont toujours rien Ă  faire, et si vous Ă©crivez quelque chose d'utile du point de vue de l'application, ils regarderont certainement Ă  l'intĂ©rieur.

L'astuce principale, Ă  mon avis, est d'Ă©crire du code en dehors des heures de travail, car la contradiction entre la qualitĂ© du code et la rapiditĂ© de livraison du rĂ©sultat ne fonctionnera pas. Écrivez votre dĂ©veloppement pendant au moins un an. Ni les dĂ©lais, ni les spĂ©cifications techniques, ni l'argent, ni le patron ne vous mettront la pression. LibertĂ© et crĂ©ativitĂ© totales.

Ce n'est que dans la créativité libre que vous comprendrez et ressentirez ce qu'est un bon code, que vous verrez la beauté du langage et de la technologie et que vous ressentirez le charme des tùches commerciales. Eh bien, vous apprendrez à écrire du code de haute qualité.

Certes, cela vous demandera de consacrer du temps personnel. Comme tout autre dĂ©veloppement. ConsidĂ©rez cela non pas comme un coĂ»t, mais comme un investissement – ​​en vous-mĂȘme.

Source: habr.com

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster