Soll ich die Sprache verwenden, in der ich mich am wohlsten fühle, oder den Firmenstandard?

18

Ich werde eine Intranetsite für meine spezielle Anlage entwickeln, und unser Unternehmensstandard für die Webentwicklung ist IIS + ASP.Net + VB.Net + Microsoft SQL Server (beachten Sie, dass wir über 10 Anlagen haben). Die Intranet-Site wird nur von meiner Anlage verwendet, und ich bin der einzige, der sie unterstützt. Ich beherrsche ein LAMP- Setup viel besser , und ich kann mit PHP viel schneller entwickeln und Probleme lösen als mit ASP.Net. Obwohl der "Standard" der Firma ASP.Net/VB.Net ist, besteht das meiste, was die Firma als Ganzes tut, darin, Software von Drittanbietern (die normalerweise auf Java basiert) zu kaufen Das Unternehmen weiß sogarVB6 , geschweige denn ASP.Net/VB.Net.

Abgesehen davon ist es besser, gegen den Unternehmensstandard zu verstoßen und das Setup zu wählen, das ich besser unterstützen kann, oder das Setup zu wählen, das das Unternehmen besser unterstützen kann, wenn ich jemals gehen würde, obwohl derzeit niemand abreist in der Firma können ihre eigenen Standard trotzdem unterstützen?

Einige zusätzliche Faktoren, die in meinem persönlichen Fall zu berücksichtigen sind:

  • Auch dies gilt nur für meine Anlage, und ich bin der einzige, der sie jemals unterstützt, wenn ich das Unternehmen nicht verlasse, und dann würde mein Nachfolger sie unterstützen. Nicht jemand anderes bereits in der Firma.
  • Das Unternehmen entwickelt ohnehin nur sehr wenig mit seinem Standard.
  • Kaum eine der im Unternehmen vorhandenen Software verwendet ihren Standard.
  • Wenn ich den Firmenstandard wähle, muss ich die Express-Version von Microsoft SQL und ein Windows 7-Betriebssystem verwenden. Aus meiner Sicht ist die Express-Version für den Geschäftsgebrauch in Ordnung, aber die Datenbankgröße ist begrenzt.
Drew Chapin
quelle
25
Das Schlüsselwort hier ist verletzt . Sie haben das richtige Wort gewählt, und wenn Sie nur Ihre eigene Frage lesen, sollten Sie feststellen, dass dies eine ziemlich dumme Idee ist. Sie haben den Standard aus einem bestimmten Grund gewählt. Wenn Sie mit dieser Wahl nicht einverstanden sind, sollten Sie sie formal nach oben lenken.
Joel Etherton
3
"Ich meine, nur sehr wenige Mitarbeiter des Unternehmens kennen VB6, geschweige denn ASP.Net/VB.Net." Ich verstehe nicht wirklich, was das mit irgendetwas zu tun hat. VB6 ist ein hässlicher Legacy-Code - die Tatsache, dass niemand weiß, dass es eine wirklich gute Sache ist.
DeadMG
1
@DeadMG, das Problem gibt es, dass keiner von ihnen VB.Net kennt. Also, was ist wichtig, welche Sprache ich benutze? Sie müssten immer noch jemanden einstellen, der sie unterstützt, wenn ich gehe.
Drew Chapin
3
SQl Server Express unterstützt Datenbanken mit bis zu 4 GB. Das ist in der Regel ausreichend, wenn dies nicht der Fall ist, wird eine andere Datenbank benötigt, und Sie sollten dies wahrscheinlich mit den relevanten Personen (IT-Mitarbeiter, Vorgesetzte usw.)
Holger,
3
@Baboon, ja, es ist nicht so, dass Websites wie Facebook jemals so etwas Ungewöhnliches verwenden würden
SWeko

Antworten:

38

Auch dies gilt nur für meine Anlage, und ich bin der einzige, der sie jemals unterstützt, wenn ich das Unternehmen nicht verlasse, und dann würde mein Nachfolger sie unterstützen. Nicht jemand anderes bereits in der Firma.

1 - Gehen Sie nicht davon aus, dass Sie der einzige sind, der dies unterstützen wird. Du magst deine kranke Zeit und deine Ferien, oder? Was ist, wenn Sie einen verlängerten Mutterschafts- / Vaterschaftsurlaub oder etwas anderes in Anspruch nehmen müssen? Wer wird deine App dann unterstützen? Was ist auch, wenn Sie mit jemandem über unternehmensspezifische technische Probleme sprechen möchten? Was ist, wenn Sie Code-Überprüfungen haben möchten? Oder brauchen Sie Hilfe bei einem kniffligen Fehler? In all diesen Fällen ist es hilfreich, unter anderem einen Einblick in die von Ihnen verwendete Technologie zu haben - insbesondere in die Art und Weise, wie sie zur Lösung der spezifischen Probleme Ihres Unternehmens eingesetzt werden kann.

Das Unternehmen entwickelt ohnehin nur sehr wenig mit seinem Standard.

2 - Nur weil ein Dokument existiert, heißt das nicht, dass es wirklich der Standard ist oder irgendetwas bedeutet. Es kann einfach bedeuten, dass es eine Gruppe politisch einflussreicher Personen gibt, die diesen Ansatz befürworten, und es kann sich herausstellen, dass es andere Untergruppen gibt, die andere Ansätze verfolgen.

Ihr Problem kann einfach sein, dass sich der "Standard" zu einem de facto undokumentierten Zustand entwickelt hat, der mit dem dokumentierten "Standard" in Konflikt steht. Oder es gibt viele kleine inoffizielle Gruppierungen von Menschen, die unterschiedliche "Standards" verwenden - wobei eine dieser Gruppen es schafft, ihren "Standard" offiziell zu machen. Sie müssen wahrscheinlich nachfragen, um herauszufinden, welche anderen Personen in Ihrer Gruppe - die Sie und Ihre App möglicherweise auch unterstützen - Best Practices in Betracht ziehen. Fragen Sie, wie sie sich bei Ihnen wohl fühlen. Zeichnen Sie die reale Technologielandschaft Ihres Unternehmens auf und finden Sie heraus, wo sich das Know-how befindet. Genau wie bei jedem guten Stück Stammeswissen können Sie nur mit Menschen sprechen, wenn Sie wissen, wie es weitergeht.

3 - Verpassen Sie keine beruflichen Gelegenheiten, um neue Dinge zu lernen . Sie müssen sich davor hüten, in dieser Branche in eine Schublade gesteckt zu werden. Sei flink. Möglicherweise haben Sie die Möglichkeit, etwas an Breite zu gewinnen und einen neuen Weg zur Lösung eines Problems zu erlernen. Ganz zu schweigen davon, dass Sie neue Fähigkeiten für Ihren Lebenslauf erwerben. Meist hilft es nur, aus der Komfortzone herauszukommen, um etwas Neues zu tun. Davon abgesehen ist dies vielleicht keine so gute Gelegenheit, wenn die neue / andere Sache so extrem nisch ist, dass Sie oder zukünftige Arbeitgeber keinen Nutzen aus diesen Fähigkeiten ziehen. Aber die Chance, sowohl ASP.net- als auch LAMP-Experte zu werden, wird sicherlich Ihre Augen öffnen und kann nur Ihrer Karriere helfen. Es gibt nichts Schöneres als ein echtes Projekt mit einer Frist, die Sie dazu zwingt, wirklich etwas zu lernen.

Also mein Rat, mach es nicht alleine. Finden Sie heraus, wo Menschen wirklich stehen, und entscheiden Sie, wo Sie am besten hineinpassen. Wenn Sie Ihre Komfortzone verlassen müssen, nutzen Sie dies als Gelegenheit, um professionell zu wachsen.

Doug T.
quelle
4
+1: Sie werden dies unterstützen, solange Sie dort arbeiten. Wenn Sie jedoch gehen, wird es von jemand anderem unterstützt.
Unholysampler
1
Dies ist eine gute Antwort, aber ich möchte hinzufügen, dass das OP mit seinem Manager über die Kompromisse sprechen sollte, um zu sehen, wie streng sie den Standard einhalten und ob sie die Verwendung eines anderen Stacks für dieses Projekt genehmigen würden.
Mike Partridge
Gehen Sie nicht davon aus, dass Sie der Einzige sind, der dies unterstützt : Auf diese Weise können die Leute den Code von einander wiederverwenden, anstatt das Rad jedes Mal neu zu erfinden, wenn wir etwas brauchen, das rollt.
Konerak
2
Der schnellste Weg, in einer Position stecken zu bleiben, besteht darin, sich unersetzlich zu machen. Wenn Sie nicht ersetzt werden können, können Sie nicht befördert werden.
Burhan Khalid
9

Abgesehen davon ist es besser, gegen den Unternehmensstandard zu verstoßen und das Setup zu wählen, das ich besser unterstützen kann, oder das Setup zu wählen, das das Unternehmen besser unterstützen kann, wenn ich jemals gehen würde, obwohl derzeit niemand abreist in der Firma können sie trotzdem ihren eigenen Standard unterstützen?

Es ist eine Managemententscheidung. Machen Sie sie auf Ihre Bedenken aufmerksam und bestehen Sie förmlich auf Änderungen.

Das heißt, eine Sprache ist ein Werkzeug, und Sie müssen das richtige Werkzeug für einen Job auswählen. Machen Sie ihnen klar, dass Sie eine Schraube nicht mit einem Hammer eindrehen.

Fabián Heredia Montiel
quelle
Es ist wichtig zu beachten, dass im Kontext der Frage (angesichts des verfügbaren Detaillierungsgrades) ASP.NET und PHP beide das richtige Werkzeug für den Job sind, da beide Plattformen sehr leistungsfähig sind
Murph
1
ASP.NET ist wohl leistungsfähiger, es ist nur so, dass die op PHP besser kennt.
Kevin
1
@ Kevin, Der einzige Grund, warum ich jemals behaupten konnte, dass ASP.Net leistungsfähiger ist als PHP, ist die bessere Integration in die AD / Windows-Sicherheit, obwohl es immer noch möglich ist, PHP in die AD / Windows-Sicherheit zu integrieren. Abgesehen davon habe ich keine Vorteile von ASP.Net gegenüber PHP gesehen.
Drew Chapin
Aus eigener Erfahrung wissen Sie PHP viel besser und es ist nicht verwunderlich, dass Sie das sagen würden.
Kevin
8

Haben Sie irgendwelche Ambitionen für eine Beförderung oder arbeiten Sie an anderen Projekten? Wenn ja, schlage ich vor, dass "das eigene Ding machen" mit ziemlicher Sicherheit zwei negative Auswirkungen hat, die zur Folge haben (Umschreibung): "Ich werde derjenige sein, der es unterstützt, bis ich gehe."

  1. Da Sie sich entschieden haben, die Unternehmensstandards nicht zu befolgen, sind Sie für höhere Positionen nicht besonders geeignet, da Sie einfache Anweisungen nicht befolgen können.
  2. Da Sie sich entschieden haben, nicht dem Unternehmensstandard zu folgen, besteht das Problem, dass niemand im Unternehmen Ihren Code unterstützen kann.

Wenn Sie sich für die Verwendung des Standards entscheiden, liegt es nicht in Ihrer Verantwortung, das Produkt weiter zu pflegen, wenn (falls) sich eine Gelegenheit für eine Promotion oder ein anderes Projekt ergibt.

Die andere Art, eine lächerliche Analogie zu betrachten. Ich ziehe in ein Land, in dem sie links fahren, aber ich bin viel mehr daran gewöhnt, rechts zu fahren, ich fahre lieber rechts, aus diesem Grund bin ich besser darin und kann schneller fahren. Soll ich rechts fahren?

mattnz
quelle
+1 für den letzten Absatz - besonders in Bezug auf die Leistungsfähigkeit der Plattform kann man sich nicht wirklich für die Wahl von PHP gegenüber ASP.NET aussprechen. Möglicherweise gibt es ein Argument für die Änderung des Standards basierend auf den Fähigkeiten von
Murph
5

Unternehmen haben aus einem bestimmten Grund Standards. Wenn es einen offiziell festgelegten Standard gibt, der die Verwendung von x vorsieht, müssen Sie y rechtfertigen.

Dies bedeutet nicht, dass Sie y nicht verwenden können, sondern dass Sie die Gründe für den Standard verstehen und die Genehmigung einholen sollten, bevor Sie dagegen verstoßen.

Vielleicht wollen Sie nicht mehr dagegen verstoßen, wenn Sie verstanden haben, warum, vielleicht werden Sie feststellen, dass es geändert oder verschrottet werden muss, oder dass es in diesem Fall nicht gilt, sodass die Verwendung von y kein Problem darstellt.

Wenn es zutrifft, sollten Sie es befolgen, es sei denn, Sie können es ändern. Unternehmensstandards sind nicht ganz so hoch wie Direktaufträge, aber Ihr Arbeitgeber erwartet von Ihnen, dass Sie beidem folgen, es sei denn, sie verstoßen gegen das Gesetz.

jmoreno
quelle
1
Unternehmensstandards beziehen sich manchmal eher auf Marketinggründe als auf Effizienz oder technische Überlegungen.
Mister Smith
@Mister Smith Trotzdem müssen Sie noch mit Ihrem Vorgesetzten oder einer Person mit Entscheidungsbefugnis sprechen, um diese Gründe zu überprüfen. Siehe meine Antwort auf diese Frage.
Mike Cellini
1
@MisterSmith: Gültige Marketinggründe sind genauso wichtig, wenn nicht sogar wichtiger als die meisten technischen Überlegungen. Wenn Sie den Grund nicht kennen, kennen Sie die Gültigkeit des Grundes nicht.
Jmoreno
Ja, aber als ich die Frage las, hatte ich den Eindruck, dass für dieses Projekt kein Manager an der Spitze steht und dass es niemanden wirklich interessiert, Standards durchzusetzen. Wenn das stimmt, sehe ich keinen Grund, blind Standards zu folgen, anstatt nur die bekanntere Technologie zu wählen.
Mister Smith
@MisterSmith: Es folgt nicht blind Standards, es folgt blind Unternehmensstandards. Es besteht ein Unterschied. Und wenn es niemanden interessiert, sollte es einfach genug sein, die Erlaubnis zu erhalten, gegen den Standard zu verstoßen oder ihn sogar zu ändern.
Jmoreno
2

Es hängt alles davon ab, ob Sie gefeuert werden oder nicht. Wenn Sie gefeuert werden, tun Sie es nicht. Wenn Sie nicht gefeuert werden, dann machen Sie es auf jeden Fall weiter.

Mike Nakis
quelle
-1 Das ist ein schrecklicher Ratschlag. Sie können den Leuten auch sagen, dass sie hässlichen, unverständlichen, verschleierten Code ohne (oder noch schlimmer: falsche) Dokumentation schreiben sollen, um sich selbst unentbehrlich zu machen. Wisse, dass du, wenn du dich selbst unentbehrlich machst, niemals in der Lage sein wirst, in der Firma aufzusteigen, sondern feststeckst, was du getan hast und deinen eigenen (beschissenen) Code für Ewigkeiten beibehältst!
Konerak
@Konerak Nun, du hast recht. Ich habe es nicht ernst gemeint. Ich werde meine Frage bearbeiten, um Sie bei Laune zu halten.
Mike Nakis
Sorry Mike, ich habe den ironischen Teil nicht bekommen;) Ich war froh, eine Antwort über unentbehrlich zu sehen, weil es mir die Möglichkeit gab zu reagieren und die Leute darüber lesen würden.
Konerak
1

Ich denke, Sie können viele der daraus entstehenden Probleme antizipieren und einen detaillierten Plan erstellen, ob und wann Sie das Unternehmen jemals verlassen mussten.

Ein Problem, das die Arbeit zunichte machen könnte, wäre, wenn Sie gehen und HR nach Ihrem Ersatz suchen müsste. Vorausgesetzt, sie versuchen entweder aktiv zu verstehen, was Sie getan haben, und stellen entsprechend den erforderlichen Fähigkeiten ein - oder schauen Sie sich einfach das Originaldokument an, in dem die Richtlinien von IIS / ASP.NET / etc. und blind jemanden mit diesen Fähigkeiten einstellen, um Ihren LAMP-Code zu pflegen (nach dem Prinzip "weil es so aussagt"), ich denke, letzteres ist viel wahrscheinlicher.

Das Einfachste (auf lange Sicht) ist, das zu tun, was fabianhjr empfohlen hat, und den Standard zu ändern. Ändern Sie es, um Microsoft und LAMP einzuschließen, wenn sie einem vollständigen Schalter widerstehen.

jonsca
quelle
Tatsächlich erforderte das offizielle Posting für meinen Job keinerlei Programmier- / Webentwicklungskenntnisse.
Drew Chapin
1
@druciferre Umso mehr Grund alles zu respektieren dann. Wenn dieses Projekt zu einem großen Teil Ihrer Jobverantwortung wird und es einige Fälle gibt, in denen sie auf der Grundlage Ihrer ursprünglichen Jobbeschreibung neu eingestellt werden, sind sie ein Bach hoch (nicht, dass Sie sich zu diesem Zeitpunkt darum kümmern müssten, sondern nur um ihretwegen).
jonsca
1

In diesem Fall müssen Sie den Standard befolgen. Wenn der Standard nicht zutrifft, müssen Sie mit Ihrem Vorgesetzten darüber sprechen, ob dies in einer anderen Sprache möglich ist.

Von allen Standards, die bei der Entwicklung beachtet werden müssen, halte ich die Wahl der Sprache für die wichtigste . Wenn Sie die Auswahl der Standardsprache zugunsten einer Sprache ignorieren, fühlen Sie sich wohler, wenn Mitarbeiter und / oder Nachfolger einen Bach ohne Paddel hinaufsteigen, da sie möglicherweise nicht über die Fähigkeiten verfügen, an Ihrem Projekt zu arbeiten. Die Einstellungsentscheidungen eines Unternehmens basieren auf der Wahl der Sprache, sodass Entscheidungen wie diese einen großen Einfluss haben können. Die Einführung einer weiteren Plattform / Sprache kann das Unternehmen in eine schwierige Situation zwingen, wenn es andere Mitarbeiter anstellt.

Über die Sprache hinaus müssen Sie die interne Unterstützung für den LAMP-Server in Betracht ziehen. Wer wird Apache verwalten? Wie wäre es mit MySQL? Läuft die Software des Unternehmens auf einer anderen Datenbank? Werden die Administratoren bereit sein, eine neue Plattform zu administrieren? Selbst wenn Sie vorhaben, diese Dienste zu verwalten, könnten die Aufgaben letztendlich von jemand anderem übernommen werden. Wenn Sie vorhaben, die Dienste zu verwalten, können Sie dies dann von den Netzwerk- / Serveradministratoren tun?

Die Auswirkungen der Einführung einer anderen Plattform können weitreichend und tiefgreifend sein. Das Nichtbeachten des Standards kann viele Menschen außer Ihnen betreffen. Auch wenn Sie LAMP besser beherrschen als ASP.NET, kann der Aufbau dieser Plattform Ihr Unternehmen langfristig viel mehr kosten. Entscheidend ist dabei die Kommunikation mit Ihrem Vorgesetzten und das Verständnis für die Auswirkungen der endgültigen Entscheidung.

Mike Cellini
quelle