Dois-je utiliser la langue dans laquelle je suis le plus à l'aise ou la «norme» de l'entreprise


18

Je vais développer un site Intranet pour mon usine spécifique, et la norme de notre entreprise pour le développement Web est IIS + ASP.Net + VB.Net + Microsoft SQL Server (notez que nous avons environ 10+ usines). Le site Intranet ne sera utilisé que par mon usine, et je suis le seul à le supporter. Je suis beaucoup plus compétent avec une configuration LAMP , et je pourrais faire du développement et de la résolution de problèmes beaucoup plus rapidement avec PHP que je ne pourrais ASP.Net. Même si la société "standard" est ASP.Net/VB.Net, la plupart de ce que fait la société dans son ensemble consiste à acheter des logiciels tiers (qui sont généralement basés sur Java ), et très, et je veux dire très peu de gens dans l'entreprise sait mêmeVB6 , et encore moins ASP.Net/VB.Net.

Cela étant dit, est-il préférable de violer les normes de l'entreprise et de choisir la configuration que je peux mieux prendre en charge, ou est-il préférable de choisir la configuration que l'entreprise peut mieux prendre en charge si jamais je partais, même si personne actuellement dans l'entreprise peut prendre en charge leur propre norme de toute façon?

Quelques facteurs supplémentaires à considérer dans mon cas personnel:

  • Encore une fois, ce n'est que pour mon usine, et je suis le seul à le soutenir à moins que je quitte l'entreprise, et mon remplaçant le supportera. Pas quelqu'un d'autre déjà dans l'entreprise.
  • De toute façon, l'entreprise fait très peu de développement avec sa norme.
  • Pratiquement aucun des logiciels existants des entreprises n'utilise leur standard.
  • Si je choisis la norme de l'entreprise, je dois utiliser la version Express de Microsoft SQL et un système d'exploitation Windows 7. D'après mes lectures, la version Express convient à une utilisation professionnelle, mais la taille de la base de données est limitée.

25
Le mot clé ici est violer . Vous avez choisi le bon mot, et juste lire votre propre question devrait vous dire que c'est une idée assez stupide. Ils ont choisi la norme pour une raison. Si vous n'êtes pas d'accord avec ce choix, vous devez le canaliser formellement vers le haut.
Joel Etherton

3
"Je veux dire que très peu de personnes dans l'entreprise connaissent même le VB6, et encore moins ASP.Net/VB.Net." Je ne vois pas vraiment ce que cela a à voir avec quoi que ce soit. VB6 est un code hérité laid - le fait que personne ne le sache est une très bonne chose.
DeadMG

1
@DeadMG, Le problème est qu'aucun d'entre eux ne connaît VB.Net non plus. Alors, qu'importe la langue que j'utilise? Ils devraient encore embaucher quelqu'un d'autre pour le soutenir si je partais.
Drew Chapin

3
SQl Server Express prend en charge jusqu'à 4 Go de bases de données. C'est généralement suffisant, si ce n'est pas le cas, une autre base de données est nécessaire et vous devriez probablement en discuter avec les personnes concernées (gars de l'informatique, supérieurs, etc.)
Holger

3
@Baboon, oui, ce n'est pas comme si des sites comme Facebook utilisaient quelque chose d'aussi peu commercial
SWeko

Réponses:


38

Encore une fois, ce n'est que pour mon usine, et je suis le seul à le soutenir à moins que je quitte l'entreprise, et mon remplaçant le supportera. Pas quelqu'un d'autre déjà dans l'entreprise.

1 - Ne présumez pas que vous êtes le seul à soutenir cela. Vous aimez vos congés de maladie et vos vacances, non? Et si vous devez prendre un congé de maternité / paternité prolongé ou quelque chose comme ça? Qui va prendre en charge votre application alors? Et si vous souhaitez parler à quelqu'un de problèmes techniques spécifiques à votre entreprise? Et si vous souhaitez avoir des revues de code? Ou avez-vous besoin d'aide avec un bug délicat? Dans tous ces cas, il est utile d'avoir entre autres des informations sur la technologie que vous utilisez - en particulier sur la façon dont elle peut être appliquée pour résoudre les problèmes spécifiques de votre entreprise.

De toute façon, l'entreprise fait très peu de développement avec sa norme.

2 - Ce n'est pas parce qu'un document existe qu'il s'agit vraiment de la norme ou qu'il signifie quoi que ce soit. Cela peut simplement signifier qu'un groupe d'individus politiquement influents préconise cette approche, et il se peut que d'autres sous-groupes adoptent des approches différentes.

Votre problème peut simplement être que la «norme» a évolué vers un état de facto non documenté qui entre en conflit avec la «norme» documentée. Ou il peut y avoir de nombreux petits groupes officieux de personnes utilisant des «normes» différentes - l'un de ces groupes parvenant à officialiser leur «norme». Vous devrez probablement demander autour de vous pour déterminer ce que les autres membres de votre groupe - qui pourraient également vous soutenir et votre application - considèrent les meilleures pratiques. Demandez-leur ce qu'ils se sentent à l'aise avec vous. Identifiez le véritable paysage technologique de votre entreprise et découvrez où se trouve le savoir-faire. Comme tout bon élément de connaissance tribale en évolution, la seule façon de savoir comment procéder est de parler aux gens.

3 - Ne laissez pas passer des opportunités professionnelles pour apprendre de nouvelles choses . Vous devez vous garder contre le pigeonholed dans cette industrie. Soyez agile. Vous aurez peut-être l'occasion d'acquérir une certaine ampleur et d'apprendre une nouvelle façon de résoudre un problème. Sans oublier que vous acquérez de nouvelles compétences pour votre CV. Cela ne peut que vous aider à avoir à sortir de votre zone de confort pour faire quelque chose de nouveau. Cela étant dit, si la chose différente / nouvelle est si extrêmement niche que vous ne pensez pas que vous ou un futur employeur tirerez profit de ces compétences, alors ce n'est peut-être pas une si grande opportunité. Mais avoir la chance d'être à la fois un expert ASP.net et LAMP vous ouvrira certainement les yeux et ne pourra que vous aider dans votre carrière. Il n'y a rien de tel qu'un vrai projet avec un délai pour vous forcer à vraiment apprendre quelque chose.

Alors mon conseil, ne faites pas cavalier seul. Déterminez où les gens se tiennent vraiment et décidez où vous pouvez le mieux vous intégrer. Si vous avez besoin de sortir de votre zone de confort, profitez-en pour vous développer professionnellement.


4
+1: Vous soutiendrez cela tant que vous y travaillerez. Cependant, si vous partez, quelqu'un d'autre le soutiendra.
unholysampler

1
C'est une bonne réponse, mais j'ajouterais que le PO devrait parler à son manager des compromis pour voir à quel point il considère la norme stricte et s'il approuve son utilisation d'une autre pile pour ce projet.
Mike Partridge

Ne présumez pas que vous êtes le seul à soutenir cela : aussi, de cette façon, les gens peuvent réutiliser le code les uns des autres, au lieu de réinventer la roue chaque fois que nous avons besoin de quelque chose qui roule.
Konerak

2
Le moyen le plus rapide de rester coincé dans une position est de vous rendre irremplaçable. Si vous ne pouvez pas être remplacé, vous ne pouvez pas être promu.
Burhan Khalid

9

Cela étant dit, est-il préférable de violer les normes de l'entreprise et de choisir la configuration que je peux mieux prendre en charge, ou est-il préférable de choisir la configuration que l'entreprise peut mieux prendre en charge si jamais je partais, même si personne actuellement dans l'entreprise peut prendre en charge leur propre norme de toute façon?

C'est une décision de gestion. Faites-leur connaître vos préoccupations et insistez officiellement pour changer.

Cela dit, une langue est un outil et vous devez choisir le bon outil pour un travail; faites-leur comprendre que vous ne vissez pas une vis avec un marteau.


Il est important de noter que, dans le contexte de la question (compte tenu du niveau de détail disponible), ASP.NET et PHP sont tous deux le bon outil pour le travail en ce que les deux plates
Murph

1
ASP.NET est sans doute plus capable, c'est juste que l'op connaît mieux le php.
Kevin

1
@Kevin, La seule raison pour laquelle je pourrais jamais affirmer qu'ASP.Net est plus performant que PHP est qu'il s'intègre mieux à la sécurité AD / Windows même s'il est toujours possible d'intégrer PHP à la sécurité AD / Windows. En dehors de cela, je n'ai vu aucun avantage d'ASP.Net sur PHP.
Drew Chapin

De votre propre aveu, vous connaissez mieux le php, il n'est donc pas surprenant que vous disiez cela.
Kevin

8

Avez-vous des aspirations de promotion ou de travail sur d'autres projets? Si c'est le cas, je suggère que "faire sa propre chose" aura deux effets négatifs, ce qui entraînera presque certainement (paraphrase) "Je serai celui qui la soutiendra, jusqu'à ce que je parte"

  1. Parce que vous avez choisi de ne pas suivre les normes de l'entreprise, vous n'êtes pas particulièrement adapté à des postes plus élevés, car vous ne pouvez pas suivre des instructions simples.
  2. Parce que vous avez choisi de ne pas suivre la norme de l'entreprise, ce sera votre problème que personne d'autre dans l'entreprise ne puisse prendre en charge votre code.

Si vous choisissez d'utiliser la norme, il ne sera pas de votre responsabilité de continuer à maintenir le produit quand (si) une opportunité de promotion ou un autre projet se présente.

L'autre façon de regarder une analogie ridicule. Je déménage dans un pays où ils conduisent à gauche, cependant, je suis beaucoup plus habitué à conduire à droite, je préfère conduire à droite, à cause de cela, je suis meilleur dans ce domaine et je peux conduire plus vite. Dois-je conduire à droite?


+1 pour le dernier paragraphe - d'autant plus qu'en termes de capacité de la plate-forme, vous ne pouvez pas vraiment justifier le choix de PHP sur ASP.NET. Il pourrait y avoir un argument pour changer la norme en fonction des capacités des équipes de développement ...
Murph

5

Les entreprises ont des normes pour une raison, s'il existe une norme formelle qui dit d'utiliser x, alors vous devez justifier y.

Cela ne signifie pas que vous ne pouvez pas utiliser y, cela signifie que vous devez comprendre le raisonnement derrière la norme et obtenir l'approbation avant de la violer.

Peut-être qu'après avoir compris pourquoi, vous ne voudrez plus la violer, peut-être verrez-vous qu'elle doit être modifiée ou supprimée, ou qu'elle ne s'applique pas dans ce cas afin que l'utilisation de y ne soit pas un problème.

Si elle s'applique, à moins que vous ne puissiez la changer, vous devez la suivre. Les normes de l'entreprise ne sont pas tout à fait au même niveau que les commandes directes, mais votre employeur s'attend raisonnablement à ce que vous suiviez les deux, à moins qu'elles ne violent la loi.


1
Les normes de l'entreprise sont parfois liées à des raisons de marketing plutôt qu'à des considérations d'efficacité ou techniques.
Monsieur Smith,

@ Monsieur Smith Même ainsi, vous devez toujours parler à votre manager ou à quelqu'un qui a un pouvoir de décision afin de vérifier ces raisons. Voir ma réponse sur cette question.
Mike Cellini

1
@MisterSmith: des raisons de marketing valides sont tout aussi importantes, sinon plus, que la plupart des considérations techniques. Si vous ne connaissez pas la raison, vous ne connaissez pas la validité de la raison.
jmoreno

Oui, mais en lisant la question, j'ai eu l'impression qu'il n'y avait pas de manager au-dessus de lui pour ce projet, et que personne ne se souciait vraiment de faire respecter les normes. Si cela était vrai, je ne vois aucune raison de suivre aveuglément les normes au lieu de simplement choisir la technologie la plus connue.
Monsieur Smith,

@MisterSmith: Il ne suit pas aveuglément les normes, il suit aveuglément les normes de l'entreprise. Il y a une différence. Et si personne ne s'en soucie, il devrait être assez facile d'obtenir la permission de violer ou même de changer la norme.
jmoreno

2

Tout dépend si vous allez être viré ou non. Si vous allez être viré, ne le faites pas. Si vous n'allez pas vous faire virer, alors allez-y bien.


-1 C'est, à mon humble avis, un conseil terrible. Vous pourriez aussi bien aller dire aux gens d'écrire du code laid, incompréhensible, obscurci sans documentation (ou pire: fausse) juste pour se rendre indispensable. Sachez que si vous vous rendez indispensable, vous ne pourrez jamais monter dans l'entreprise, mais restez coincé à faire ce que vous faisiez et à maintenir votre propre code (merdique) pendant des siècles!
Konerak

@Konerak Eh bien, vous avez raison. Je n'étais pas sérieux à ce sujet. Je vais modifier ma question pour vous satisfaire.
Mike Nakis

Désolé Mike, je n'ai pas eu l'ironie;) J'étais heureux de voir une réponse sur indispensable, car cela m'a donné l'occasion de réagir et les gens liraient à ce sujet.
Konerak

1

Je pense que vous pouvez anticiper la plupart des problèmes qui pourraient en découler et faire un plan détaillé pour savoir si et quand vous deviez quitter l'entreprise.

Un problème qui pourrait gâcher les travaux serait si vous partiez et que les RH devaient rechercher votre remplaçant. Étant donné qu'ils essaient activement de comprendre ce que vous avez fait et embauchent en fonction des compétences nécessaires - ou - regardez simplement le document original qui spécifie la politique d'IIS / ASP.NET / etc. et embaucher aveuglément quelqu'un avec ces compétences pour maintenir votre code LAMP (sur le principe "parce qu'il le dit"), je pense que ce dernier est beaucoup plus probable.

La chose la plus simple (à long terme) est de faire ce que fabianhjr a recommandé et de changer la norme. Modifiez-le pour inclure à la fois Microsoft et LAMP s'ils résistent à un commutateur complet.


en fait, la publication officielle de mon travail ne nécessitait aucune connaissance en programmation / développement Web.
Drew Chapin,

1
@druciferre Raison de plus pour tout respec alors. Si ce projet devient une grande partie de votre responsabilité professionnelle et qu'il y avait une éventualité où ils seraient réembauchés en fonction de votre description de travail d'origine, ils seraient dans un ruisseau (pas que vous auriez à vous soucier à ce moment-là, mais juste pour leur intérêt).
jonsca

1

Dans ce cas, vous devez suivre la norme. Si la norme ne semble pas s'appliquer, vous devez parler à votre responsable de le faire dans une autre langue.

De toutes les normes à suivre dans le développement, je pense personnellement que le choix de la langue est le plus important . Ignorer le choix de langue standard en faveur d'une langue avec laquelle vous êtes plus à l'aise laisse des collègues et / ou des successeurs dans un ruisseau sans pagaie, car ils peuvent ne pas avoir les compétences pour travailler sur votre projet. Les décisions d'embauche d'une entreprise sont basées sur le choix de la langue, de sorte que des décisions comme celles-ci peuvent avoir un impact majeur. L'introduction d'une autre plate-forme / langue peut forcer l'entreprise à se retrouver dans une situation difficile lorsqu'elle commence à embaucher d'autres personnes.

Au-delà de la langue, vous devez considérer la prise en charge interne du serveur LAMP. Qui va administrer Apache? Et MySQL? Le logiciel de l'entreprise fonctionne-t-il sur une base de données différente? Les administrateurs seront-ils disposés à administrer une nouvelle plateforme? Même si vous prévoyez d'administrer ces services, les tâches pourraient éventuellement incomber à quelqu'un d'autre. Si vous prévoyez d'administrer les services, les administrateurs réseau / serveur vous permettront-ils de le faire?

Les ramifications de l'introduction d'une plate-forme différente peuvent être larges et profondes. Le non-respect de la norme peut finir par affecter de nombreuses personnes en plus de vous. Même si vous maîtrisez mieux LAMP qu'ASP.NET, le développement de cette plate-forme pourrait finir par coûter beaucoup plus cher à votre entreprise à long terme. La clé ici est de communiquer avec votre manager et de comprendre les effets de la décision finale.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.