web-dev-qa-db-fra.com

À quel moment voudriez-vous supprimer certains de vos principes de développement de logiciels pour des raisons de plus d'argent?

J'aimerais jeter cette question là-bas pour voir de manière intéressante où se trouve le support.

Je vais admettre qu'au cours de mes 12 derniers mois, j'ai repris TDD et beaucoup de valeurs agiles dans le développement de logiciels. J'étais tellement submergé par la qualité de mon développement de logiciels devenu que je ne les laisserais jamais sortir de principe. Jusqu'à ce que ... On m'a offert un rôle de contrat qui a doublé mon salaire à la maison pour l'année.

La société que j'ai rejointée n'a subi aucune méthodologie spécifique, l'équipe n'avait entendu parler de rien comme des odeurs de code, solides, etc., et je n'allais certainement pas sortir de passer du temps à faire du TDD si l'équipe n'avait même jamais effectué des tests unitaires dans la pratique. Suis-je à vendre? Non, pas complètement ... le code sera toujours écrit "proprement" (selon l'enseignement de l'oncle Bob) et les principes de SOLID seront toujours appliqués au code que j'écris comme ils sont nécessaires . Les tests ont été abandonnés pour moi cependant, la société ne pouvait pas se permettre d'avoir une telle inconnue à l'équipe qui franchement, même si j'ai créé des cadres de test, ils n'utiliseraient jamais/maintenir le cadre de test correctement.

En utilisant cela comme exemple, quel point diriez-vous un développeur ne devrait jamais laisser tomber ses principes d'artisanat pour des avantages de l'argent/d'autres avantages personnellement? Je comprends que cela peut être un avis très personnel sur la manière dont on concernait ses propres besoins, ses besoins professionnels et ses propres raisons d'artisanat, etc. Mais on peut considérer que, par exemple, des tests peuvent être supprimés si la société a décidé qu'ils préfèrent avoir une Équipe de test, que plutôt comprendre les tests unitaires en programmation, ce serait quelque chose que vous pourriez vous pardonner comme je l'ai fait? Donc, étant donné qu'il y a quelque chose que vous voudriez laisser tomber, il faut généralement être un coût égal dans l'entreprise qui compense ce que vous déposez - espérons-le, sauf si bien sûr, vous n'êtes pas à peu près pour alléger vos propres poches et non collaborateurs communautaires/sociaux; ).

Doublez votre argent, retournez à RAD? Ou marchez et cherchez quelqu'un agile, et ne jamais regarder en arrière ...

16
Martin Blore

Ne laissez jamais laisser quelque chose qui vous fera malheureusement à long terme. Bien sûr, vous pouvez commencer par NO-MANS-TERRES et essayer de vous déplacer dans votre direction. Si vous êtes prêt à y mettre l'effort et que le travail en vaut la peine, cela peut même être un défi intéressant.

Mais si vous devez laisser les choses mêmes qui gardent le plaisir de coder (ou de tout travail à ce sujet), mon expérience est que vous allez partir tôt ou tard. J'ai appris que la frustration ne devrait jamais être sous-estimée ...

10
Joris Meys

Je dois admettre que je suis un b * tch à cet égard. En tant que pigiste, quel que soit le client en ce qui concerne la bonne méthodologie du projet, c'est d'accord avec moi. Cela ne signifie pas que l'argent est la seule chose dont je me soucie, mais la décision de ce qu'il faut faire et de savoir quoi laisser sortir est au client. Je n'accepterais pas de mauvaises conditions de travail (fortes, longues heures, etc.), cependant.

3
user281377

Jamais.

La vie est trop courte (surtout que vous vieillissez) de faire des choses que vous allez détester.

Bien sûr, cela rend plus difficile de changer d'emploi et il y a moins de lieux de travail.

Mais au moins seulement le code hérité sent mauvais. (Et j'ai une autonomie, nous pouvons donc faire des choses judicieuses comme passer une semaine à éliminer les avertissements du compilateur de la Héritage CodeBase ....)

2
Tim Williscroft

Je veux citer une ancienne collègue de mienne. Il a dit, chaque fois qu'il cherche un emploi, ou un projet à temps partiel, il y a trois critères que le projet doit rencontrer:

  • Il doit être amusant de travailler avec
  • Il doit être bénéfique pour votre développement de compétences (pas sûr que c'est la bonne façon de le former)
  • Ça devrait bien payer

En lisant votre question, ce projet ne satisfait que les derniers critères.

Comme vous avez grandi de TDD (tout comme j'ai), je pense que vous allez parcourir quotidiennement et souhaiterez que tous vos collègues avaient atteint la même perspicacité que vous. Les premiers critères ne seraient donc probablement pas satisfaits.

Deuxièmement, si vous voulez poursuivre des projets TDD, et peut-être avoir plus d'expérience dans la construction de équipes agiles, alors que vous travailliez sur ce projet ne vous aidera pas à renforcer ces compétences. Par conséquent, la seconde ne sera probablement pas satisfaite non plus.

Personnellement, si j'étais en vous position, et je n'étais pas en mesure d'aider à introduire TDD dans la société, je regarderais ailleurs.

2
Pete

Je ne travaillerais pas quelque part qui ne m'a pas permis de travailler comme je voulais. Par ce que je veux dire que je ne veux pas être micro-géomérés.

Je travaille sous l'hypothèse que je suis bon à ce que je fais, et si vous me donnez des tâches, je les ferai faire efficacement et efficacement. Comment puis-je les implémenter, à condition que je ne casse pas que les directives et les modèles de votre code sont à moi. C'est la partie amusante de mon travail.

Si je voulais assister à un appareil à tester chaque classe, j'écris, alors cela pourrait être un problème, mais les tests d'une unité d'écriture vont généralement bien, à condition que je réponde toujours à des délais. Je m'attends à ce qu'un promoteur TDD affirme que les tests d'unité d'écriture augmentent réellement la productivité (plus tard, etc.). Si j'étais à vos chaussures, j'écrivais certains tests unitaires qui sauveront-moi certains Temporez la piste (probablement moins de bugs, de corrections plus faciles). Si vous réinvestissez ce temps enregistré dans plus de tests, il sera composé encore plus de temps sauvé et, éventuellement, vous pouvez vous asseoir avec un grand sourire lorsque vous avez une suite géniale de tests, et vous pouvez facilement vérifier vos modifications de votre code lorsque vous avez une nouvelle nouvelle heure. l'exigence entre dans.

Si je ne pouvais pas faire ça, alors je ne sais pas si je voudrais travailler là-bas.

Ce que je dis, c'est que je pense qu'il devrait y avoir donné et prendre ces questions - un peu de négociation. Plus ils me payent, moins je m'attends aux Niceties non monétaires. Mais j'ai toujours besoin d'un niveau d'autonomie et de respect de soi, surtout quand il n'est pas nécessaire de refuser. Je vais laisser tomber tout autre principe tant que j'ai ce peu d'autonomie. Après tout, ce qui pourrait sembler comme une méthodologie folle en arrière pourrait être la meilleure chose que vous ayez jamais faite!

1
Kirk Broadhurst