J'essaie de diriger une équipe logicielle qui prend du retard. L'un des principaux problèmes est que chaque fois que quelque chose est légèrement difficile, je finis par devoir me l'assigner. J'avais un autre développeur avec des compétences modérées et un demi stagiaire. Malheureusement, les autres compétences du développeur n'incluent pas la conception.
J'ai donc supplié mon patron pour l'un des gars de l'une des autres équipes, il travaille ici depuis plus longtemps que moi (5 ans). Il ne peut pas rivaliser avec moi sur le design OU le langage que nous utilisons, mais je pensais qu'il était le plus compétent que moi.
Aujourd'hui, il m'a donné un morceau de code qui a fait quelque chose qui n'était pas du tout différent:
object const& my_class::get_object() const
{
return *std::unique_ptr<object>(new object());
}
Il m'a demandé si c'était un problème! J'ai dit la seule chose à laquelle je pouvais penser: "Oui. C'est un problème." Puis il vient vers mon bureau me demandant comment y remédier !! J'ai dit: "Utilisez un objet qui survit à l'appel de la fonction." Puis il commence à paniquer, "Ouais, mais comment, la seule chose à laquelle je peux penser est de faire une variable membre."
J'étais un peu occupé à ce moment-là parce que j'essayais déjà de faire du travail supplémentaire, je devais prendre le relais pour l'autre gars de l'équipe parce qu'il ne pouvait pas le comprendre ... J'ai dit au gars de partir parce que je était occupé et d'aller le découvrir lui-même. Puis il part dans un souffle en disant que ce n'est pas de sa faute s'il fout les choses. Il panique depuis qu'il est entré dans l'équipe et je ne pense pas que ça s'améliore.
J'ai l'impression de me noyer ici. Que puis-je faire? Quelle était la bonne façon de gérer cela? Aurait-il été plus raisonnable d'aller aider ce type qui écrit du C ++ depuis 7 ans à trouver comment retourner correctement une référence à un objet qui n'est pas détruit au moment où il est retourné? J'ai l'impression que c'est juste ridicule d'avoir à faire et je me demande comment diable je ferais quoi que ce soit de cette façon.
Parfois, je pense qu'ils le font exprès, mais cela me semble tout simplement fou ... mais là encore, il en va de même de la question que je viens de me poser aujourd'hui. Ce n'est pas un gamin assis à la maison essayant de comprendre son premier programme, se faisant souffler le cerveau par des pointeurs.
Réponses:
J'ai donné tous mes livres C ++ il y a plusieurs années, tout en jurant que je ne toucherais plus jamais à ce langage, et même je peux dire à ce type qu'il ne sait pas ce qu'il fait. Je pense que vous devriez vous asseoir avec lui et découvrir quel est son niveau de compétence.
Cela ressemble à peut-être qu'il a 1 an d'expérience sept fois - pas sept ans d'expérience. Dans les grandes entreprises, il est tout à fait possible pour les travailleurs non qualifiés de se cacher et de se déplacer "autour du système" chaque fois qu'ils se font prendre.
Si tel est le cas, vous devez vous arrêter et déterminer quels sont les niveaux de compétence des gens. Je comprends que vous vous sentiez dépassé par les délais et autres, mais vous ne pouvez pas faire le travail lorsque vous ne pouvez même pas être sûr de la composition de votre équipe. Vous ne pouvez pas terminer le projet si vous continuez à faire les mêmes erreurs - juste plus vite cette fois.
Prendre tout le travail sur vous signifie que vous n'avez pas d'équipe et que vous n'avez aucune confiance en eux. Cela doit être corrigé en premier.
la source
Ce genre de problème est le pain et le beurre de la gestion. Une question que tous les gestionnaires doivent poser est: "Mes employés ont-ils les compétences nécessaires pour faire le travail?" Si la réponse est «non», un bon manager ne crie pas ou ne quitte pas - un bon manager va rectifier la situation.
Voici une observation - C ++ n'est pas un langage trivial, est-il donc possible d'utiliser quelque chose dans lequel vos développeurs juniors sont plus compétents? S'il doit être en C ++, vous devez soit former vos développeurs existants, soit embaucher de nouveaux développeurs avec les compétences appropriées.
J'étais dans une situation qui n'était pas différente il y a un an. J'ai été amené à diriger une équipe de programmeurs VB6 travaillant sur du code spaghetti, et le désir de la direction était de passer à des systèmes bien architecturés et orientés objet écrits en .NET. Nous avons fait d'excellents progrès dans ce domaine, ce genre de changements est donc possible.
Un dernier commentaire. Si vous n'aimez pas traiter ce genre de problème, je sortirais de la gestion et reviendrais à un rôle purement technique. Ces sortes de problèmes désordonnés sont le pain et le beurre de la vie d'un gestionnaire, et cela ne convient pas à tout le monde.
la source
Obtenez un emploi dans une meilleure entreprise où vous pouvez travailler avec des personnes compétentes.
la source
La bonne chose aurait été de l'aider à résoudre le problème. Il n'était pas nécessaire que ce soit sur place. Vous auriez pu dire: "Je suis attaché en ce moment. Allez lire le chapitre X de la STL C ++, et revenons à la base demain à 11h.".
Les cris peuvent fonctionner pour certaines personnes et certaines situations si ce n'est qu'une question de motivation. Mais, si c'est une question de compétence ou de connaissance, crier sur les gens et les faire sauter n'aide pas du tout. C'est comme crier aux gens qui ne parlent pas anglais. cela ne les aide pas à comprendre ce que vous essayez de dire, et cela peut tuer toute motivation qu'ils ont à essayer de vous aider. Ils sont là où ils sont, et aucune colère ou frustration de votre part ne leur permettra de mieux écrire en C ++ dans les prochaines 48 heures. Vous devrez peut-être également revenir à la direction et expliquer que la portée du projet dépasse les compétences actuelles de votre équipe. Des trucs comme ça, c'est pourquoi être un chef d'équipe est difficile.
la source
Eh bien, si quelqu'un qui écrit du code depuis 7 ans demande quelque chose qui semble assez basique, je me demanderais ce qui se passe d'autre. Je ne suis pas un programmeur C ++ donc je ne peux pas commenter cet aspect.
Ce que je voudrais savoir, en tant que superviseur, je suppose, si quelque chose d'autre se passe qui le distrait. Je me rends compte que vous n'avez peut-être pas eu le temps à ce moment-là, mais la dernière chose que vous devriez faire est de repousser quelqu'un comme ça.
Réservez un moment pour lui parler et faites-lui savoir tout de suite: «Je comprends votre urgence à ce sujet, mais je n'ai pas le temps pour le moment. Dès que je le ferai, je vous le ferai savoir. pas plus d'une heure environ. "
De cette façon, vous avez transmis votre compréhension de son urgence, que vous n'avez pas le temps et que vous reviendrez avec lui. Même dans l'attente du moment où vous reviendrez avec lui. Il se sentira beaucoup mieux à ce sujet que d'être chassé (c'est ainsi que je le prendrais).
Ce que vous devez faire maintenant est de réserver du temps et de lui faire savoir quand vous pourrez lui parler du problème. Revenez sur vos pas et ravalez votre fierté, faites savoir à la personne que vous comprenez son urgence et que vous n'avez tout simplement pas eu le temps de vous en occuper. Vous devriez également voir s'il a quoi que ce soit dans ses domaines personnels qui pourrait affecter son attention - c'est-à-dire quoi d'autre pourrait le distraire. La vie personnelle nous affecte aussi, nous les programmeurs. ;)
la source
Je pense que vous devez vous asseoir avec votre patron et lui expliquer tout cela. Cela semble fou - qu'est-ce que ce gars fait même y travailler s'il ne connaît pas les bases?
la source