Déni de responsabilité: Les opinions exprimées sont uniquement les miennes et n'expriment pas les vues ou les opinions de mon employeur.
Je travaille pour une petite entreprise dans laquelle peu de personnes sont des développeurs, d'autres du contrôle qualité et des tests et 1 est un manager. J'ai rejoint cette entreprise il y a 1,5 ans. 3 développeurs seniors ont plus de 8 ans d'expérience.
Ce sont les observations que j'ai faites sur le chef d'équipe. (me considérant plus fraîche avec moins d'expérience que tous les autres)
- Ils ne discutent jamais 1: 1 ou ne prennent jamais en compte la suggestion junior (je conviens que cela leur appartient, qu’ils l’acceptent ou non, au moins ils devraient prendre en compte une opinion).
- En tant que chef d'équipe senior, ils peuvent essayer de reformuler la base de code avec de nouvelles technologies (y compris le facteur de déploiement de nouvelles technologies et d'autres développeurs et infrastructures également prêts), mais ces chefs d'équipe se sentent moins en sécurité pour travailler avec de nouvelles technologies, comme ils ne sont pas à jour. (raison pour laquelle je dis, ils ne savent pas quelle est la tendance actuelle en matière de programmation * (tels que les projets open source populaires tels que modernizr, bootstrap et bien d’autres).
- Dans notre base de code, plus de 10000+ lignes sont répétées, alors je leur en ai parlé
DRY: Don't Repeat yourself
. Leur réponse était: "C'est un article fascinant, mais ne fonctionne jamais dans la pratique". Je leur ai juste dit que si nous ne le rendions pas complètement sec, nous pourrions au moins utiliser des interfaces, mais cela n’a pas été pris en compte. * (des interfaces peuvent être ajoutées pour les nouvelles fonctionnalités, sans toucher à la base de code précédente, si elles ne sont pas prêtes à être refactorées) - Tous les développeurs expérimentés effectuent la maintenance et la réparation à chaud des correctifs. Le reste du temps, ils ne font que passer à des sites de divertissement. Ils sont juste contents de finir la tâche.
- L'introduction de nouvelles technologies est mauvaise? * (y compris facteur de faisabilité peut être fait).
- Le gestionnaire est également moins préoccupé par les choses dont je parle.
- Junior s'attend à ce qu'ils puissent apprendre beaucoup de choses du chef d'équipe. * (pas en demandant de l'aide ou un codage supérieur pour eux).
Mes questions sont:
- Suis-je trop agressif face aux changements que je propose?
- À quoi dois-je m'attendre des responsables de développement seniors ayant plus de 8 ans d'expérience?
- Ai-je tort de m'attendre à apprendre et à acquérir l'expérience d'une entreprise?
Mise à jour :
Pourquoi ils se sentent DRY n'est pas pratique: parce qu'ils ne veulent pas s'impliquer dans les concepts de POO. Ils sont contents de répéter des tâches.
Nouvelles technologies que je propose:
- Utilisation de la Minification des images CSS, JS, SPrite
- Utilisation des interfaces et du .net framework 4, des génériques et de bien d’autres.
- Les bibliothèques côté client telles que modernizr, knockout js, bootstrap for responsive,
Réponses:
Sans précision (quelles sont les nouvelles technologies que vous proposez, pourquoi elles les rejettent, lorsqu'elles estiment que DRY n'est pas pratique et pourquoi, etc.), il est difficile d'évaluer le mérite de vos propositions et c'est important pour votre agressivité. Si vous voulez qu’ils utilisent un nouveau cadre parce que vous pensez qu’il est nouveau et cool, il est alors trop agressif de pousser plus loin. S'ils claquent des milliers de lignes de copier / coller dans la base de code (c'est-à-dire qu'ils écrivent de la merde), je dirais que plus d'agressivité est justifiée.
Mais cela dépend aussi de la dynamique interpersonnelle entre vous et eux. Mon conseil serait de vous demander "pourrais-je démontrer que mes suggestions profiteraient à l'entreprise?" Si la réponse est oui, alors je dirais que vous avez une licence pour essayer de pousser.
Cela va couvrir toute la gamme. Vous obtiendrez parfois des personnes très affûtées, dont vous pourrez apprendre beaucoup de choses, à la fois en termes de navigation politique et de considérations techniques. Malheureusement, vous obtenez également beaucoup de cette . Vous ne manquerez pas de personnes dont les plus de 8 ans d'expérience équivaut à faire le strict minimum pour ne pas se faire virer. Si vous trouvez un mentor ou quelqu'un qui est vraiment fort, gardez-le autant que vous le pouvez car il est moins courant que cela ne devrait être.
Les gens à qui apprendre sont là-bas et ils sont dans certaines entreprises. Vous semblez être confronté à un dilemme commun et, pour paraphraser les gars de .NET Rocks, cela vaut la peine de réfléchir: "Changez de société ... ou changez de société."
En d'autres termes, si vous croyez en certaines approches et principes fondamentaux et que vous vous trouvez constamment incapable de les vendre et que vous gagnez la liberté de faire et d'apprendre des choses que vous voulez faire et apprendre, il vaut la peine d'envisager une recherche d'une entreprise qui soit meilleure digne de vous.
la source
J'écrirai cela de mon point de vue en tant que développeur senior (ou insérerai tout autre titre sophistiqué que vous aimez ici) qui fonctionne fréquemment avec des développeurs juniors.
C'est probablement une pénurie à la fois chez vous et chez les développeurs seniors.
Une chose que beaucoup de développeurs juniors ne comprennent pas, c’est que si vous (les juniors) insistez pour utiliser les nouvelles technologies, de nouvelles façons de faire les choses, dire à l’équipe qu’ils ne le font pas correctement , etc. L’équipe rend compte à la direction de la livraison et est invitée par la direction à fournir de nouvelles choses aussi rapidement que possible pour que l’entreprise gagne le plus d’argent possible (ou offre les meilleurs résultats pour le client / client).
Parfois, les méthodes éprouvées de diffusion dépassent tout juste le risque de mettre en œuvre [insérer une technologie géniale ici] . Des délais serrés, trop de travail et une lourde charge de travail signifient que nous le faisons depuis plus de 8 ans. Nous le faisons également cette fois-ci.
Vous devez être en mesure de démontrer à l'équipe que ce que vous proposez aura des avantages pour elle et pour l'entreprise à long terme. Sinon, vos collègues n'accepteront pas l'adhésion de leurs collègues et ils ne pourront pas le vendre à l'équipe de direction pour obtenir l'autorisation de le faire fonctionner.
Sans connaître toutes les circonstances, vous pourriez être. Simplement dire aux gens que A est meilleur que B alors nous devrions utiliser A ne tient pas grand-chose. Vous devez aller faire quelque chose pour montrer pourquoi c'est mieux. Il n’est pas nécessaire que ce soit grand, même un petit composant ou une application qui montre que la façon de le faire que vous proposez devrait être plus que suffisante. Vous devez ensuite le présenter et être prêt à tenir tête aux critiques de votre équipe.
Même en tant que développeur senior, je dois le faire avant de pouvoir convaincre mes collègues que la nouvelle façon de faire les choses est meilleure.
Comme d'autres l'ont dit, plus de 8 ans d'expérience ne signifie pas nécessairement que vous êtes fantastique. Mais en général, vous devriez être en mesure d’apprendre beaucoup de choses de la part de quelqu'un qui a été dans les pièges pendant un certain temps; vous pourrez peut-être aussi leur apprendre quelque chose.
Les gens sont des gens et tout le monde a un ego (certains plus gros que d’autres) et il n’ya rien de pire que le nouveau qui arrive et vous dit que vous avez mal fait votre travail depuis plus de 8 ans. Dans le même temps, un développeur senior (un bon développeur) devrait être en mesure de prendre des critiques constructives et de pouvoir expliquer les raisons de ses décisions.
Ne pas utiliser les dernières technologies et fonctionnalités ne signifie pas que vous n’apprenez et n’acquérez pas d’expérience au sein de votre entreprise. L'expérience est l'expérience. Parfois, connaître l'ancienne façon de faire peut vous aider à mieux comprendre pourquoi la nouvelle méthode est meilleure. Cela vous aide également à démontrer pourquoi la nouvelle méthode est meilleure, car vous comprenez les deux et pouvez articuler un argument plus convaincant lorsque vous essayez de le vendre. Personnellement, je n'utilise pas les choses les plus récentes et les plus réussies sur lesquelles je travaille en ce moment - mais j'apprends toujours de nouvelles choses tous les jours et cela a toujours belle apparence sur mon CV.
Cela dit, si l'entreprise ne convient pas vraiment et que tout le reste échoue, vous voudrez peut-être chercher un nouvel endroit où travailler.
la source
Pensez à cela comme une énorme opportunité.
Souvent, les promotions ne proviennent pas (et ne devraient pas) du nombre d'années que vous avez investies dans une entreprise. Vous pensez avoir de très bonnes idées et vos supérieurs / pairs ne veulent pas écouter.
Voici une stratégie:
Et je ne veux
profit
pas être un vague "je gagne". L'étape 4 correspond à l'un des éléments suivants, ou à tous:Soit avec votre entreprise, soit avec une nouvelle qui peut apprécier vos talents et les métriques étonnantes que vous avez sur votre CV.
Je l'appelle "être génial" - et ça marche .
Anecdote: Je ne suis pas toujours génial, mais j'essaie de l'être et j'ai exécuté les étapes cinq fois (2 promotions, 3 nouveaux emplois; tous avec des augmentations de salaire substantielles).
Dans cet esprit, je devrais probablement répondre directement à vos questions:
Avez-vous déjà réalisé quelque chose de génial, avec des métriques et des exemples montrant à quel point c'est génial? Il y a un vieil adage (crass, comme il peut être) ...
Ideas are like assholes; everyone's got one, and they all stink
Va faire quelque chose.
Sérieusement? Vous devriez vous attendre à rien. Mais essayez d'apprendre tout ce qu'ils savent. Posez des questions, examinez leur travail en privé, écoutez quand ils parlent et réfléchissez de manière critique à ce qu'ils disent. Ils sont l'expérience dans une boîte ... euh ... le corps. Essayez de les ouvrir et d'apprendre. Mon meilleur ami est un développeur brillant, et je lui dis activement que j'essaie toujours d'apprendre le plus possible avec lui.
Absolument pas. Cela ne signifie pas que vous ne pouvez pas apprendre à ne pas faire. Les gens vont faire des erreurs, tirer des leçons des erreurs de votre entreprise et des vôtres.
la source
Je pense que vous devez faire preuve de créativité. Commencez par demander des demandes de projets parallèles que vos aînés ont repoussés. En travaillant sur quelque chose de façon indépendante (ou mieux, faites appel à un autre développeur junior) et vous pouvez dès le début appliquer beaucoup de nouveaux éléments. Ne soyez pas surpris si vous découvrez que tout n'est pas pour le mieux.
Une autre approche consiste à créer votre propre branche de code et à suivre un processus de refactorisation. Je ne me lancerai peut-être jamais dans la production en fonction de ce que vous avez dit, mais au moins, vous améliorerez vos compétences.
Qui sait, ils verront peut-être comment vous rendre le travail de chacun plus facile et ils comprendront la véritable utilisation de la «paresse» dans la programmation.
Si tout le reste échoue, mettez le nouvel ensemble de compétences sur votre CV et commencez à chercher un autre emploi.
la source
Si quelqu'un travaille comme programmeur depuis +8 ans, cela ne veut pas dire qu'il est un bon programmeur. Qu'est-ce qui fait un bon programmeur serior programmeur à mon avis? C'est la volonté de partager non seulement des expériences, mais aussi d'apprendre de nouvelles idées, techniques, technologies, etc. C'est une volonté de s'améliorer constamment. Beaucoup de programmeurs dits "seniors" sont empilés dans de vieux schémas de programmation fonctionnelle à partir de langages disparus. Quelque chose comme de nouveaux concepts et idées ne sont tout simplement pas pour eux, car ils n'en ont pas besoin. Ils ont eu leur "expérience".
La volonté de s'améliorer et d'apprendre est beaucoup plus importante que des années d'expérience. Un développeur junior qui veut apprendre est bien meilleur pour une entreprise qu'un vieux développeur "senior" qui "sait" déjà tout.
la source
Travaillez-vous dans mon entreprise?
Non, mais sérieusement, cela semble être un fil conducteur dans de nombreuses grandes entreprises. Le changement est difficile et coûteux. Parfois, vous ne savez pas vraiment combien il vous en reste et il est trop tard pour revenir en arrière.
Par exemple, ma société est toujours en train de migrer des écrans centraux cobol vers java. Il est difficile de vendre quelqu'un sur Spring ou JSF alors qu'il tente encore de mettre ses technologies à jour avec les normes d'il y a dix ans. Donc, je vais vous dire ce que j’ai fait et qui a eu un succès limité (je suis un développeur junior aussi). Soyez l'exemple. Il ne suffit pas que vous connaissiez votre avantage, vous devez le prouver. Lorsque tous les autres sont en train de rigoler, apportez un livre à lire si vous avez du temps libre. Et faites-en une de ces technologies que vous souhaitez implémenter. S'ils vous voient le lire pendant qu'ils regardent youtube (honnêtement, votre unité des opérations n'est pas surpris et que des gens se font virer), ils seront plus enclins à croire que vous savez de quoi vous parlez, mais peuvent même vous demander de quoi vous parlez. en train de lire.
À titre d'exemple, je vais vous parler de mon expérience avec mon architecte principal. Gars intelligent, mais généralement pas intéressé par les nouvelles technologies. Je lui ai demandé comment faire quelque chose dans CVS (notre contrôle de version) et lui ai dit: "Oh, j'ai l'habitude d'utiliser la subversion, et ils le font ainsi. Merci pour votre aide." Cela a conduit à plusieurs conversations sur CVS et Ant vs. SVN et Maven, qui l'ont amené à emprunter quelques livres dans ma bibliothèque pour vérifier. Résultat final: nous allons passer aux nouveaux systèmes au cours de cette année. La clé est d’être ouvert et utile sans indiquer qu’ils agissent mal. Après tout, il y a peut-être beaucoup de meilleures façons de le faire, mais si cela fonctionne correctement, ils ne le font pas mal. Tout type de manque de respect vous conduira dans l’eau chaude dans la plupart des cas, alors faites attention à cela.
S'ils ne sont tout simplement pas réceptifs, sachez que vous êtes dans un domaine en pleine demande. Si votre curieux et un apprenant rapide, vous trouverez un autre emploi, vous en apprécierez probablement beaucoup plus. Ce qui est aussi important que l'argent pour moi. N'oubliez pas de mentionner dans toutes les interviews: "Oh, vous utilisez la technologie xxx? C'est génial, j'ai toujours voulu l'utiliser et essayer dans mon ancienne société." Aimez-les quand vous avez de l'enthousiasme pour ce qu'ils font.
la source
Je pense que vous avez raison dans votre agressivité. C’est un grand plaisir de travailler avec des passionnés et un châtiment de travailler avec des morts mentaux. 8 ans d'expérience ne signifie rien. Bien sûr, vous pourriez ne pas avoir raison. Les nouvelles technologies sont souvent étroitement liées au marketing et ne sont pas toujours meilleures. Mais si vous n’avez pas raison, les personnes âgées devraient vous expliquer où elles se trompent. Sinon, vous n'obtenez aucun avantage de votre travail. Peut-être que vous êtes jeune et chaud. Si c'est le cas, c'est votre avantage. Ne passez pas votre temps au travail où vous ne pouvez pas grandir. Préoccupation de trouver un nouvel emploi, où vous pourrez discuter de vos solutions et obtenir les réactions des autres.
la source