Comment peut-il être mauvais de manquer de travail d'équipe lorsque vous êtes programmeur? [fermé]


17

Je suis toujours à l'école et je sais que j'ai des problèmes avec d'autres personnes.

Je ne suis pas en colère ou timide ou différent, j'aime juste travailler à ma façon et avec mes opinions tout en respectant les autres, j'ai une grande curiosité et une soif de connaissances, mais je manque de pratique et je suppose que les gens ne veulent pas travailler avec moi parce qu'ils pourraient craindre que je parle d'une sorte de moral. (Par exemple, j'ai commencé à apprendre la programmation en utilisant Linux au lieu de Windows, même si j'utilise beaucoup Windows. Et j'ai un Mac).

Qu'arrive-t-il aux programmeurs qui manquent de travail d'équipe? Où commence le problème? Est-ce qu'un bon programmeur compense au moins un peu? Est-il normal qu'un programmeur ait une vision de son travail au lieu de simplement faire ce qu'on lui dit?


17
Il n'y a pas de profession dans le monde d'aujourd'hui où les compétences en communication et en travail d'équipe ne sont pas valorisées.
Fanatic23

2
Pouvoir admettre que vous avez un problème est la première étape vers sa résolution et c'est un bon problème à réaliser que vous avez avant qu'il ne soit trop tard!
Chris

Réponses:


16

Votre comportement est assez courant à votre âge. J'étais comme toi.

La bonne nouvelle est que la plupart du temps, elle évolue dans le bon sens. Vous apprendrez à vous intégrer au sein d'une équipe. Vous allez l'adorer! Mais j'ai rencontré des gens qui n'étaient pas en mesure de le faire et qui sont maintenant bloqués par la dépression.

Selon le style de gestion de votre entreprise, vous serez soit rejeté par votre équipe, soit simplement licencié après un certain temps. Vous devez donc être prêt à affronter certaines difficultés.

Le style de gestion le plus répandu en France est basé sur la peur et la punition. Ce n'est pas une bonne nouvelle pour vous car cela encouragera votre individualisme. Cela encouragera donc votre comportement.

Cela dit, vous savez déjà qu'il y a un problème avec vous, c'est donc une assez bonne indication que vous avez tout ce dont vous avez besoin pour évoluer sans aide extérieure. La première étape consiste à être conscient. Le second, le plus difficile, agit en conséquence.


1
J'ai décidé de ne pas utiliser de gras dans cette réponse parce que j'aime Steven.

15

Cela dépend de ce que le travail requiert. Parfois, vous n'aurez même pas d'équipe pour certaines tâches. Mais la plupart du temps, vous aurez un manager.

De plus, avoir une équipe aide vraiment à vous rappeler de temps en temps que vous écrivez du code de merde. :

En tant que développeur de logiciels, vous êtes votre pire ennemi. Plus tôt vous vous en rendrez compte, mieux vous serez. - Jeff Atwood

Ce qui signifie qu'avoir une équipe facilitera l'apprentissage des choses plus rapidement! Être solitaire fera de vous un ermite;)


2
+1 Excellent pour être rappelé. Les développeurs uniques sont coincés dans une ornière et oublient qu'ils ne sont pas vraiment fantastiques.
Orbling

15

Qu'arrive-t-il aux programmeurs qui manquent de travail d'équipe?

Il devient alors difficile de travailler sur des projets trop volumineux pour un seul programmeur. Difficile pour le programmeur solo et difficile pour le reste de l'équipe.

Où commence le problème?

Toutes sortes d'endroits. Nous avons actuellement un seul programmeur qui travaille mal au sein d'une équipe. Il a tendance à faire des raccourcis qui ont de mauvais effets sur le reste de l'application car il se concentre trop étroitement sur la correction du bug devant lui. Ou écrire la nouvelle fonctionnalité de manière à ce qu'elle ne soit pas compatible avec le reste de l'application. Nous devons réorganiser les choses de sorte que chaque enregistrement de code soit examiné par le reste de l'équipe. Mais afin de ne pas le distinguer, nous examinons également les enregistrements de code de tout le monde, donc avec la réunion d'état du matin, nous ne faisons aucun travail avant le déjeuner. Donc, à notre bureau, cela signifie que 4 personnes perdent une demi-journée de travail chaque jour parce qu'un gars est moche au travail d'équipe. Je ne peux pas dire que c'est une amélioration par rapport aux aventures précédentes, parce que nous pourrions perdre au hasard un jour à une semaine (chassant généralement de nouveaux bugs) de ses check-ins qui cassent les choses (nous appelons ces "robstacles"). Certaines des corrections apportées à son code finiront par éliminer une demi-douzaine de bogues en raison de la complexité et du désordre de l'application (ma recommandation dela neutraliser depuis l'orbite et recommencer parce que c'est la seule façon de s'assurer qu'elle n'a pas été acceptée).

Quand nous sommes d'humeur généreuse, nous l'appelons un "programmeur tête en bas", il a tendance à regarder le clavier et à taper très vite. Il ne fait pas attention à ce que font les autres.

Est-ce qu'un bon programmeur compense au moins un peu?

Non. La plupart des programmeurs qui sont de mauvais joueurs d'équipe ont une très haute opinion de leurs propres compétences, et cela s'appelle l'effet Dunning-Kruger . PDF du papier.

Peut-être: le programmeur solo devrait être bien meilleur que le reste de l'équipe. Mais cela signifie simplement que personne d'autre ne peut maintenir ce qu'il fait; et quand cela se produit, cela signifie probablement que le programmeur solo n'est pas vraiment bien meilleur que le reste de l'équipe - il (et c'est presque toujours un gars) est juste meilleur pour tromper tout le monde.

Dans le développement de logiciels d'entreprise, l'entreprise sera présente longtemps après votre départ. Les programmes ont probablement été écrits avant votre départ et seront maintenus longtemps après votre départ. Si vous écrivez des choses si spéciales et incroyables que personne d'autre ne peut les comprendre, alors vous vous retrouvez dans la situation où se trouve Naughty Dog - leur principal développeur quitte, personne d'autre ne comprend le langage de programmation propriétaire que le gars a écrit (et écrit choses), ils doivent donc maintenant tout basculer en C ++.

Est-il normal qu'un programmeur ait une vision de son travail au lieu de simplement faire ce qu'on lui dit?

C'est fréquent - comme un embouteillage ou un diabète. Je n'appellerais pas ça normal. Dans le monde de l'entreprise, il y a beaucoup d'autres choses à considérer; l'ego fort que de nombreux développeurs ont généralement fait penser au développeur que rien d'autre n'a d'importance. Ce «manque d'adéquation» et ce manque de considération pour le reste de l'entreprise est la raison pour laquelle tant de types de gestionnaires arrivent à la conclusion que les développeurs de logiciels sont difficiles à travailler.


Oui, j'ai déjà pensé à cet effet sans savoir qu'il avait une sorte de nom sur un scientifique. À ce stade, vous ne savez jamais si vous êtes un génie douteux ou une personne stupide et arrogante. Je ne pense pas que je suis arrogant, mais en pensant qu'il y a beaucoup de confusion et de stupidité dans ce monde, je ne sais pas si cela signifie être arrogant. Je sais juste que je ne déclare pas expressément avoir raison, au moins j'exprime des choses par des questions, afin que les gens puissent exprimer leur pensée. Quand on me dit que la liste chaînée est le type ultime de structure de données, je suis sceptique, mais pas arrogant.
jokoon

C'est un peu dur d'appeler les revues de code une perte de temps.
jfs

5

C'est une compétence apprenable. Vous pouvez apprendre maintenant (en essayant simplement de travailler avec les autres) ou apprendre à la dure, sur le tas. (Je suggère le premier.)

Si vous ne pouvez pas travailler avec d'autres personnes, vous ne pouvez pas construire de gros systèmes. Vous ne pouvez pas non plus travailler avec des gens plus intelligents que vous, ce qui signifie que vous ne pouvez pas apprendre autant ou aussi rapidement.


3

Être un bon programmeur compensera un peu mais seulement un peu. En seize ans dans l'industrie, tous les meilleurs programmeurs avec qui j'ai travaillé pouvaient s'entendre avec les gens - cela ne leur est peut-être pas venu naturellement, mais ils l'ont géré et c'était une compétence absolument essentielle. Ceux qui ne pouvaient pas étaient tolérés mais honnêtement pas beaucoup plus.

Pour moi, le principal domaine où la capacité de travailler avec les autres entre en jeu est celui des utilisateurs et des analystes. Peu importe la façon dont vous pouvez coder si vous codez la mauvaise chose et une bonne relation de travail avec les personnes qui définissent le produit est la clé de tout cela.

La première étape pourrait être de mieux comprendre vous-même. Vous dites que vous êtes heureux de respecter les opinions des autres, mais est-ce vraiment vrai? Si c'est le cas, pourquoi impliquez-vous que vous êtes enclin à prendre des positions morales sur des questions (qui tendent à être le contraire du respect des opinions des autres)?

Généralement, s'entendre avec les autres revient à ignorer qui a raison et qui a tort (qui le croit ou non n'est pas pertinent dans 80% des situations) et à se concentrer sur ce qui fait avancer le projet.


3

Aujourd'hui, le développement de logiciels professionnels est avant tout un travail d'équipe. Le meilleur logiciel est produit grâce au partage de nouvelles idées et à une collaboration élevée et sans bricolage par vous-même. L' idéal du codeur cowboy est un obstacle connu pour les équipes. En fait, c'est par définition tout le contraire du travail d'équipe.

Alors oui, avoir de mauvaises compétences en équipe en équipe est très mauvais. Mais si vous êtes honnêtement disposé à travailler avec, il n'y a aucune raison que vous ne finirez pas par être un grand contributeur d'équipe (avec de grandes compétences en codage pour démarrer)!


3

D'autres ont déjà couvert la plupart de ce que j'allais dire, alors j'ajouterai ceci: ce n'est pas parce que vous avez une opinion ou une vision que vous avez raison ou que votre approche est la meilleure. Il y a beaucoup à apprendre des autres si vous ouvrez votre esprit à la possibilité qu'ils aient aussi une opinion et / ou une vision.

Le travail d'équipe consiste à rassembler toutes ces opinions en quelque chose qui s'appuie sur l'expérience collective des personnes impliquées et corrige des défauts qu'une seule personne n'aurait peut-être pas pris en considération.

Ce fut l'une des premières leçons que j'ai apprises sur le tas, et je suis devenu un meilleur programmeur par la suite.


2

Si vous ne pouvez pas collaborer avec les autres et que vous n'êtes pas un génie stellaire né naturellement, vous vous bloquez essentiellement pour travailler sur un projet non trivial, car pour ceux-ci, vous voulez une équipe si rien d'autre que de réduire le facteur de bus.

Si vous n'aimez tout simplement pas le contact physique, mais travaillez bien avec le télétravail ou sur les listes de diffusion open source, alors vous devrez vous spécialiser dans ces compétences permettant de travailler comme ça.


2

Malheureusement, cela peut être un peu problématique car il est rare de travailler sur de grands projets et de ne pas avoir à travailler en équipe. Même si vous travaillez sur un projet de manière interdépendante, vous constaterez généralement que vous devez travailler plus étroitement avec les utilisateurs finaux, ce qui revient tous au travail d'équipe, c'est donc quelque chose de très important.

Cela dit, comme d'autres l'ont souligné, il s'agit d'une compétence apprenante (dans une certaine mesure) et si vous y mettez l'effort. Il y a généralement des cours que vous pouvez suivre ici aux États-Unis dans les grandes villes pour développer des compétences en leadership; cependant, le fait d'être un bon leader consiste également à être un bon suiveur, de sorte que ces compétences sont également développées. De même, être capable de communiquer efficacement en public est parfois une compétence avec laquelle les gens doivent s'entraîner et est lié aux compétences de travail d'équipe, mais est parfois ignoré - quelqu'un qui est incapable de communiquer efficacement pourrait être cité comme n'étant pas un "joueur d'équipe" même si juste besoin de travailler un peu sur leurs compétences en communication.

Cependant, une grande partie du travail avec une équipe consiste à se connaître dans une certaine mesure et à se sentir à l'aise avec soi-même ainsi qu'avec les autres, donc parfois cela ne fait pas de mal de parler à un psychologue ou à un conseiller pour voir s'il y a quelque chose que vous pouvez améliorer. en ce qui concerne le travail avec les autres.

En ce qui concerne votre carrière dans son ensemble, ici aux États-Unis, avoir la réputation de "travailler dur" ou de "ne pas être un joueur d'équipe" peut être extrêmement préjudiciable à vos perspectives de carrière à long terme et je risquerais une supposition qu'il en serait de même dans la plupart des autres pays. C'est également une réputation difficile à ébranler une fois qu'elle a été établie sans passer à une autre entreprise ou peut-être même à une autre industrie, selon le domaine dans lequel vous travaillez.


2

Puisque vous êtes un bon apprenant, il y a encore une chose que vous devez apprendre, que certaines personnes connaissent déjà.

  • Tout le monde est différent et ils sont tous précieux.

Il y a des moments pour être indépendant et il y a des moments pour se ressaisir. Ils sont tous les deux importants.

Puisque vous êtes à l'école, vous pouvez exercer votre curiosité et chercher des façons nouvelles et différentes de faire les choses. C'est une bonne chose.

Lorsque vous travaillez avec une équipe logicielle, vous pouvez apporter vos bonnes idées. Certains seront acceptés. Certains ne le feront pas. Ensuite, vous tous "mettez votre épaule au volant" et faites le travail. C’est aussi une bonne chose.

D'après mon expérience sur les projets, le moral du groupe est bas au début, alors que les gens essaient toujours de se concentrer sur la situation dans son ensemble. Ensuite, le moral monte régulièrement à mesure que des progrès sont réalisés vers l'objectif. Vers la fin, il est très élevé lorsque votre «bébé» vient de «naître». C'est quelque chose que vous ne voulez pas manquer.


+1 Vers la fin, il est très élevé car votre "bébé" vient de "naître". - Sur mon dernier projet, je me sentais exactement de cette façon :-).
Oliver Weiler

@ Helper: Ouais. Ce que je n'ai pas dit, c'est que le niveau redevient bas au début de la phase suivante :)
Mike Dunlavey

Mais ces précieux moments sont la raison pour laquelle nous sommes programmeurs, non :-)?
Oliver Weiler

2

Je peux penser à un certain nombre d'excellents programmeurs qui sont considérés (par beaucoup) comme "assez difficiles à travailler":

Dans cette industrie, je pense qu'une bonne partie d'entre nous attend et suppose que la compétence et la capacité d'exprimer notre compétence sont essentielles. Après tout, nous allons travailler pour accomplir certaines tâches afin de gagner de l'argent, se faire des amis est secondaire.

À un moment donné de votre vie, vous réaliserez l'une des deux choses suivantes:

  1. Vous êtes en mesure d'être aussi sournois, replié, antisocial, cynique ou impoli que vous le souhaitez, car malgré votre comportement, vos compétences (et votre capacité à articuler vos connaissances) mettent fin à tous les arguments.

  2. Vous êtes comme tout le monde et vous devez être capable de travailler en équipe, tout en supportant (et en cueillant le cerveau) des comportements sournois, retirés, antisociaux, cyniques et grossiers de la part d'autres personnes dont les compétences et la capacité à articuler les connaissances mettent fin à la plupart des arguments.

Si vous vous posez des questions à ce sujet, je pense que vous voyez une certaine valeur à participer agréablement en équipe, et peut-être «le faire pour le faire» est une bonne excuse pour explorer la possibilité.

Je te ressemble aussi beaucoup. Je déteste les perturbations, il m'a fallu près de cinq ans pour apprendre à ne pas interrompre et renvoyer les gens. J'ai également travaillé dans des équipes où j'ai appris plus en un mois que je n'aurais pu en un an. N'est-ce pas étrange que vous ne vouliez des gens autour de vous que lorsque vous avez quelque chose d'intéressant à montrer ou à discuter?

Si vous ne l'avez pas encore vu, visionnez le film " Real Genius ". Portez une attention particulière à Lazlo Hollyfeld . Rejoignez une équipe avec un esprit ouvert et n'hésitez pas à emprunter mon pyjama.


2

Il n'y a rien de mal à avoir des opinions bien arrêtées sur la façon dont les choses devraient être. Tout grand programmeur en a beaucoup. Cependant, vous devez vous demander: pourquoi suis-je en train d'écrire ce code?

Si c'est pour votre propre divertissement et que vous pouvez faire tout le travail vous-même, faites ce que vous voulez. Cependant, si vous le faites pour que d'autres personnes l'utilisent, ou si vous avez besoin d'aide, ou si vous vous attendez à ce que d'autres programmeurs le maintiennent après que vous vous ennuyiez, vous devrez commencer à prendre en compte les besoins et les notions des autres.

Avoir une vision c'est bien. Mais cela ne fait vraiment de différence que si vous pouvez persuader d'autres personnes de partager votre vision. Gates, Jobs et Torvalds ont tous réussi à donner vie à leurs visions en fabriquant des produits qui ont servi beaucoup de gens et en les incitant à adhérer à leurs visions. Travailler uniquement à votre façon est plus pur et satisfaisant, mais cela a un coût. Vous pouvez, comme l'a dit Voltaire, laisser le parfait être l'ennemi du bien ("Le mieux est l'ennemi du bien").


1

Le travail d'équipe est une partie importante du génie logiciel. Si vous travaillez seul, vous pourriez ne pas vous soucier de la façon dont les autres sont et de ce que les gens attendent de vous. Mais si vous travaillez avec une autre personne, travailler ensemble compte vraiment. En ce qui concerne les logiciels, ce que vous entendez par travail d'équipe est vraiment un « bien communiquer ». Respectez simplement votre collègue et soyez tolérant envers toutes les idées. Ça devrait aller.


1

Si vous croyez quelque chose, dites-le et pensez-le, mais une fois que vous vous êtes trompé ou surclassé, acceptez-le et apprenez-en. Le travail d'équipe ne consiste pas à s'entendre tout le temps, mais à trouver un moyen d'obtenir les meilleures solutions possibles dans la situation et le calendrier donnés.


1

Puisque vous vous préparez à entrer sur le marché du travail, je vais souligner autre chose.

Les programmeurs débutants ne sont jamais des superstars. Vous ne pouvez pas accéder à un emploi en pensant que vous êtes meilleur que tout le monde parce que, manifestement, vous ne l'êtes pas. Vous avez été en concurrence avec d'autres personnes à votre niveau, alors vous pouvez penser que je suis meilleur que ces personnes, je dois être un excellent programmeur.

Mais quelqu'un qui sort de l'école ne sait pas ce que sait la personne qui a dix ans d'expérience professionnelle. Vous ne le savez tout simplement pas encore. Maintenant, j'admets que tout le monde avec beaucoup d'expérience n'est pas non plus une superstar et le simple fait d'être débutant ne signifie pas que vous ne pouvez pas être un programmeur décent. Cela ne signifie même pas que vous ne pouvez pas devenir une superstar avec moins d'assaisonnement que d'autres personnes (Eh bien, certains ne seront jamais des superstars, mais c'est OK aussi).

Mais vous n'aurez pas la crédibilité pour mettre en œuvre vos idées tant que vous ne serez pas la personne la plus jeune de l'équipe. Pour obtenir cette crédibilité, vous devez être un joueur d'équipe. Vous devez vous renseigner sur le domaine commercial et sur le fonctionnement des entreprises. Vous devez comprendre que vos besoins et désirs personnels ne sont pas pertinents sur le lieu de travail dans la plupart des endroits. Vous allez être embauché pour faire un travail spécifique et produire des résultats. Tant que vous n'en aurez pas produit, les gens seront sceptiques quant à ce que vous proposez, même si vous avez raison. Vous devez suivre la marche avant de pouvoir parler.


Je ne me soucie pas d'être une superstar ou de ne pas en être une, je m'en fiche en fait. Je préfère penser à la mentalité et à la façon dont les gens pensent et / ou préfèrent telle ou telle chose. Il s'agit plus d'opinions et de la connaissance de ce qui se passe dans cette entreprise que d'autre chose. Je ne pense pas qu'un programmeur soit meilleur qu'un autre parce que l'un a fait ses preuves, et je pense que les gens devraient simplement essayer de ne pas tenir compte de ces points.
jokoon

Un exemple: un jour, j'ai lu un article intitulé "le côté obscur du C ++" et j'ai décidé de mettre un lecteur réseau au cas où des personnes curieuses décideraient de le lire. Notre professeur de programmation a commenté ce document et a considéré qu'il s'agissait d'une bonne lecture. Peu importe que je sois plus précieux que les autres programmeurs, mais cela montre que je peux être une bonne source pour enseigner à d'autres qui pourraient ne pas avoir la même curiosité que moi.
jokoon

0

Vous finirez par travailler seul.
Avantages de travailler en équipe:
1- Aide interactive: vous ne serez pas coincé dans un problème pendant des heures / jours.
2- Vous apprendrez des choses que vous ne trouverez pas dans les livres / tutoriels en ligne, les forums.
3- Compétition: alimentera votre motivation à vaincre les coéquipiers.
4- Discussions: c'est mieux que des heures à lire des livres et des blogs.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.