J'ai écouté le podcast de Scott Hanselman et Rob Conery, This Developer's Life .
Dans le dernier épisode, ils discutent des traits de personnalité:
1.0.4 - Être méchant.
Qu'est-ce qui fait que les gens signifient dans notre industrie? Et l'agressivité? Sur de soi? Quelle est la différence? Préférez-vous avoir un sergent instructeur pour un patron ou un maître zen? Nous parlons à Cyra Richardson et Giles Bowkett.
Cela m'a fait réfléchir, quels traits les meilleurs managers pour lesquels vous avez travaillé avaient-ils en commun?
EDIT: Juste pour clarifier, comme il y a eu quelques votes serrés, je suis intéressé à savoir s'il existe des traits communs aux gestionnaires de développeurs qui ne sont pas nécessairement les traits qu'un gestionnaire d'une autre profession requiert.
Quant à savoir si c'est lié à la programmation ou non, eh bien je ne veux pas poser cette question sur un site qui ne concerne pas la programmation parce que, franchement, je ne suis pas aussi intéressé par ce que les gens qui font des boîtes de soupe pour gagner leur vie veulent de leurs gestionnaires car je suis intéressé par ce que les développeurs attendent de leurs gestionnaires.
la source
Réponses:
D'après mon expérience, il s'agit d'une combinaison des éléments suivants:
la source
Joel Spolsky l'appelle la " couche d'abstraction ". Faites ce qu'il faut pour me garder la programmation. Faites-moi savoir ce qui se passe dans l'entreprise, mais gardez-moi en dehors de la politique. Même si je dois encore le faire, reconnaissez au moins que la demande est taureau!
la source
Quelqu'un qui mènera des batailles politiques pour moi et supprimera les obstacles qui m'empêcheront de faire avancer les choses.
Période.
la source
Être disposé à écouter les personnes qui travaillent pour eux.
J'ai eu des gestionnaires très enclins à la technique, et j'ai eu certains qui ne connaissaient même pas le multitâche ("oh wow! Où avez-vous appris cette astuce Alt-Tab?"), Mais la chose que tous ceux En fait, j'ai aimé travailler parce qu'ils savaient qu'ils ne savaient pas tout et étaient prêts à écouter quand ceux d'entre nous qui faisaient le travail qu'ils étaient censés gérer présentaient des idées, des problèmes ou des suggestions à propos de ce travail.
la source
Il protège son équipe et assume ses responsabilités
Un membre de votre équipe plante un serveur avec des données de production. Votre manager assumera l'entière responsabilité. Il finira par refuser de dire à son supérieur hiérarchique qui a commis l'erreur et de se tenir devant ses hommes.
la source
Ils gèrent en fonction des objectifs, pas du temps, et sont principalement concernés par moi pour atteindre ces objectifs
Plutôt que de se préoccuper de combien de temps je reste à mon bureau, ils se préoccupent de ce dont j'ai besoin pour accomplir une tâche donnée. Si cela signifie éliminer les obstacles ou les obstacles, ou me permettre de travailler de longues heures / week-ends, ils sont prêts à troquer le temps. Si je fais le travail plus tôt que prévu et que j'ai besoin de temps pour les rendez-vous chez le médecin ou les activités familiales, ils sont flexibles et compréhensifs.
Je veux certainement être tenu responsable au travail, mais ce devrait être pour ce que j'accomplis, pas pour le temps que je passe à mon bureau.
la source
Tenez-moi à l'écart des réunions auxquelles je n'ai pas besoin d'être. Si les gestionnaires pouvaient simplement y arriver, ils seraient infiniment plus précieux.
la source
Reconnaître que je suis embauché et payé pour prendre des décisions.
la source
Ils vous soutiennent lorsque vous dites NON
L'un des traits les plus démotivants d'un manager est le manque de courage pour défendre son peuple et toujours s'incliner devant son propre patron, même si cela signifie affecter le produit ou l'équipe.
la source
ne criez pas s'il vous plait ... (peu importe à quel point vous êtes stressé par le grand délai, les testeurs stupides, etc.)
la source
Quelqu'un qui me laisse juste faire mon travail.
la source
Comprendre en quoi consiste la programmation. Vous seriez surpris du nombre de gestionnaires qui ne savent rien à ce sujet.
la source
Reconnaître que je suis embauché et payé pour prendre des décisions.
Je ne suis pas un employé des services alimentaires de 7 $ / heure. Je suis ici pour prendre des décisions. Si on me dit chaque détail de ce qu'il faut faire, je pourrais aussi bien être une dactylo.
la source
(Profond) Compétence d' empathie .
la source
Je dois y aller du point de vue des pires patrons pour lesquels j'ai travaillé - un bon n'aurait PAS ces qualités:
Incapacité de prendre une décision _ la pire chose que je connaisse était un patron qui changeait d'avis à chaque fois que quelqu'un lui parlait. Nous avons changé de direction 4 à 5 fois par jour sur un projet de trois ans.
Vole le mérite des choses que les membres de l'équipe font. Une fois que mon patron a reçu un énorme prix, il l'a remis publiquement. Tout ce qu'ils ont mentionné qu'il a fait, je l'ai fait. Inutile de dire que cela est extrêmement démotivant.
Panique quand les choses ne vont pas bien. Pire encore, quand le fait de paniquer le rend méchant. Cela n'aide pas vraiment à faire avancer les choses.
Poignarde son propre peuple. Il obtient le crédit, nous obtenons le blâme. ET ne nous soutient pas dans la chaîne de commandement quand il le devrait.
N'a aucune compréhension du processus de développement de logiciels et ne se soucie même pas d'en apprendre suffisamment pour savoir que nous utilisons C # (ou un autre langage de votre choix). Pense que tout peut être fait en peu de temps et qu'un simple changement à l'extérieur d'une page User_interface signifie que sa mise en œuvre ne prendra pas longtemps. Le genre de personne qui s'assoit sur un changement jusqu'à la veille de la date limite et dit ensuite: "Oh, au fait, nous devons faire ..." et ce qu'il demande, c'est quelque chose qui change l'architecture fondamentale.
Microgère ou ne gère pas du tout. Les deux sont tout aussi mauvais. J'ai eu trop de patrons qui ne savaient pas qu'il y avait un problème avec un employé jusqu'à trop tard et tout le monde devait payer le prix pour réparer le gâchis. J'ai aussi eu des patrons que je devais leur dire d'arrêter de me déranger toutes les cinq minutes sinon ça ne se ferait jamais.
Est politiquement naïf. Si votre patron ne se porte pas bien politiquement avec les gens au-dessus de lui, vous aurez du mal à trouver les personnes dont vous avez besoin, vous aurez les pires espaces et vous êtes dans le groupe le plus susceptible de perdre votre emploi lors d'une mise à pied ou parce qu'il est un moyen facile de se débarrasser de lui. Les patrons doivent être bons en politique de bureau.
Quelqu'un qui pense qu'il peut réduire de moitié les heures d'un projet (parce que le client n'aimera pas ce nombre) et nous pourrons le faire dans ce laps de temps sans changement correspondant des exigences.
la source
Crédit lorsque le crédit est dû et suffisamment de connaissances pour pouvoir l'attribuer
J'aurais bien écouté mais j'aurais plutôt voté pour cela.
la source
Ils font confiance à leur peuple pour faire le travail et n'essaient pas de «rassembler les chats».
Donnez à leurs employés la possibilité de faire des erreurs (pas des erreurs énormes évidemment) et d'apprendre d'eux.
la source
Quelqu'un qui écoute bien
et
Quelqu'un qui met un point d'honneur à me parler au moins une fois par semaine
la source
J'ai eu de bons managers et de mauvais. Voici quelques traits que j'ai notés chez les mauvais gestionnaires:
Éloignez-vous pour pouvoir faire votre travail
Un bon gestionnaire veillera à ce que vous ayez le bon équipement pour écrire du code.
Micro-gère les mauvais détails
Ce type de gestionnaire vous fera oublier de ne pas avoir joint de signature à votre e-mail tout en ignorant le travail supplémentaire que vous avez effectué avant cet e-mail.
N'a aucun intérêt pour le processus de développement
C'est vraiment un mauvais signe pour un manager en charge des développeurs de logiciels. Il ne se soucie pas d'enquêter sur d'autres approches de développement, ne saura pas quel numéro de version devrait être la prochaine version du logiciel, ne lira pas de blogs comme Joel on Software ou quoi que ce soit lié à la gestion de développeurs, comme Peopleware.
Pense qu'il est là pour que je fasse rapport
Ce genre de manager se fait avoir des gens pour lui faire rapport de tout.
Mauvaise allocation du temps
Compte tenu d'un mois pour livrer un projet de développement du début à la fin, ce gestionnaire allouera les 3/4 du mois à l'équipe de conception et d'exigences pour générer des documents de 1 000 mots et s'attend à ce que l'équipe de développement les implémente en une semaine. Il réitérera également les exigences jusqu'à ce qu'elles soient «parfaites», ajoutant de nombreuses quantités de détails jusqu'à ce que le document devienne inutilisable. Mais plus tard dans le processus de développement, vous trouverez des bogues dans la documentation de conception et d'exigences et vous vous rendrez compte que l'accent mis sur la rédaction du document parfait était une erreur.
la source
Je pense que les deux caractéristiques les plus importantes sont une compréhension de base des principes de gestion et le fait d'être "l'un d'entre nous". Malheureusement, les deux ne se produisent pas trop souvent ensemble, mais lorsqu'ils le font, vous avez trouvé une bonne personne pour laquelle travailler.
Là où je travaille, notre chef de projet est un ancien développeur. Il est bon pour hiérarchiser et diriger le travail - les choses qu'un gestionnaire doit savoir - mais il a également une assez bonne idée de ce qui se passe lorsque je dois poser une question sur la façon de mettre en œuvre quelque chose qui nécessite une vision de la part de la direction de sa part. et apport technique de ma part.
Le patron possède également ces deux compétences. Il est en fait un développeur actuel , qui travaille occasionnellement sur la base de code et fait des commits, lorsque d'autres responsabilités ne le détournent pas. Il s'assure que nous avons un bon environnement de travail, car il sait intuitivement à quoi ressemble un bon environnement de travail pour nous: ce sont les conditions dans lesquelles il voudrait travailler!
la source
Se bat pour moi. Je ne devrais pas avoir à me lancer dans l'informatique. Me donne les outils dont j'ai besoin. Communique la politique de l'entreprise vers le bas. Prend des décisions quand on le lui demande et ne le fait pas.
Avertissement: j'ai déjà occupé des postes de direction, mais je ne le suis pas actuellement. De cela, je peux certainement dire que cela peut être assez difficile d'être de l'autre côté de la table aussi.
la source
Quelqu'un qui sait clairement ce qui doit être fait, me permet de travailler sur les détails techniques, fournit le contexte en cas de besoin et ne modifie pas les exigences lorsque j'ai plus qu'à mi-chemin.
la source
Deux choses:
Le point 1 vous donnera, en tant que développeur, un gestionnaire qui comprend vraiment en quoi consiste et consiste votre travail, et comprend ce dont vous avez besoin (et ce dont vous n'avez pas besoin) pour faire votre travail au mieux de vos capacités. S'ils ne sont pas un développeur maintenant (et qu'ils ne devraient vraiment pas être un développeur pratique maintenant car ils sont un gestionnaire - et c'est un travail à temps plein lui-même), ils devraient avoir une expérience de développement préalable, mais cela devrait être assez récemment (c'est-à-dire au cours des dernières années) afin qu'ils soient au moins familiers avec les langages, outils, méthodes et techniques de développement modernes.
Le point 2 vous donnera un gestionnaire qui accepte ses responsabilités, protège son équipe de la politique du bureau et des distractions inutiles et se bat pour que son équipe reçoive les choses dont elle a besoin (permettant ainsi le point 1) et peut gérer les attentes de l'entreprise et de celles au-dessus de lui (Ceci est encore plus important dans une grande entreprise où de nombreux niveaux et niveaux de gestion existent entre vous (le développeur) et les décideurs commerciaux (cadres supérieurs)).
En bref, avoir le trait (1) vous donne un manager qui comprend ce dont vous avez besoin pour faire votre travail, et avoir le trait (2) vous donne un manager qui fournira ce dont vous avez besoin.
Le discours de Joel Spolsky à Yale (et l'article connexe " Command and Conquer and the Herd Of Coconuts ") le dit très succinctement:
En parlant de la (mauvaise) gestion chez Juno:
En parlant de la gestion (généralement bonne) chez Microsoft:
la source
Je veux quelqu'un qui est capable (et a le courage de) de reconnaître et de se débarrasser du bois mort. Ces gens nuisent au produit et ralentissent la réalisation, sortez-les de mon chemin! Trop de gestionnaires ne peuvent pas reconnaître qui est un mauvais développeur (ou pensent que celui avec le bureau en désordre est mauvais ou le gars qui semble commencer beaucoup dans l'espace même s'il peut en fait être le développeur le plus intelligent ou le plus productif) ou ne veulent pas avoir à être le seul à dire à quelqu'un qu'ils sont lâchés et ainsi laisser le bois mort rester année après année, causant du tort et du mécontentement parmi les personnes compétentes.
Je ne veux pas être gêné par un gestionnaire qui ne sait même pas quelles langues ou base de données ou autres outils essentiels que nous utilisons. J'ai eu une question (devant le client) dans quelle langue nous avons programmé après avoir été impliqué dans le projet pendant 3 ans! Je ne m'attends pas à ce que les gens qui ont été dans la gestion depuis longtemps soient toujours au courant de tout, mais ils devraient au moins savoir ce que nous utilisons. Et ils devraient être assez intelligents pour ne pas demander des trucs comme ça devant les autres s'ils ne le font pas.
Je veux un manager qui a du courage. N'acceptez pas ce délai irréaliste sans repousser, ne laissez pas les gens intimider vos employés ou laissez les développeurs de rouge suivre leur chemin sans être mis à l'épreuve. Ne manquez pas de me dire si je fais quelque chose de mal parce que vous avez peur de m'énerver. Les gestionnaires existent en partie pour gérer les mauvaises nouvelles, j'en veux un qui peut.
Je veux un manager qui comprend que j'ai une vie à la maison, qui comprend que les développeurs épuisés font des erreurs et qu'il faut plus de temps pour faire un projet qui fonctionne 60 heures par semaine que 40.
Surtout, je veux un gestionnaire qui reconnaît le bon travail et qui m'apprécie verbalement à la fois en personne et en haut de la chaîne à ses patrons. Bien que je déteste vraiment quand ils pensent que le mauvais travail est un bon travail et récompense les mauvaises personnes!
la source
La convivialité serait quelque chose que j'y mettrais. Je n'aime pas avoir un sentiment d'effroi si mon patron décide de visiter ma cabine à chaque fois . Ma performance peut être un peu meilleure si j’ai l’impression d’aider un ami qui demande parfois une faveur ici et là. heures que je ne voudrais pas autrement faire.
La compétence sur la gestion de plusieurs choses serait un autre aspect que je rechercherais bien que cela puisse être considéré comme un trait évident dans une certaine mesure. Les compétences de résolution de conflits et de réconciliation seraient également quelque chose que je voudrais savoir que mon manager peut gérer car il peut y avoir des moments où il est développeur contre développeur ou développeur contre analyste en termes de problèmes qui nécessitent que quelqu'un ait raison, ce qui peut ne pas être ni dans certains cas, certains aspects du travail pouvant avoir plusieurs interprétations.
la source
Quelqu'un qui comprend que le développement n'est pas un travail d'usine. Il est peu probable que le fait de consacrer plus d'heures par jour à un rendement considérablement plus élevé. Les programmeurs doivent souvent se mettre le nez dans la meule et ne pas penser à ce sur quoi ils travaillent pour résoudre un problème et faire avancer les choses.
la source
Un bon manager est prêt à me laisser dire non . Ils se rendent compte que le développement de logiciels est un problème grave . Ainsi, même si le gestionnaire est plus compétent que moi techniquement, il se rend compte que je connais mieux le problème simplement parce que c'est moi qui mets en œuvre la solution. En même temps, ils m'ont fait savoir quand je manquais de contexte. Plusieurs fois, les gestionnaires peuvent prendre des décisions en fonction de choses qu'ils savent que je ne connais pas. Si tel est le cas, ils devraient me renseigner sur les détails ou au moins me faire savoir qu'ils savent quelque chose que je ne sais pas.
la source
J'ai travaillé dans quelques endroits maintenant où la gestion était explicitement non technique. Mon employeur actuel a pour politique qu'un gestionnaire prenant une décision technique est un motif de renvoi. (Ce n'est pas une petite entreprise dont vous n'avez jamais entendu parler, environ un tiers d'entre vous gère notre produit). En partie grâce à cette politique, du moins à mon avis, les gestionnaires ici sont beaucoup plus "forts" que chez les autres employeurs. Comme ils ne sont pas impliqués dans la prise de décision technique, il n'y a pas la chaîne constante de décisions techniques «légèrement à très fausses» prises par la direction, et elles ne prennent que des décisions importantes au «niveau de la ligne de produits».
Les meilleurs gestionnaires que j'ai eus sont ceux qui «gèrent les interférences» pour les développeurs. Un bon gestionnaire peut faire la différence entre une «réunion obligatoire» et une réunion obligatoire et vous le fera savoir.
Une compétence de gestion de base consiste à faire en sorte que les développeurs se sentent en contrôle de leur environnement, cela peut être un rappel ou une illusion, selon l'entreprise, mais c'est une compétence d'une importance vitale.
la source