
Je me suis assis un putain de jour sur la tâche. Il était nécessaire de concevoir un module indépendant, et les personnes ayant une forme sévère de perfectionnisme ne devraient pas se voir confier des tâches de conception.
J'ai eu une semaine - une infinité entière, dont je n'avais pas assez. Encore et encore, je suis passé en revue les options d'utilisation de ce que je devais faire, mais l'image du module idéal ne collait pas. Il y avait toujours un cas qui montrait bien: un tel design c'est de la merde. J'ai pensé, joué de la guitare, essayé d'écrire bêtement sur le moniteur, googlé, joué avec des enfants, repensé - la tête était toujours occupée par un module stupide.
Le dernier jour, j'étais à la limite, j'ai passé vingt heures au travail sans sortir. Et maintenant - dimanche soir, je veux vraiment dormir, mais je suis toujours assis et j'essaie de trouver un nom approprié pour une classe dans mon pseudo-code, dont le design, bien sûr, va à la poubelle dès que je le termine, parce que c'est trop imparfait. Quelques heures avant la déduction, je n'avais que la semaine qui a été tuée par les perquisitions.
Lundi matin, j'ai envoyé une demande de retrait. Il a été reçu avec enthousiasme. Mais la façon dont je suis allé ... Je n'ai jamais pensé que j'oserais faire ça.
Ils disent que le développement est un travail collectif. Je dirais différemment: tout est collectif en développement, sauf le développement lui-même. Un résultat collectif, des discussions collectives, des syncaps, où vous parlez de plans. Mais le processus de travail sur le code lui-même est simplement isolé solipsiquement des autres.
Lorsque les tâches sont réparties (et la description de la tâche représente 1% du cas), chacune pour soi. Vous réfléchissez seul à votre code, l'écrivez seul - et Dieu interdit à quiconque de regarder votre moniteur en ce moment. Vous sortez de votre tête dans les gens quand vous avez déjà quelque chose à leur montrer. Vous discutez, puis vous isolez à nouveau dans votre solitude.
Montrez un croquis non préparé - un désastre. C'est comme si on vous voyait non seulement nu, mais sans peau, sans crâne. Ils verront toutes vos pensées imparfaites habituelles qui n'ont pas encore pris forme dans des décisions intelligentes.
Autrement dit, le «travail collectif» n'est pas une sorte d'organisme à dix cerveaux, où tout ensemble, tout est dix fois plus rapide, meilleur et baigné de synergie. Le travail d'équipe est tout de même le travail seul, avec juste le rituel de jeter fait seul dans un tas.
Dans les projets finis, des lignes de centaines de personnes sont mélangées et, fusionnant en un seul fichier, elles perdent leur paternité. Mais vous ne pouvez pas venir dans l'équipe et dire "ici vous avez mes mains, le cervelet et l'arc droit du cerveau, prenez-le, tapez le code avec eux". Dans une équipe, chacun fait indépendamment son propre truc. En général, la solitude de la conscience est une chose terrible. On rit de l'idée du solipsisme, comme s'il s'agissait d'une religion de membres stupides. Mais voici l'ironie: tout ce que nous avons à réfuter, c'est seulement notre propre perception subjective.
Pour vous sentir membre de l'équipe, vous devez apporter les résultats de l'équipe, en parler et écouter. C'est toujours le chemin de milliers de compromis. Et j'ai de gros problèmes avec les compromis.
Voici l'un des pires - si vous voulez bien travailler, vous devez parfois écrire du mauvais code pour respecter les délais. J'ai essayé et je n'ai pas pu. Je ne sais pas si c'est une maladie, des coûts ou autre chose, mais je ne peux pas commettre ce que je considère comme de la merde. D'une part, il semble que ce ne soit pas un problème. La qualité de mes décisions crée ma réputation de gars qui travaille à juste titre depuis longtemps. Ils ne me donnent jamais de puzzles qui brûlent, car je vais immédiatement commencer à "baiser le cerveau de tout le monde". Ils me demandent pourquoi pendant si longtemps, j'explique clairement quels problèmes j'ai essayé de résoudre, pourquoi ce n'est pas anodin, et pourquoi il était important de le faire de manière très qualitative. Ils ne m'écoutent pas, mais ils me croient.
Pour une raison quelconque, il est si important que les gens pensent - non seulement mes résultats sont parfaits, mais aussi mes pensées. Et si quelqu'un voit mon processus de réflexion en code brut, il m'exposera immédiatement.
Bien sûr, je me suis trop souvent retrouvé dans des situations où je n'avais pas assez de compréhension ou de cervelle pour rendre la tâche parfaite. Mais j'ai toujours cru que seuls les faibles demandaient de l'aide. Cela fait également partie de l'auto-tromperie. Apparemment, pour devenir digne d'une équipe, il faut pouvoir être totalement indépendant.
En d'autres termes, pour que je me sente rassasié, je veux être à la fois dans l'équipe et seul au sein de celle-ci. Sentez-vous la contradiction? Moi aussi, mais je ne peux rien faire. Et le chemin de la tromperie et de l'auto-tromperie m'a toujours semblé plus agréable que le chemin du compromis.
J'ai un ami, également développeur. Nous n'avons jamais travaillé à un seul travail, nous avons des piles complètement perpendiculaires, mais nous avons beaucoup discuté de la programmation. Travaillant à peu près aux mêmes postes, nous aimions beaucoup nous rencontrer et nous tourner les uns les autres, à quel point nous sommes cool dans notre travail.
Au moment où vous avez été appelé pour la première fois - foutu, c'est arrivé avec nous en même temps. En discutant, nous avons ridiculisé nos collègues (parfois maquillés), car notre amitié avec lui a toujours comporté un très haut degré de compétition et de respect mutuel. C'était impossible juste de venir dire: "Antokha, mais aujourd'hui j'ai vraiment foiré." Nous sommes deux imposteurs qui gonflent leur estime de soi à une échelle astronomique afin d'être sauvés de leur inutilité.
Mais quand ma semaine de conception de modules a pris fin, il n'y avait pas d'échappatoire à l'inutilité.
Antokh m'a appelé sur Skype. Je voulais discuter à quel point il était cool aujourd'hui qu'il était impoli envers PMU, qui ne comprend pas comment fonctionne le développement. Apparemment, j'étais tellement désespéré que l'estime de soi ne fonctionnait pas. Je viens de fouiller autour de l'écran, j'ai ouvert la description de la tâche et j'ai demandé: "Comment faire?" C'était une violation puissante du contrat tacite de notre amitié, mais Antokha a simplement dit: "ouvrez l'IDE".
Le code devait être écrit en C #, avec lequel il n'avait jamais fonctionné, donc il m'a traversé la tête - je vais passer beaucoup de temps en vain. Il vaut mieux dormir, et sur un plan pour dire que l’estimation était fausse, je continuerai à travailler. Le fichier texte vient d'être ouvert dans l'IDE, où j'ai décrit la dernière version de la conception du module. Et Antokha à la fois - "J'appellerais cette chose comme ça." Vous pouvez accrocher, le nom est venu parfaitement.
Il a commencé à poser des questions - pourquoi en est-il ainsi, qu'est-ce que c'est, comment ces choses sont-elles connectées. Le travail a commencé à bouillir. Nous nous sommes beaucoup disputés dans le processus, mais c'est comme un code de révision interactif, et qui est fait honnêtement (lorsque vous signalez non seulement des problèmes, mais offrez également une solution). Nous avons rapidement laissé un pseudo-code. Solution, dossiers, interfaces, Dock, implémentations, IoC. Le module n'a pas fonctionné parfaitement, il s'est avéré être bon, et le fait que je n'étais pas le seul à le penser - a facilement vaincu mon perfectionnisme.
Nous avons fait une semaine de travail en quelques heures. Sans fermer Skype, j'ai été heureux de conduire dans git commit, push. Ensemble, ils ont écrit une description de la demande de tirage. J'ai dit que c'était un honneur de travailler ensemble et je me suis couché.
Le lendemain, j'ai commencé à réfléchir à tout cela et j'ai réalisé qu'une merde s'était produite. Antokha ne connaît pas C #, il n'a jamais travaillé avec un sous-réseau, mais il a travaillé avec moi sur un pied d'égalité, sinon mieux. Il se trouve que, connard, est-ce mieux que moi ou quoi?
J'ai tout de suite eu envie de faire son travail avec lui, de me tester à nouveau. Mais comment proposer cela, je ne savais pas. J'ai décidé d'attendre, puis il se demandait, commençant secrètement à étudier sa pile. Et il a demandé. Il fouilla autour de l'écran, montra où il était coincé. J'ai immédiatement vu plusieurs solutions. Ils ont commencé à discuter, il a commencé à coder. Rapide et cool. Je suis un pseudo js, comme un gopher générique, mais je l'ai vraiment aidé. Le raifort sait comment cela fonctionne, mais depuis lors, chaque fois que j'écris le code, j'ai un Antokha imaginaire dans ma tête qui m'aide. Vous essayez involontairement la façon dont votre partenaire pense, et être capable de penser différemment est une qualité très précieuse du développeur.
Il y a cependant un problème. Wacky NDA. Je l'ignore parce que je crois qu'Antokha ne se précipitera pas pour télécharger l'IMessageReceiver jeté sur mon Instagram.
J'ai longtemps réfléchi à pourquoi cela fonctionnait et j'ai décidé que ce n'était pas un nouveau look. Chaque développeur aborde les tâches à sa manière. Il y a des choses qu'une personne avec ma façon de penser décide en une minute, mais il y a celles où mon cerveau se plonge simplement dans un dédale désespéré de décisions incorrectes.
Mais le concept de travail d'équipe qui existe maintenant ne fonctionne pas. Lorsque vous avez peur d'être un maillon faible, il est effrayant de réaliser que votre contribution est inférieure à celle des autres. Et si vous êtes faible dans quelque chose - l'équipe vous expulsera.
J'ai entendu dire que les scénaristes qui s'assoient ensemble et complotent sur le terrain ont le terme de «dénuement émotionnel». C'est un état où les gens n'ont pas du tout peur de penser à voix haute et en public, et les pensées des autres sonnent comme les leurs. Donc, si vous vous trouvez un partenaire avec lequel vous pouvez travailler aussi facilement qu'avec vous-même, considérez que tous vos problèmes professionnels ont été résolus.
Le remède le plus puissant pour tous les doutes et les plaies professionnelles est lorsque quelqu'un traite normalement votre imperfection.