Qu'est-ce qui fait un bon architecte / gestionnaire / développeur principal?

12

Je suis le développeur principal d'une petite entreprise de logiciels. Au cours des deux dernières années, mon équipe est passée d'un développeur (moi) à un groupe d'environ neuf personnes. La plupart d'entre nous sont des ingénieurs très compétents et expérimentés (plus de 20 ans d'expérience dans la création de logiciels par personne), donc très peu de tenue de main est généralement nécessaire. Nous utilisons Scrum pour gérer nos efforts, et nous faisons généralement beaucoup de choses rapidement avec des exigences écrites minimales.

Au fur et à mesure que l'équipe s'est développée, j'ai atteint le point où il est difficile pour moi de conserver une supervision technique sur l'ensemble du projet tout en écrivant moi-même des quantités importantes de nouveau code, il est donc temps pour moi d'ajuster mon rôle. Comment puis-je me rendre le plus utile à l'équipe lorsque je ne passe plus la plupart de mon temps à développer?

Mon objectif est de permettre à mon groupe de se développer encore plus (c'est-à-dire d'augmenter la vitesse Scrum) en ajoutant plus de développeurs , donc je ne veux pas simplement devenir la "police d'architecture" qui impose ma volonté à l'équipe. En d'autres termes, je veux être le type qui aide les choses à mieux fonctionner / mieux, plutôt que le type qui ralentit les choses en ajoutant une couche inutile de bureaucratie. Pourtant, l'un de nos principaux risques est que les choses deviennent incontrôlables si nous ajoutons plus de personnes sans avoir assez de structure pour nous garder tous sur la même longueur d'onde.

Quelle est la meilleure façon d'atteindre mon objectif?

brianberns
la source
6
Je ne suis pas sûr que ce soit une réponse, mais je voudrais personnellement que vous gardiez les équipes organisées et personnalisiez un peu votre gestion. Sachez sur quoi ils travaillent, restez à jour avec ce sur quoi ils travaillent, etc. Lorsque vous ne les organisez pas en groupe, participez à des révisions de code, aidez à écrire des modules qui ont besoin d'un peu d'aide supplémentaire et peut-être passer du temps avec des développeurs individuels. J'ai eu un ou deux managers qui ne nous ont pas aidés et qui n'ont pas vérifié avec nous pour voir comment les choses se passaient - mais qui ne voulaient pas non plus savoir (oui, mauvais manager).
Simon Whitehead
Je pense que les rôles que vous avez mentionnés dans le titre ont tous des spécificités différentes et utilisent des compétences différentes. Laquelle est-ce?
Euphoric
3
Les exigences détaillées et la «couche inutile de bureaucratie» ne sont pas les mêmes. Les exigences peuvent vous sauver la vie, surtout lorsque vous travaillez avec une grande équipe. Ne sous-estimez pas leur puissance.
superM

Réponses:

12

Si vous faisiez partie d'une équipe comme celle-ci, que voudriez-vous que votre patron fasse de son temps?

  1. Supprimer les obstacles à la progression.
  2. Médiation des différends entre les membres de l'équipe.
  3. Interagissez avec les gens d'affaires pour ne pas avoir à le faire.
  4. Tenez-nous informés de ces affaires / projets de niveau supérieur afin de ne pas nous sentir isolés.
  5. Soyez honnête, surtout si / quand une mauvaise pomme entre dans l'équipe.
  6. Soyez l'avocat de l'équipe auprès des autres départements.
  7. Soyez la voix unifiée du refoulement contre les demandes commerciales déraisonnables.
  8. Facilitez la communication entre l'équipe.

Il y a probablement une bande que j'oublie, mais c'est le cœur du problème. N'implémentez pas de processus, gérez une partie de ces frais généraux / inefficacités qui se développent naturellement à mesure que la taille de l'équipe augmente.

Telastyn
la source
5
Je ne peux pas m'empêcher de penser que cette liste est très négativement orientée. C'est comme "me protéger des mauvaises choses". Et l' impact positif ?
Nicole
1
@NickC Je pensais que ce qui précède faisait partie du travail du manager. Que voulez-vous dire par impact positif ?
BЈовић
2
@nickC eh, j'ai tendance à avoir une vision négative des choses, mais d'après mon expérience, la réduction de l'impact négatif a le plus grand impact positif sur la productivité et le moral d'une équipe. Surtout si vous vous souciez de faire travailler les gens avec le processus.
Telastyn
@NickC Je suis entièrement d'accord avec Telastyn, à la fin sa liste pourrait simplement mettre en évidence ce que les développeurs devraient faire face s'ils n'avaient pas de responsable technique. Bien que, des points plus positifs pourraient être ajoutés, à savoir. "Les bons prospects technologiques ont une vision globale de la direction technique du produit et s'assurent que l'équipe le comprend. Ils délèguent les domaines de fonctionnalité aux autres membres de l'équipe et leur permettent de prendre leurs décisions. Ils reconnaissent que les membres de leur équipe sont intelligents, faites-leur confiance, et compter sur eux pour gérer des éléments importants du projet. " voir engineering.foursquare.com/2014/01/30/…
Adrien Be
6

Je n'aurais aucun problème avec un chef d'équipe capable d'équilibrer les tâches managériales et techniques, mais il est difficile de trouver des personnes qui gèrent bien cet équilibre.

Si je devais choisir entre les deux extrêmes à partir d'un chef d'équipe sur une équipe en pleine croissance ... c'est un choix vraiment difficile mais finalement je pense que je voudrais que le chef d'équipe devienne plus un manager. Dans une équipe importante, vous espérez qu'il y aurait d'autres candidats pour entrer dans le rôle de développeur senior qui pourraient nourrir les nouveaux membres de l'équipe et continuer à faire de gros efforts dans le développement.

Mais dans une équipe en pleine croissance, vous voudrez certainement aussi un bon manager. En fait, avoir une bonne personne avec le titre de gestion est important parce que vous voulez qu'elle ait suffisamment de pouvoir pour prendre de bonnes décisions. Un bon manager a une grande influence sur le bonheur d'une équipe et pour exactement les raisons que vous indiquez; en aidant à les garder productifs - et bon pour vous de penser comme vous êtes. Il y a beaucoup de managers qui ne donnent pas le cul d'un rat.

Je recommanderais quelques autres articles ici aux programmeurs. Bien qu'ils soient davantage axés sur un chef d'équipe que sur un rôle de gestion officiel, ils peuvent aider:

Passer à la direction d'équipe

Comment réussir en tant que développeur principal?

Comment gagner le respect des membres de l'équipe en tant que chef d'équipe?

Bernard Dy
la source
"Un bon manager a une grande influence sur le bonheur d'une équipe": je pense que vous avez raison, mais cela soulève une autre question "Une équipe peut-elle être heureuse même avec un manager inutile?"
Adrien Be
4

Je pense que c'est un équilibre de ces traits:

  • Compétence technique : Vous ne voulez pas que quelqu'un qui dirige ne puisse pas évaluer la qualité du travail qu'il dirige.
  • Auto-piloté : Peut définir des objectifs et ne pas être réactif.
  • Savoir capitaliser sur le conflit : le conflit déclenche des conversations
  • Auto-didactique : il n'est pas important qu'il sache tout, mais sache apprendre.
  • Bonne attitude et énergie : vous voulez quelqu'un qui motive et facilite le travail de tout le monde, pas une diva qui aboie des ordres.
  • Expérience d'échec : peut-être la plus importante. J'ai vu de très jeunes dirigeants qui n'auraient peut-être aucun problème avec tous les précédents, mais au premier signe d'échec, ils gèlent ou évitent toute responsabilité. L'ancienneté n'a rien à voir avec l'âge, mais la bonne quantité de la bonne expérience, et l'échec est certainement quelque chose à considérer.

OTOH, l'entretien est un élément important pour trouver la bonne personne, je vous recommande de poser les questions suivantes dans l'entretien:

  • "Dites-moi un projet où vous avez connu un échec, comment vous l'avez géré et ce que vous en avez appris"
  • "Parlez-moi d'une fois où vous avez enfreint les règles pour faire avancer les choses"
  • Appliquez le test Fizz Buzz , avec toute légère torsion à laquelle vous pouvez penser.

Le test FizzBuzz est absolument un must, avoir raison ou tort ce n'est pas aussi important que:

  • Le temps qu'il lui faut pour répondre : 15 min en moyenne, 30 min borderline ok,> 30 min NOT OK
  • S'il est capable de déboguer son propre code : un jour, un gars avec 15 ans d'expérience a postulé pour un poste senior ... il a fallu 40 minutes pour faire le test ... en pseudocode ... obtenu il a mal et n'a pas pu savoir pourquoi. J'ai eu un autre cas où un autre gars, a passé environ 5 minutes à se justifier et ne pouvait pas accepter du tout qu'il avait tort.
dukeofgaming
la source
1
+1. Tout le monde doit savoir apprendre.
superM
Le test FizzBuzz est d'éliminer les personnes avec ce qu'on appelle inertia of mind, n'est-ce pas? Après avoir traité des problèmes complexes pendant un certain temps, la plupart d'entre nous ne voient pas de solutions simples pour des problèmes simples.
superM