Mauvais conseils à l'employeur. Comment interagir "correctement" avec le développeur

J'ai eu de la chance récemment - je travaille pour des entreprises où les développeurs sont vraiment respectés. Mais ce n'était pas toujours le cas, j'ai dû faire face à différentes approches de l'interaction. Je voudrais dire que la «morale sauvage» appartient au passé, mais les histoires de mes collègues sur leurs lieux de travail antérieurs et mes observations sur le marché réfutent cette affirmation.

Eh bien, parlons de la façon d'interagir "correctement" avec le développeur, par exemple, personnellement avec moi ...

image

(Si vous êtes allé à la rivière avec toute votre famille,
n’empêchez pas papa et maman de bronzer sur la plage.
Ne criez pas, donnez une pause aux adultes.
Sans déranger personne, essayez de vous noyer, - Grigory Oster) ...


Lorsque vous planifiez mon emploi du temps ...


... souvenez-vous que le meilleur de tout, je travaille en mode d'urgence, dormant 3 heures après la session de codage de 40 heures d'hier. C'est à ce moment que 2 moniteurs se transforment visuellement en 4, et le code commence à exécuter des danses amérindiennes au son uniforme d'un tambourin dans la tête. Ce n'est qu'ainsi que vous recevrez de moi des idées non standard, pourrait-on dire, brillantes. Dans cet état d'urgence, le code commence à ressembler à de longues nouilles. Il aurait un attribut de fichier «écriture seule» s'il en existait un. Vous ne pouvez lire un tel code qu'en plongeant dans le même état d'urgence que celui dans lequel je l'ai écrit.

Malheureusement, les chefs d'équipe essaient de consacrer plus de temps à l'évaluation des projets, ce qui entrave la formation d'une urgence. Par conséquent, la meilleure façon est de passer la moitié du temps déclaré à coordonner la date de sortie et à discuter du projet «sur la table» (secrètement, sans laisser de traces). Rappelez-vous, le décodage des savoirs traditionnels est mon passe-temps préféré, et il apporte la précipitation.

Plus précisément, je recommande de changer l'essence de la tâche ou de la transférer complètement à une autre équipe - surtout j'aime ces projets qui arrivent de façon inattendue que les contractants précédents ne pouvaient pas gérer, et maintenant je dois être à l'heure, quoi qu'il arrive. Ainsi, les 5 derniers jours avant la sortie seront les plus productifs!

Soit dit en passant, voici un «hack de vie» tiré d'une de vos œuvres passées. Quelques jours avant la sortie, vous pouvez vous faire une règle de vous connecter à Skype pendant 18 heures par jour et d'écouter le cliquetis des clés et le marmonnement réfléchi pour être sûr que je ne me suis pas endormi et écrire le "code", et le prochain client ne vous tirera pas dessus.

Si vous ne parvenez pas à réduire les délais, réduisez au moins l'équipe. N'oubliez pas: l'urgence peut se faire dans n'importe quel projet, si vous licenciez rapidement et tranquillement la moitié des développeurs. Une idée encore plus prometteuse est qu'après avoir tiré la moitié, vous pouvez en recruter d'autres, inexpérimentés, et mieux c'est. Mais je peux aussi enseigner aux enfants dans les situations d'urgence, en corrigeant simultanément leur code avec le deuxième hémisphère.

N'oubliez pas que je dois être en bonne forme à toutes les étapes du travail, y compris lors de la planification. Si j'évalue la tâche à quatre heures de travail, n'hésitez pas à appeler le client deux. Il est clair que j'ai réservé une réserve de temps pour l'oisiveté.

Après avoir assigné une tâche, n'oubliez pas que je dois être distrait au moins une fois toutes les 5 minutes. Si je suis assis dans les écouteurs, je dois leur demander de décoller. Après tout, si vous ne vérifiez pas ce que je fais, je ne travaillerai pas non plus ou je me sentirai abandonné et seul! Je peux aussi soupçonner que vous ne faites rien, puisque vous n'êtes pas inquiet du sort du projet.

Le moyen le plus simple est de m'inscrire à tous les mailings Jira, à toutes les chaînes publiques Slack et aux autres notifications disponibles (sans appel). Veuillez me fournir une liste de tous les canaux de communication nécessaires. Et n'oubliez pas de prendre le téléphone de mes proches, sinon je dors profondément.

Puisque vous avez la tâche de "cingler" régulièrement toute l'équipe, habituez-vous à écrire quelque chose comme @chanel ou n'importe quel message dans Slacktoutafin que chacun reçoive une notification indépendamment des paramètres du client. Et demandez une réponse au plus tard 5 minutes plus tard (qui ne répond pas, vous pouvez appeler le téléphone)! Sinon, comment vivra l’équipe sans signaler que le chat de la secrétaire fête son anniversaire aujourd'hui?

Soit dit en passant, vous devez travailler avec les canaux de manière exhaustive. Il existe deux stratégies optimales: soit ne partagez rien dans le sens, discutez de tout avec tout le monde dans une seule fenêtre, ou utilisez le fait que les programmes modernes vous permettent de créer des milliers de chaînes et essayez de mettre chaque problème séparément. L'essentiel - ne supprimez pas les canaux inutilisés. Et puis tout à coup leurs abonnés veulent se sentir impliqués, mais apprécient consciemment le zen du silence?

Si vous ne savez pas comment me motiver ...


... trouver des excuses pour chaque bug trouvé lors des tests.

C'est évident, si j'étais quelque part près du code, même si je n'y suis pas monté, alors je l'ai cassé! Ne cherchez pas dans le blâme git, vous pouvez y trouver l'auteur d'une ligne de code. Et puis vous me priverez du plaisir de republier sur Instagram un autre chef-d'œuvre avec une pensée joyeuse: "Ce n'est pas moi."

Mais l'essentiel ici n'est pas d'aller trop loin. Si vous pensez que j'ai vraiment gâché, essayez de garder le silence au contraire. Sinon, comment vais-je avoir une idée de la fragilité de toutes choses (y compris la futilité de mon propre travail)?

Oui, et oubliez le mantra «tout code de projet est commun», il offense les vrais auteurs et viole le droit à la propriété privée.

Pour augmenter la productivité, vous pouvez également m'amener à un client scandaleux, afin qu'il exprime en face tout ce qu'il pense de la dernière version. La strate des managers dans ce cas gâchera le sentiment même de vivacité qui ne serait pas possible sans de bons abus tôt le matin. Demandez au client à l'avance de transférer ses frais à la personne. L'essentiel est de s'assurer que l'avis du client n'est pas positif, sinon je vais me détendre et généralement arrêter de travailler.

Si un client refuse de donner son avis aux développeurs, passez vous-même toute la négativité. En même temps, il est souhaitable d'embellir un peu. N'oubliez pas - la motivation a été formée à partir du mot «tapis». Dans un cas extrême, vous pouvez appeler un testeur émotionnel qui ne voit que des bugs dans son travail et est heureux de dire à quel point l'application que nous écrivons est mauvaise. Et puis (voir ci-dessus) je vais me détendre.

J'écris du code parfait pour le code parfait. Je ne suis pas du tout intéressé par la façon dont ce code est ensuite utilisé et s'il est utilisé du tout. Pas besoin de me distraire avec une réaction positive ou, plus encore, négative à la fonctionnalité que nous faisons. «J'ai écrit et oublié» - mon slogan. Pourquoi ai-je besoin des remerciements des utilisateurs? Peut-être même leur donner un autographe?

Distribuez des raccourcis à tous les employés. Laissez-vous avoir Petya, qui "travaille toujours lentement" et Vasya, qui "tond toujours". Et il devrait aussi y avoir Maxim qui a fait ce «module XXX», et lui seul peut y apporter des modifications. Sinon, comment les nouveaux employés navigueront-ils dans l'équipe?

Le plus souvent, rappelez-vous que Petya est lent, réprimandez Petya en public, afin que tout le monde comprenne clairement pourquoi. Rappelez-vous: les employés ne changent pas et ne se développent pas - cela n'a aucun sens de vérifier si le même Petya est corrigé après un an de travail dans l'entreprise. Si tout à coup Petya fait la tâche rapidement, il vaut mieux le féliciter en tête-à-tête. Et puis soudain, mes collègues oublient que Petya est encore lent? Eh bien, en général, réprimandez publiquement et félicitez PM.

Trouvez un animal de compagnie dans l'équipe et louez davantage sa dignité, même s'il ne remplit même pas la moitié des tâches qui lui sont assignées. Laissez-le obtenir les tâches les plus intéressantes. Une telle «main droite» devrait être dans chaque patron. Mais comment tenir un poste de direction sans soutien?

Grande secousse - salaire retardé. Si l'argent n'arrive pas à temps, je me souviendrai certainement que je travaille pour l'argent, je vais accumuler mes pensées et commencer à mieux travailler. L'effet sera plus important si vous masquez soigneusement les nouvelles de l'entreprise. Que tout le monde pense que quelque chose se passe, mais personne ne peut comprendre quoi exactement. Et soutenez ceux qui, avec l'aide de leur imagination, aggravent la situation. Les rumeurs les plus terribles sur l'avenir du projet qui vont en équipe, le calme travaille le développeur, qui a une hypothèque pour l'éternité et une femme avec de jeunes enfants derrière lui.

Si le projet se termine, restez silencieux jusqu'à la fin. Soudain, cela coûtera et le client décide de répéter la même chose, en réécrivant sur un cadre à la mode?

Mais en général, la motivation est mon défi. Votre tâche consiste soit à ne pas me remarquer fondamentalement, soit à vous retirer de la zone de confort, comme le conseille Internet. Sinon, comment vais-je développer? Si vous voyez que je n'aime pas les mitaps et les soirées de programmation, faites-moi y aller. Et vice versa, dès que j'ai tendance à un tel passe-temps, chargez-vous de travail pour qu'il n'y ait plus de temps pour les fêtes. La zone de confort ne se quittera pas!

Si vous voulez me confier une tâche ...


... formuler des savoirs traditionnels aussi courts que possible. Rappelez-vous: la brièveté est la sœur du talent, car je peux deviner tous les détails sur trois litres de marc de café restants de la dernière version sans sommeil. Formulation idéale: "Tout devrait bien se passer!"

Si l'introduction vient de l'analyste trop compréhensible, n'hésitez pas à réduire! Seulement du texte, pas de captures d'écran. Encore mieux - une vidéo à Viber, dans laquelle vous, pendant que vous conduisez, parlez pendant 20 minutes de la situation sur la route, et dans la dernière minute ne signalez rapidement que l'existence de la tâche.
Si vous devez soudainement appliquer des liens vers des maquettes ou de la documentation à la tâche, essayez de faire le lien avec des projets fondamentalement différents, au pire - avec différentes versions d'un projet. Sinon, ce sera trop facile. Et quel genre de développement sans quête au départ?

En savoirs traditionnels, en aucun cas il ne devrait y avoir d'informations sur la version exacte du navigateur ou du système d'exploitation, aucun lien vers des documents dans lesquels une erreur s'est produite.

Il n'y a rien de plus précieux que la communication humaine. Vous me remonterez le moral si vous l'envoyez au concepteur pour les maquettes, pour les détails de la tâche pour l'analyste, pour la spécification de l'API pour le client. Bien qu'il ne fasse pas partie de notre équipe, il s'ennuie aussi et veut parler.

Soit dit en passant, il vaut mieux se préparer à l'avance pour cette étape. En aucun cas, ne discutez pas les détails de la tâche dans un canal commun, mais quelles bonnes choses j'apprendrai trop à ce sujet et ne passerai pas directement aux collègues avec des questions. De plus, après avoir vu la communication du gestionnaire de tâches dans le canal commun, je pourrais penser que le PM est occupé ... et est-ce possible? N'utilisez que des messages personnels - la fragmentation des connaissances sur le projet est donc plus élevée!

Pour la même raison, vous ne devriez pas me fournir indépendamment un flux de tâches pour le développement. La tâche doit être méritée - trouvez-la auprès des mêmes concepteurs, analystes ou testeurs. Soit dit en passant, une partie des tâches de ces mêmes analystes et testeurs peut toujours être imputée à moi. Il est généralement admis que c'est le développeur qui écrit et prend en charge les tests automatiques de l'interface utilisateur! Mais le développement peut être retiré de moi. J'adore commencer à faire la tâche, puis la confier aux «inachevés» selon les directives des autorités!

Toute tâche pour moi devrait s'accompagner d'un maximum de bureaucratie. Sinon, comment être sûr que c'est vraiment important?

Les rapports sur le travail effectué doivent être aussi détaillés que possible. Si je n'ai pas besoin de m'inscrire dans quelques systèmes de suivi du temps (équipe et entreprise, par exemple), je sentirai que personne n'apprécie mes efforts. Seule la duplication des informations assurera le bon niveau de sécurité! Il est souhaitable que le formulaire de déclaration soit différent.

Il convient de convenir que la durée des tâches effectuées par semaine ne doit pas être inférieure à 40 heures. Assurez-vous de tout considérer, même des pauses de 2 minutes. Si à ce moment l'employé n'a pas mis le tracker en pause - action disciplinaire!

Vérifiez les rapports de temps au moins une fois par semaine, en organisant un appel général pour analyser chaque ligne. Et enfin, calculez la vitesse moyenne des encodeurs - tout le monde sait que la durée de la tâche est directement proportionnelle au nombre de lignes de code écrites!

Définissez la condition pour faire correspondre cette vitesse en tant qu'indicateur de performance clé du développeur, de sorte que le salaire en dépende également. Et puis de simples conversations que la tâche a durées plus longtemps que prévu ne vous permettent pas de ressentir l'importance du processus.

En parlant d'appels téléphoniques et de rassemblements ... il devrait y en avoir autant que possible! Pour toute question, réunissez toute l'équipe! Et toujours au moins un peu, mais soyez en retard. Honnêtement, je ne connais pas d'autre moyen de souligner mon importance initiale. N'essayez pas d'avertir la personne ajoutée à l'appel, ce qui sera discuté. Qu'il montre comment il sait sauter d'un endroit à une carrière. Laissez-les se procurer à l'avance des liens vers n'importe quel sujet et jonglez-les instantanément. Ou laissez-le les chercher dans un silence douloureux dans des messages privés avec le créateur, le reste attendra. Le reste peut généralement coder pendant un appel.

Pendant la réunion, discutez de toutes les questions qui vous viennent à l'esprit. Si même des incohérences privées, qui sont généralement résolues en face à face, sont évoquées pour discussion, la journée sera plus productive. Ainsi, par exemple, pendant la journée, vous pouvez poser toutes les questions sur la tâche actuelle de chaque employé. Ainsi, le temps quotidien de 10 minutes peut être étiré jusqu'à 2 heures.

Et pour avoir la possibilité de convoquer à nouveau une réunion sur le même sujet, ne formulez jamais de décisions au final (et si elles devaient être mises en œuvre?) Comptes rendus des réunions? Pourquoi? L'enquêteur a les protocoles et nous sommes des «trenduns» pacifiques. Si vous l'avez toujours oublié et que quelqu'un a formulé ces actions avant vous, essayez de les ignorer.

Si vous prévoyez une version ...


... rappelez-vous que le meilleur moment pour déployer est vendredi soir. Tout de même, tout le monde a des jours de congé gratuits, nous corrigerons donc rapidement toutes les erreurs de production avant le début du prochain sprint.

Et n'oubliez pas de laisser les numéros de téléphone personnels de toute l'équipe au client. Ceux qui introduisent la pratique du devoir ont tort. Le week-end après la sortie, toute l'équipe attend avec impatience un appel client. Le meilleur moment pour discuter est 23h59 vendredi, quand je commence à souffrir que le travail soit terminé et qu'il y a tout un week-end à venir. Le repos avec la famille est une chose gratuite, je serai heureux de le déplacer.

Tout le monde sait qu'il est nécessaire de sortir une solution en production le même jour que la sortie d'une API importante impliquée dans cette solution. L'arrière doit rencontrer l'avant plus proche de la production, l'intégration est un mot incompréhensible. Et n'écoutez pas ceux qui disent que le développement est une affaire d'équipe. Les concepteurs, analystes et testeurs du projet dans les phases initiales n'ont rien à voir. Connectez-les à la fin, mieux - un jour ou deux avant la sortie. Et en passant, le prochain sprint, même pour eux, ne peut pas commencer à cuisiner avant de terminer celui-ci.

Construisez le processus de sorte que je doive changer de contexte aussi souvent que possible. Laissez la file d'attente de test être maximale afin que ma demande de pool soit testée au plus tôt quelques semaines après l'avoir passée. Les corrections ne seront meilleures que si j'aborde chaque bug, comme pour la première fois.

Ne créez en aucun cas des stands séparés pour différentes branches de développement. Sinon, comment vérifiez-vous l'influence mutuelle des différents changements sur la version? Et assurez-vous de l'utiliser dans le développement de la base de données avec la production. Ce n'est que de cette manière que toute l'équipe ressentira un niveau de ralliement d'adrénaline. Eh bien, les testeurs ne seront heureux de se détendre qu'après le «killer commit» de l'ennuyeux et seul stand.

Si vous obtenez accidentellement un spécial de niveau supérieur ...


... en aucun cas ne lui permettez pas de tâches ordinaires. Il est beaucoup plus efficace de l'embaucher 10 Jones comme «apprentis» pour qu'il les transforme en intermédiaires en quelques mois. Il est spécial, donc il réussira! Envisagez d'obtenir toute l'équipe pour environ le même prix. De toutes les manières possibles, empêchez-le de prendre des tâches et d'écrire lui-même du code, même si un cerf-volant survole l'architecture du projet et ne voit le projet qu'à l'aide d'une revue. Retardez la révision du code pendant quelques semaines, ne précipitez pas les gars, vous n'avez pas le temps d'expliquer pourquoi.

L'essentiel - n'augmentez pas le salaire des professionnels formés. C'est la bonne étape pour mettre à niveau l'équipe. Pourquoi ne pas «serrer» les personnes déjà formées et ne pas forcer les seniors à apprendre une nouvelle fête? Du sang frais dans l'équipe est toujours utile. Et les autres entreprises sauront que vous êtes une véritable forge de personnel. Ils l'apprécient, croyez-moi.

S'il n'y a pas de jones, qu'il en soit ainsi, donnez-lui toutes les interviews et les tâches les plus intéressantes. Le reste de l'équipe sera heureux de ne pas avoir à le faire lui-même. Après tout, tout le monde est ravi de la routine!

Les modules que ce senior écrira ne devraient rester qu'avec lui - personne ne devrait avoir le droit de les toucher. Pourquoi revoir et refactoriser si vous avez l'idéal entre vos mains? Et ne montrez pas ce code aux débutants. Et puis soudain, ils comprennent quelque chose là-bas ou offensent l'aîné à l'aide d'un examen? Chick-chick - et au maître.

Si vous souhaitez mettre à niveau la pile technologique ...


... pensez: plus la technologie est récente, plus elle est douteuse. Il n'est pas nécessaire de se précipiter pour passer à de nouvelles versions et de nouvelles langues si au moins la moitié de l'industrie ne l'a pas encore fait. Laissez les autres cônes de migration se bourrer d'eux-mêmes. Ils disent la vérité - les nouvelles technologies sont plus faciles que les anciennes. Mais nous sommes des professionnels! Nous pouvons travailler sur le difficile! Vous n'avez pas gagné le meilleur pour dépenser de l'argent et du temps sur des simplifications. Si les développeurs travaillent depuis longtemps, associez-les au fait que les technologies anciennes et bien connues ne sont pas demandées sur le marché. Bingo!

Et si vous choisissez une technologie moderne pour un nouveau projet, comment le client comprendra-t-il que nous sommes une équipe professionnelle? Et si vous avez votre propre framework et un tas de bibliothèques de code, un constructeur de constructeur universel, vous ne pourrez jamais être mis à jour du tout.

Si un développeur essaie d'apprendre quelque chose sur les nouvelles technologies derrière votre dos, développant des projets pour animaux de compagnie, essayez de charger sa tâche principale plus difficile. Je me développe dans la direction technique uniquement pour m'éloigner de vous pour beaucoup d'argent (et plus vite).

Au fait, oubliez de refactoriser le projet. Nous, les développeurs, avons trouvé ce libellé pour amuser notre fierté. Et ne cherchez pas un nouveau regard sur le code des autres membres de l'équipe ou des équipes voisines. Comme je l'ai dit, nous écrivons du code parfait pour un code parfait. Il n'y a pas besoin de révision. Même si le développeur travaille seul et ne voit pas le code de quelqu'un d'autre, le sien sera parfait. Si la révision est néanmoins requise par le client, rendez cette procédure purement formelle. Laissez le réviseur avoir la possibilité de cliquer simplement sur la coche verte sans lire l'essentiel. N'essayez pas de créer des tâches de clôture de dettes techniques et de refactoring, c'est un gaspillage de ressources.

Si tu m'emmenais au bureau ...


... ne dépensez pas d'argent supplémentaire pour les meubles. Je peux m'asseoir sur une chaise pour 500 roubles. VHI est - alors nous allons sauvegarder notre dos.

Et ne placez pas de barres horizontales et de tapis roulants dans le bureau. Et puis les développeurs deviendront des coureurs au lieu de fumer de manière productive. Quel est le code parfait quand ils se faufilent depuis des jours?

En réfléchissant au calendrier, essayez de le rendre aussi serré que possible. Les développeurs aiment-ils dormir le matin? Rien pour se détendre! Laissez tout le monde venir à 8h00. Avez-vous trouvé ceux qui aiment ça? Modifiez l'horaire. Maintenant, laissez tout le monde venir à 10h00 - à travers les embouteillages. L'essentiel est que tout le monde se sente aussi mal - cela rallie l'équipe! Nous avons déjà dit que je devrais être aussi mal à l'aise que possible. Le graphique en ce sens laisse un large champ de manœuvre. Pénalité pour retard, course devant la porte du bureau - quoi de plus amusant? Fournir une journée de travail à distance à un employé de bureau? Fuh, un mauvais rêve, ne me souviens pas.

Si vous m'avez engagé pour travailler à distance ...


... essayez de me contacter le moins possible! Le travail à distance a été créé afin de ne pas parler avec d'autres Homo Sapiens.

Soit dit en passant, je suis allé à udalenka précisément pour ne pas communiquer avec la partie de l'équipe qui est restée au bureau. Laissez-les prendre leurs décisions de conception dans un fumoir et de préférence sans moi. Pourquoi devrais-je y participer?

Ne me laissez pas déterminer moi-même les horaires de travail. Si tous les collègues de bureau arrivent à 12 ans, le télétravailleur doit quitter le lieu de travail à 12 ans. Et puis qu'est-ce que cette udalenka, si vous ne changez pas le programme de la nuit?

L'essentiel est de donner moins de liberté à l'électeur dans le choix d'une montre. Je peux difficilement apprécier le sérieux de l'employeur s'il ne peut insister sur ses conditions. Et rappelez-vous, le plus éloigné est celui qui est toujours devant l'ordinateur. C'est pratique, ne regardez pas les heures de travail, ils ne les respectent pas. Si vous ne dérangez pas les travailleurs à distance le soir, ils peuvent avoir quelque chose à commencer. Par exemple, famille ou enfants.

Auteur de l'article: Eugene Wetzel ( @imater )

PS Mon histoire n'a que des coïncidences fantomatiques avec la réalité. Honnêtement, je les ai expérimentés pendant un certain temps à des doses homéopathiques, d'autant plus que je ne suis pas un développeur ordinaire depuis un certain temps. Mais je me souviens parfaitement de mes sentiments et de mes pensées.

Et la morale ici est simple: si nous y réfléchissons et essayons de prendre ces «conseils» (avec le bon signe, bien sûr) en considération lors de la planification du travail, tout le monde se sentira un peu plus à l'aise. Et puis, pour voir tout cela sous un angle différent, nous donnerons des conseils néfastes aux programmeurs de l'entreprise ... dans le prochain article.

PPS Nous publions nos articles sur plusieurs sites Runet. Abonnez-vous à nos pages sur VK , FB , Instagram ou la chaîne Telegram pour en savoir plus sur toutes nos publications et autres actualités Maxilect.

All Articles