Pouvez-vous être un gestionnaire et un programmeur en même temps? [fermé]

43

Gérer d'autres programmeurs pendant que vous faites vous-même partie de la main-d'œuvre de programmation.

C'est un système très courant, du moins dans les entreprises pour lesquelles j'ai travaillé.

Pouvez-vous être un bon programmeur ou un bon manager si vous faites les deux en même temps?

Je m'interroge sur l'efficacité d'un individu qui doit occuper deux rôles très différents, nécessitant des compétences très différentes, un environnement, une concentration, une organisation, etc.

MISE À JOUR : ma question concerne la gestion de l'entreprise (ce qui est mon cas), pas spécifiquement la gestion d'équipe. Mais les deux m'intéressent bien sûr.


la source
1
Demandez à Bill Gates.
Andrew Arnold
6
Je vais. Puis-je vous utiliser comme référence?
Je me demandais si vous envisagiez de réviser le code dans le cadre du travail de "programmeur" ici. Il me semble que ce serait un excellent moyen pour un chef d’équipe de rester en contact avec les fonctionnalités du code. De plus, le fait qu’il soit interrompu lors de la révision n’importe pas (même si cela peut le ralentir).
Matthieu M.
Matthieu: Je n'en ai pas parlé mais je parlais plus de la gestion de l'entreprise que de l'équipe. En fait, je pense que l'équipe devrait être autogérée. Mais toutes les réponses ci-dessous sont toujours valables et précieuses pour moi.
1
La réponse courte est: non ne serait pas efficace à l'un ou l'autre rôle, et si vous êtes à l'autre, l'autre souffrira proportionnellement

Réponses:

36

Cela dépend de la quantité et du type de programmation que vous devez faire et du nombre et du type de tâches de gestion que vous devez exécuter.

Etre manager signifie beaucoup d'interruptions, de virements de bord et des choses comme des réunions, etc.

Si votre programmation est "limitée" à de petites tâches non urgentes, vous pouvez les intégrer à vos tâches de gestion. Si vous avez besoin de passer beaucoup de temps "de qualité" sur une tâche de programmation, vous ne pourrez pas en profiter en raison de vos responsabilités de gestion.

Si votre équipe est nombreuse et / ou complexe, vous devrez passer plus de temps à gérer que s'il s'agissait d'une petite équipe dédiée à un ou deux produits / projets. Vous constaterez que vous n'avez tout simplement pas le temps de faire une programmation significative, même pour de petites tâches.

Dans un emploi précédent, j'avais ce rôle et cela fonctionnait pour moi parce que je réduisais mes tâches de programmation. Cela a réellement fonctionné à notre avantage.

Premièrement, je pouvais évaluer toutes les demandes reçues et, si elles étaient petites, les ajouter à ma file d'attente (qui était toujours courte) ou contacter le client (dans ce cas, un autre responsable) avec un calendrier plus précis pour le début des travaux. être terminé.

Deuxièmement, cela signifiait que les développeurs de l'équipe n'étaient pas constamment tirés de leur travail actuel pour corriger des bugs mineurs ou apporter de petites améliorations.

Troisièmement, les clients étaient heureux car leurs problèmes urgents étaient réglés assez rapidement.

Cela m'a permis de rester en contact avec la base de code afin de pouvoir entretenir des discussions constructives avec mon équipe sur les problèmes rencontrés, ainsi qu'avec mes gestionnaires et mes clients sur les échelles de temps sans avoir à impliquer constamment l'équipe.

ChrisF
la source
2
+1 je suis un gestionnaire et programmeur. Je travaille beaucoup comme Chris décrit ici. Je suis un bon programmeur, mais un excellent organisateur. Je pense que le fait de rester technique et de participer à des projets constitue un avantage considérable en tant que gestionnaire. Mon style vient de mon premier patron, qui était également gestionnaire et programmeur - et très bon à la fois.
Bogeymin
4
Vous pouvez être à la fois gestionnaire et programmeur si vous avez embauché les bonnes personnes pour travailler dans l’équipe.
Naweed Chougle le
1
Je pense que cela ne fonctionne que si le manager / programmeur est génial. Dans la plupart des cas, cela échoue, comme dans la réponse de Martin Wickman.
Andrei Vajna II
12

Je faisais partie d'une équipe de développeurs où un programmeur était également notre responsable. Cela a conduit à un effondrement total de tout ce qui ressemble à la productivité. En bref, toutes les décisions ont été prises par ce gars + il était un micro-gestionnaire complet. Toutes les idées et suggestions avec lesquelles il n'était pas d'accord étaient rejetées ou ignorées. Cela a finalement tué toute la créativité et la motivation.

Donc, je pense que c'est une mauvaise idée d'avoir quelqu'un dans l'équipe de développement dans une position "plus haute". Dans mon cas, le gars était un gestionnaire de commande et de contrôle, mais même un grand gestionnaire influencera (involontairement) les autres développeurs, ce qui entraînera éventuellement une baisse des performances. Au moins de l'équipe lui rend compte.

Martin Wickman
la source
4
Je totalement sais ce que vous parlez, joelonsoftware.com/items/2006/08/08.html
David dans le Dakota du
8

Oui,
j'ai vu quelques gestionnaires qui étaient à la fois programmeurs et gestionnaires. Croyez-moi, travailler sous ces gars-là était merveilleux.
Être gestionnaire et programmeur permet non seulement aux gestionnaires de diriger de front, mais incite également les subordonnés à donner le meilleur de leurs capacités.
La plupart des employés se plaignent de leurs gestionnaires que ceux-ci ne valent rien, mais que le gestionnaire qui non seulement gère mais écrit également le code produit toujours les meilleurs résultats.
Les deux gestionnaires dont j'ai parlé, la programmation était leur passion, non seulement pour aider les autres, mais également pour produire une application presque sans bug.

Ranger
la source
8

Je suis chef de projet de programmation depuis des années, avec différentes entreprises, projets et équipes.

La gestion de projet et la programmation sont des types de travail / rôles tellement différents que je dirais que vous ne pouvez pas faire les deux en même temps à un "excellent" niveau. C'est un compromis - maître de rien, touche-à-tout, genre de chose.

Pour moi, la plus grande difficulté est le changement de contexte entre les modes gestionnaire et programmeur. Ils semblent engager différentes parties du cerveau (ou quelque chose). Une journée de programmation, un jour de gestion, je peux bien me débrouiller, mais il est toujours difficile de changer de rôle.

Maglob
la source
7

J'ai vu les deux scénarios. Les responsables de développement effectuant {un certain pourcentage de leur temps} de codage, et un responsable de développement ne codant pas du tout.

Le problème est que plus vous êtes âgé, plus vous voudrez probablement être mieux payé, et la seule façon de l'obtenir est souvent de passer à la gestion. (pas tous bien sûr, mais beaucoup d'endroits). Cela peut donc amener des personnes qui ne sont vraiment pas préparées à être des gestionnaires à rester coincées dans cette situation.

(Bien sûr, il existe des sociétés où vous pouvez passer par Dev, Lead Dev - différent du responsable Dev, bien sûr - vers des postes tels qu'architecte, etc.)

En tant que technicien, vous risquez de ne pas être utile à la gestion des personnes, sans compter que cela vous éloigne du code. Donc, vous devenez un mauvais manager et faites moins de choses que vous aimez et que vous avez sans doute commencé à développer!

Pour moi, en tant que manager, vous devez vraiment vous débrouiller avec le codage, mais restez absolument au courant de la technologie pour pouvoir au moins parler des problèmes de manière cohérente.

En l'occurrence, j'ai commencé à travailler en freelance pour cette raison exacte. Je ne m'intéresse pas à la gestion des personnes, et je pense que je ne serais pas particulièrement doué pour cela, en plus de ne pas coder autant.

ozz
la source
6

Cela peut être fait, mais les embûches sont nombreuses. La taille du groupe et le niveau d'interruption jouent un rôle important, mais le risque le plus important est que le responsable soit également le responsable technique. Trop d'opinions lourdes lorsqu'il n'y a pas assez de temps / d'efforts déployés pour justifier l'opinion peut conduire à de mauvaises décisions. Et le débat sur la direction n’est pas un terrain de jeu très égal entre un manager et le reste de l’équipe.

Pour ceux qui envisagent cette voie, quelques conseils:

  • Sortez du rôle d’architecte et identifiez les pistes de votre groupe.

  • Ne travaillez pas sur les éléments de chemin critiques. Corrigez des bugs, travaillez sur des prototypes ou d'autres objets qui peuvent être rapidement supprimés lorsque votre patron trouve beaucoup plus de «choses importantes» pour vous distraire.

  • Augmentez votre niveau d'attention et concentrez-vous sur l'efficacité globale, la défense et la promotion de l'équipe, le processus, le moral et les autres aspects nécessaires au succès d'une équipe. Votre objectif risque d’être bien plus qu’un projet réussi (peu importe ce que votre patron, Premier ministre ou autre peut en dire).

  • Aidez votre équipe à se développer: devenez plus indépendant, organisez-vous de manière autonome, adepte technique, prenez conscience de vos problèmes.

  • À bien des égards, vous êtes le ou un pont entre l’équipe et le monde extérieur. Une partie importante de votre attention devrait être en dehors de l'équipe.

Pour répondre à la question, oui, cela peut être fait. Non, ce n'est pas facile et beaucoup trop de nouveaux gestionnaires du côté technique de la maison, qui ont peut-être été d'excellents prospects, ne peuvent pas faire la transition vers le poste de gestionnaire efficace.

Jim Rush
la source
3

Un bon manager peut être, oui. Tant que vous restez sûr de vous et cohérent, il n'y a généralement pas de problème.

Si on dit aux employés de soulever des problèmes avec leurs coéquipiers avec leur responsable .. et que le responsable est aussi un coéquipier, cela peut devenir collant. Il est essentiel de regarder tous les commentaires objectivement et de se rendre compte que vous pouvez vous tromper de temps en temps. Vous devriez également fournir une sorte de moyen anonyme pour les commentaires.

Comme vous l'avez dit, il est extrêmement courant de voir cela dans les entreprises en démarrage.

Tim Post
la source
3

Je pense que non.

Les deux emplois exigent beaucoup de concentration, d'énergie et de dévouement. Il est très difficile de faire les deux en même temps. Lorsque j'ai dû assumer des responsabilités de chef d'équipe, le temps que j'ai passé en programmation (et par conséquent la quantité de travail lié à la programmation effectué par moi-même) a été réduit.

Je connais un autre collègue qui a assumé le rôle de gestionnaire du rôle de chef d’équipe et qui a complètement arrêté de coder en un mois (bien qu’il ait essayé de faire les deux).

Je connais aussi un architecte à qui on a demandé de devenir gérant. Il a également arrêté de coder un mois après avoir assumé des responsabilités de direction. Après 8 mois, le même architecte a dû revenir au codage en raison de problèmes critiques sur le terrain. Il a beaucoup contribué à la correction des bogues, mais au bout d’un mois, ils ont dû trouver un remplaçant pour s’acquitter de ses responsabilités de direction.

Dans mon expérience limitée, je n'ai trouvé personne qui gère d'autres programmeurs et codes comme un programmeur complet.

aufather
la source
3

À mon avis, bien que cela soit possible dans la plupart des scénarios, ce n'est pas un bon arrangement. Il existe de nombreux articles sur la manière dont les personnes compétentes en tant que développeurs sont remarquées et amenées à un rôle de gestion d'équipe, même s'il ne s'agit pas de leurs compétences spécifiques ni même d'un poste souhaité. Ils ont du mal à rester concentrés sur la "gestion" car ils considèrent le "travail" comme un moyen de faire de la programmation, et non de créer des rapports et d'aller à des réunions.

Spolsky a écrit dans son article sur la couche d'abstraction de développeur :

"Avec un éditeur de logiciels, la première priorité de la direction doit être de créer cette abstraction pour les programmeurs."

Dans l'article, (motivé, je pense, bien motivé), le rôle du responsable ne consiste pas à entrer dans le code ou le développement du logiciel, mais à créer un environnement où les producteurs peuvent se concentrer entièrement sur celui-ci.

David à Dakota
la source
2

Mon ancien patron a essayé. Il y avait trop d'interruptions de son rôle de gestion.

Il est toujours l'un des meilleurs développeurs que je connaisse.

LennyProgrammers
la source
2

Absolument, vous pouvez, mais cela ne signifie pas que c'est facile. Il faut un certain type de personne pour être un bon développeur, il faut un certain type de personne pour être un bon gestionnaire et un certain type de personne pour être les deux. Si vous pouvez trouver cette personne (ou sont cette personne), il y a des avantages certains. Les gestionnaires de programmes de premier ou de second niveau doivent vraiment comprendre ce que leurs employés font et rencontrent au quotidien. Difficile à faire si vous n'étiez pas un développeur et difficile à rester en contact / à jour sans continuer à vous développer.

Le meilleur manager que j'ai jamais eu (j'ai été dans le business il y a environ 25 ans) était un développeur actif, mon manager et à moitié propriétaire de la société (environ 40 employés). Il était spécial mais il a clairement réussi à cette question.

cdkMoose
la source
2

POUR NON!

Vous pouvez essayer, mais vous finirez par gérer plus que tout. Le problème est que vous ne pouvez pas coder lorsque des personnes vous appellent toutes les 5 minutes ou tentent de prendre des réunions "de statut" toutes les heures. C'est ridicule ... Je le fais maintenant, c'est pourquoi je suis tombé sur ce fil.

Bien qu'un directeur dans une entreprise de technologie DEVRAIT .. non ... DOIT savoir coder. Vous ne pourrez tout simplement pas estimer ou comprendre les problèmes du client. Le codage et la gestion sont deux types de personnes. Un côté est geeks et maladroit avec les gens (avouons-le, les geeks vous savez de quoi je parle), et l'autre sont bons avec les gens. Vous devez choisir un côté. Vous n'obtiendrez nulle part avec le codage si vous faites les deux. Si vous aimez coder et pouvez le faire 24 heures sur 24, 7 jours sur 7, si votre femme ne vous a pas gêné, évitez de gérer. Même prendre une réduction de salaire si vous devez. Je suis sur le point de le faire, mais je ne pense pas que les patrons aimeront cela, car je leur facilite la vie en faisant de la gestion. Je serai obligé de revenir à la pige s'ils ne sont pas d'accord car le bonheur et faire ce que l'on aime est bien plus important que l'argent et les illusions qu'il procure.

Meilleurs voeux avec votre effort et s'il vous plaît gardez ces messages à venir. Vous êtes géniaux les gars.

Lisez la section "Absence d'un cheminement de carrière axé sur la programmation" sur ce site. Très bon matériel et très pertinent: http://c2.com/cgi/wiki?ProgrammingIsNotFun

TruMan1
la source
1

Il est possible qu'une personne ait à la fois un bon gestionnaire et de bonnes compétences en programmation, bien que le dicton "Un homme à tout faire soit un maître de tous" vienne à l'esprit ...

Cependant, combiner les deux fonctions en même temps me semble susceptible de ne faire que la moitié des deux tâches. Cela dépend de la quantité de travail de gestion à effectuer, mais vous devez inévitablement jongler entre deux tâches d'une nature complètement différente, et le changement de cap que cela exige est assez important. Je remarque moi-même que je suis assez moins performant dans la section de codage lorsque j'ai également des tâches de gestion à faire (dans mon cas, gérer les cours et rédiger des rapports).

Un autre piège est que vous gérez un groupe, mais que vous êtes également directement impliqué. Parfois, cela porte ses fruits, parfois, cela peut causer de gros problèmes. Si d'autres programmeurs ne sont pas d'accord avec votre travail, le fait que vous soyez le responsable peut les empêcher de rester complètement ouverts.

Encore une fois, lorsque vous codez sur le même projet que vous gérez, vous conservez un peu plus de convivialité avec le code lui-même. Dans ce cas, le bit de programmation peut réellement aider le bit de gestion. Tout dépend de ce que vous devez gérer, du temps que cela prend et du temps que cela garde en relation avec le code sur lequel vous travaillez.

Donc, je suppose qu'il n'y a pas de réponse claire, mais j'ai tendance à éviter de trop mélanger les deux. Mes 2 centimes

Joris Meys
la source
1

Eh bien, j’ai lu que les gestionnaires de projets logiciels devraient absolument être eux-mêmes des codeurs.

Je pense qu'un gestionnaire est un gestionnaire pour une raison - gérer. Je prendrais ceci comme une règle de base ... certains peuvent être une épée à double tranchant.

KasHKoW
la source
1

Je connais un cas où cela fonctionne. L’homme est un peu maladroit, il travaille donc à plein temps en tant que manager et presque à plein temps en tant que programmeur.

Compte tenu des heures de travail normales, je ne pense pas qu'un tel double rôle soit une bonne idée. Un programmeur gestionnaire (ou responsable de la programmation) est toujours tenté de faire lui-même la plupart des tâches de programmation, au lieu de le laisser faire à ses programmeurs. Il y a toujours cette excuse "il faut plus de temps pour expliquer que pour faire" mais à la longue, le travail de programmeur à 50% qu'il fait est absent dans la partie gestion, de sorte que les autres programmeurs sont moins efficaces.

utilisateur281377
la source