28 Stimmen

Ethik der Verwendung einer "Randsprache" für Ihre Arbeit?

Ich möchte hier nur um einige Meinungen bitten. Was halten Sie von der Verwendung einer Sprache (und/oder eines Frameworks), die an Ihrem Standort nicht weit verbreitet ist, um Software für ein Unternehmen zu schreiben? Ich lebe zum Beispiel in einem Gebiet, das von .NET dominiert wird, mit gelegentlichen Aufträgen für PHP. Nehmen wir an, ich lerne Python und beschließe, es zu verwenden, um Software für meine Arbeit zu schreiben (ich bin ein "Team of One", also kann ich so ziemlich alles verwenden, was ich will).

Jetzt ist ihre Software in einer Sprache geschrieben, die so gut wie niemand in der Gegend benutzt oder kennt; wenn ich das Unternehmen verlassen würde, hätten sie im Grunde niemanden, der sie pflegen/erweitern könnte, es sei denn, sie würden mich als Berater behalten. Das ist zwar wirklich gut für mich, kommt mir aber ein bisschen "schief" vor - zugegeben, so funktioniert die Geschäftswelt.

Was denken Sie darüber?

Ich sollte erwähnen, dass dies ein sehr kleines Unternehmen ist und ich die einzige IT-Person bin, so dass ich bei der Wahl unserer Entwicklungsplattform freie Hand habe. Ich verwende nicht speziell Python, sondern habe es als Beispiel gewählt, da mein Bereich fast vollständig auf .NET basiert; ich mag .NET allerdings nicht mehr, weshalb ich es nicht in Betracht ziehen möchte. Außerdem ist das Unternehmen... wie sollen wir sagen... äußerst sparsam und würde die erforderlichen Ressourcen für .NET (z. B. Serverlizenzen, SQL-Lizenzen, Visual Studio, Komponenten) nicht kaufen. Ich persönlich habe ein MSDN-Abonnement, aber das kann ich nicht für sie verwenden.

Auch FWIW dort son Leute in der Gegend, die die Sprache verwenden, die ich verwenden möchte (Ruby on Rails), aber bei weitem nicht so viele wie .NET-Entwickler. Es ist ja nicht so, dass ich etwas verwende, das nur ich kenne.

1 Stimmen

Btw, Python ist keine "Rand"-Sprache, selbst auf StackOverflow, das von .NET-Entwicklern dominiert wird.

0 Stimmen

Ja, ich persönlich würde mir keine Sorgen über einen Mangel an Entwicklern machen, wenn es um Ruby on Rails oder Python geht; das sind Mainstream-Sprachen, und ein Unternehmen sollte sich nicht darum bemühen müssen, Leute zu finden, die sie schreiben können.

1 Stimmen

Okay - ich habe diese Sprache als "Randsportart" bezeichnet, weil ich auf den üblichen Jobbörsen keine Stellenanzeigen für Rails/Python-Entwickler sehe.

1voto

Chris Ballance Punkte 32892

Wenn man in Rom ist, sollte man es den Römern gleichtun.

Sie sind vielleicht nicht derjenige, der diesen Code langfristig pflegen will, und nicht jeder will eine "Randsprache" lernen, um Fehler zu beheben oder Verbesserungen vorzunehmen.

Bei einem früheren Job habe ich einige VBA-Sachen zur Verarbeitung auf Perl umgestellt und die Effizienz um mehrere Größenordnungen gesteigert, aber letztendlich war niemand bereit, Perl zu lernen, so dass ich mit dieser Aufgabe länger feststeckte, als ich wollte.

1voto

Dave Sherohman Punkte 44017

Was die gestellte Frage betrifft, so sehe ich nichts Unethisches darin, vorausgesetzt, dass:

  1. Es handelt sich um eine frei verfügbare Sprache. Ich bin zwar ein Anhänger von FOSS, aber das ist nicht das Kriterium, um das es hier geht. Sie muss frei verfügbar sein (nicht unbedingt FOSS), damit dem Unternehmen keine Kosten entstehen und andere die Möglichkeit haben, sie zu erlernen, falls Sie jemals ersetzt werden müssen (oder wenn sie mit Ihnen um Ihren Arbeitsplatz konkurrieren wollen).
  2. Sie wechseln die Sprache aus guten Gründen und nicht, um sich an einen bestimmten Anbieter zu binden (oder, wenn Sie es so nennen wollen, um Ihren Arbeitsplatz zu sichern). Von der Ethik einmal abgesehen, wollen Sie wirklich keinen Job haben, bei dem man Sie hasst, aber an Ihnen festhält, weil Sie der Einzige sind, der das Chaos, das Sie angerichtet haben, irgendwie aufrechterhalten kann.

In dem speziellen Fall, den Sie beschrieben haben, würde ich vorschlagen, dass der Wechsel zu RoR die ethischere Wahl sein könnte, da es entschieden unethisch (um nicht zu sagen illegal) wäre, .NET zu verwenden, wenn es benötigte Ressourcen gibt, die nur gegen Bezahlung erhältlich sind, und Ihr Arbeitgeber ist zu billig sparsam, um entsprechende Lizenzen für sie zu erwerben.

1voto

PTBNL Punkte 5937

Andere Poster haben einige gute Punkte genannt, aber hier ist einer, den ich nicht gesehen habe: Teilen Sie die Situation der Geschäftsleitung mit und lassen Sie sie entscheiden. Mit anderen Worten: Sprechen Sie mit Ihrem Chef und sagen Sie ihm oder ihr, dass es derzeit mehr .NET-Entwickler in Ihrem Bereich gibt, so dass es einfacher wäre, jemanden zu finden, der Ihren Code pflegt, wenn Sie morgen von einem Bus überfahren werden; es gibt jedoch Tools, die Sie brauchen, um Ihre Arbeit effizienter zu erledigen, und die kosten Geld (und sagen Sie ihnen, wie viel). Alternativ könnten Sie das auch in Python oder RoR (oder was auch immer) machen und kostenlose Tools verwenden, aber nach dem, was Sie wissen, gibt es derzeit nicht so viele Leute in der Gegend, die diese Sprachen beherrschen. Ich habe hier ein paar Mal "derzeit" verwendet, weil sich das mit der Zeit ändern kann.

Bevor Sie dieses Gespräch führen, sollten Sie prüfen, ob es in Ihrer Gegend Benutzergruppen für die alternative Technologie gibt und wie groß diese sind. Sie könnten auch auf Listen fragen, ob es in Ihrer Gegend Leute gibt, die die Alternativen kennen.

Natürlich kann Ihr Chef Ihnen sagen, dass Sie weiterhin .NET ohne jegliche Tools verwenden sollen, aber in diesem Fall ist es seine Entscheidung, sich selbst in den Fuß zu schießen. (Und Sie müssen entscheiden, ob Sie sich einen neuen Job suchen wollen.)

1voto

Jas Panesar Punkte 6587

Die Ethik besteht darin, das beste Werkzeug für die jeweilige Aufgabe zu verwenden. Wenn es ein Werkzeug gibt, mit dem Sie nur 20 % der Zeit für die Programmierung benötigen, das so gut wie wartungsfrei ist und das sich leicht umgestalten lässt, dann ist es Ihre Pflicht, dieses Werkzeug zu wählen, vorausgesetzt, es ist so erweiterbar, wie Sie es in Ihrem Unternehmen benötigen.

Wenn Sie gute Arbeit leisten, stellen Sie künftige Mitarbeiter ein und bilden sie in Bezug auf die WIE Ihr Arbeitsplatz sollte die Praxis eines jeden wachsenden Unternehmens sein. Sie werden in der Lage sein, den Code zu lernen, wenn sie die richtige Person für das Unternehmen sind.

In Ihrem Fall bin ich mir nicht sicher, ob Sie Python verwenden wollen, es sei denn, es hat native .NET-Unterstützung, damit Ihre .NET-Welt damit interagieren kann.

0 Stimmen

Aber neben der Zeit für die Programmierung muss er auch andere Faktoren wie die Wartbarkeit berücksichtigen. Es gibt ein Gleichgewicht, das in dieser Hinsicht aufrechterhalten werden muss, oder?

0 Stimmen

Das ist sicher. Ich stelle fest, dass 80 % des Codes selten wieder angefasst werden. Wenn die Spezifikationen in Bezug auf Eingabe/Ausgabe klar formuliert sind, sollte das keine große Sache sein. Wir könnten auch mit unwartbarem .NET-Code konfrontiert werden. Arbeitgeber, die es schnell, billig und richtig haben wollen, können ihren Willen durchsetzen. Jetzt zahlen oder später zahlen, das ist doch dasselbe?

1voto

Stephan Eggermont Punkte 15743

Es besteht ein großer Unterschied zwischen "Prototyp"- oder "One-Shot"-Code und Produktionscode. Für das Prototyping verwende ich das, was am schnellsten funktioniert, aber ich bin mir über seinen Status im Klaren. Produktionscode wird in einer der genehmigten und unterstützten Umgebungen geschrieben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X