Entwickler davon überzeugen, IDE zu verwenden [geschlossen]

8

Es gibt einen Entwickler, nennen wir ihn John (derzeit auf Probe) in der Firma (ziemlich kleine Firma, ca. 10 Personen, 3 Entwickler, einer von ihnen arbeitet lange in dieser Firma, kennt Geschäftsprozesse und kann als Teamleiter betrachtet werden) wollte überhaupt keine IDE verwenden (er verwendet einen Texteditor).

Die Anwendung, an der dieses Team arbeitet, ist eine mittelgroße Java-Anwendung mit Spring Hibernate-Technologie-Stack und Refactoring / Hinzufügen neuer Funktionen, um in naher Zukunft eine neue Version dieser Anwendung zu starten.

Die Leistung von John, die ohne IDE in dieser Anwendung arbeitet, ist geringer als wünschenswert. Die Annahme des Teamleiters (nennen wir ihn Bill) ist, dass dies geschieht, weil John keine IDE verwendet.

Bill versucht John davon zu überzeugen, IDE zu verwenden, aber diese Idee stößt auf großen Widerstand und der Hauptgrund ist: "Ich möchte die vollständige Kontrolle darüber haben, was ich tue, also muss ich den gesamten Code selbst schreiben."

Wie kann Bill John davon überzeugen, IDE zu verwenden? (In Anbetracht der Tatsache, dass Bill John bereits vor dem Firmeninhaber geschützt hat, mehrere Beschwerden über die Leistung von John)

Aktualisiert: Bill beschließt, John noch einmal zu überzeugen, wenn dieser Versuch erfolglos bleibt. Dann wird er nicht versuchen, John zur Verwendung von IDE zu zwingen, sondern prüfen, ob die von John versprochenen Funktionen rechtzeitig geliefert werden oder nicht.

artjom
quelle
5
Komisch. Ich denke, er möchte Schmerzen fühlen. Ich erinnere mich, dass ich COBOL in einem Texteditor codiere. Als ich meine erste IDE erlebte, dachte ich, ich betrüge. Vielleicht geht es ihm genauso?
TeaDrinkingGeek
53
Woher wissen Sie, dass seine Produktivität geringer ist? Wie haben Sie die Produktivität gemessen? Ebenfalls. Es fällt mir schwer zu glauben, dass es sich um einen Texteditor handelt (wie einen Notizblock). Ist es ein Editor wie vi oder Emacs? Dies sind beide Umgebungen für sich in den Händen eines erfahrenen Benutzers.
Martin York
23
"irgendein Texteditor" kann viel mächtiger sein als Sie denken.
6
Ich bin gespannt, wie schnell jemand mit vi / emacs Methoden extrahieren, Methoden umbenennen, Inline-Methoden anwenden, lokale Variablen einführen, Felder / Methoden verschieben usw. kann.
Artjom
6
@artjomka: Viel schneller als du denkst. Es kann alles geschrieben werden. Sie denken, all diese automatisierten Aufgaben wurden erst nach Einführung der IDE erfunden.
Martin York

Antworten:

46

Sie haben die Frage mehr oder weniger bereits beantwortet:

  1. Er ist auf Bewährung
  2. Er ist nicht produktiv genug

Daher muss ihm klar gemacht werden, dass:

  1. Er muss produktiver sein, sonst überlebt er seine Bewährung nicht.
  2. Er ist mit einer richtigen IDE wahrscheinlich produktiver als mit einem guten Texteditor.
  3. Bei einer guten IDE geht es nicht darum, die Kontrolle über den von Ihnen geschriebenen Code aufzugeben, sondern darum, Ihnen Tools zur Verfügung zu stellen, mit denen Sie Arbeitscode schneller erstellen können, unabhängig davon, ob Sie die in der IDE verfügbaren Codegenerierungs- und Vorlagenfunktionen verwenden .

Die mangelnde Bereitschaft, sich an seine Umgebung anzupassen, könnte ebenfalls ein Problem sein.

Murph
quelle
25
"Die mangelnde Bereitschaft, sich an seine Umgebung anzupassen, könnte ebenfalls ein Problem sein". Dies wäre auch für mich eine rote Fahne, er würde hier allein keine Probezeit dauern.
Binary Worrier
9
Das Problem ist, dass die meisten von Unternehmen bevorzugten IDEs schlechte sind, da sie ausschließlich auf der Grundlage der Kosten ausgewählt werden (dh kostenlos ...). Das bedeutet normalerweise Netbeans oder JDeveloper oder eine Art Eclipse. Die ersten beiden sind katastrophal, die letzten sind oft besonders in größeren Teams, da die Koordination von Einstellungen und Plugins mit Eclipse die Hölle ist.
Jwenting
4
@jwenting Ich weiß nicht, wie groß du meinst, aber ich habe noch kein Team gesehen, das so groß ist, dass Eclipse es nicht schafft. Einstellungen und Plugins sollten natürlich standardisiert sein, was einfach ist.
biziclop
46
+1 Das Problem ist: "John ist nicht produktiv genug." Konzentrieren Sie sich nicht auf die IDE als Problem.
Andres Jaan Tack
1
"Die mangelnde Bereitschaft, sich an seine Umgebung anzupassen, könnte ebenfalls ein Problem sein" - IMO setzt das Management meistens dumme Regeln durch, denen die normale Herdenmentalität der Menschen nichts ausmacht, wenn Personen mit kritischem Denken dies in Frage stellen. Das Management mag keine Leute, die ihre Entscheidungen in Frage stellen, damit sie rote Fahnen setzen und behaupten, Jhon sei nicht kooperativ.
Eastern Monk
22

Bill sollte John sagen , dass er über lieber einfachen Texteditor ist richtig, aber leider mit Sprache + Frameworks wie Java + Hibernate + Spring, er braucht eine IDE zu verwenden , wenn er will , effizient sein.

Ich bin ein bisschen wie John. Ich benutze keine IDEs.
Wenn ich in ruby ​​/ python / bash / lisp codiere, verwende ich keine IDE.

Aber wenn ich es mit einer so einfachen / ausführlichen Sprache wie Java und Frameworks zu tun habe, die es sehr schwierig machen, Ihren Code ohne Hilfe zu durchsuchen, verwende ich die IDE. Das gilt auch, wenn ich die Sprache / das Framework nicht sehr gut kenne.

  • Je mehr Abstraktionen / Muster / Frameworks Sie verwenden, desto mehr benötigen Sie eine IDE, die Sie beim Navigieren durch Ihren Code unterstützt.
  • Je niedriger eine Ebene / ausführlich / unbekannt für Sie ist, desto mehr benötigen Sie eine IDE, die Ihnen beim Generieren / Finden des benötigten Codes helfen kann.

Sagen Sie ihm, dass er eine IDE verwenden muss, wenn er mit den von Ihnen verwendeten Tools effizient arbeiten möchte. Bill sollte sich auch mit John paaren, um ihm zu zeigen, wie effizient er mit der IDE umgehen kann.

David
quelle
2
++ für die Paarprogrammierung - nur eine IDE vor sich zu haben, ist nutzlos, ohne dass Ihnen jemand die praktischen Tastenanschläge zeigt, um Dinge zu erledigen
Gary Rowe
6
Seit wann ist Java eine einfache Sprache geworden? ;-)
Craige
5
@Craige: 'Levelness' ist relativ. Im Vergleich zu modernen dynamischen Sprachen ist Java eine Low-Level-Sprache mit High-Level-Bibliotheken.
Javier
@Craige, du kannst "low-level" entfernen, wenn du willst, aber du kannst das "verbose" nicht entfernen;)
David
Abgesehen davon, dass Sie sich mit einem ausreichend leistungsfähigen Editor möglicherweise irren und er mit seinem Editor möglicherweise produktiver ist als in der IDE. Das Beharren auf Glaubenspunkten (z. B. eine zufällige IDE ist produktiver als vi oder emacs) wird das Problem nur verschlimmern, da der unproduktive Entwickler feststellen wird, dass Sie sich über die falschen Dinge aufregen.
David Thornley
12

Ich denke, eine IDE zu pushen, ist eine schlechte Idee. Ich denke, eine Liste von Werkzeugen zu haben, die die Leute benutzen können, und ihn dann wählen zu lassen, was er benutzt, ist eine respektvollere Lösung.

Konzentrieren Sie sich dann auf die Leistung und Produktivität des tatsächlichen Problems und geben Sie echte Statistiken darüber, wie bestimmte Projekte zu viel Zeit in Anspruch genommen haben.

Lassen Sie den Fokus überhaupt nicht auf dem Werkzeug liegen, mit dem er programmiert, sondern lassen Sie ihn einfach seine eigene Lösung finden, solange das Ziel eine bessere Produktivität ist.

Ich bin in viele Unternehmen gekommen, 90% kümmern sich nicht darum, solange sie keine Werkzeuge bezahlen müssen, 10% kümmern sich darum und verlangen, dass sie ihre Werkzeuge verwenden.

Wenn Sie die IDE zum eigentlichen Schwerpunkt Ihrer Diskussion machen, sind Sie völlig respektlos gegenüber ihm und seinen Methoden.

Anstatt sich auf das eigentliche Schlüsselthema zu konzentrieren, die Produktivität, Qualität und Leistung.

Ich selbst benutze seit über 6-7 Jahren einen Texteditor und an meiner Leistung ist nichts auszusetzen.

Eine IDE kann helfen, aber es muss die Wahl des Programmierers sein, sie zu verwenden, solange sie die Leistung nicht beeinträchtigt.

Ich persönlich hasse IDEs, die sie niemals benutzen werden. Je mehr Leute sie auf mich drücken, desto mehr fühle ich mich nicht respektiert. Ich habe kein Problem damit, welches Werkzeug Menschen benutzen, aber es ist wie eine Religion und Evangelisation, sie haben das Bedürfnis, dass alle anderen alles so denken / tun müssen, wie sie es tun.

Und das ist eine sehr unprofessionelle Herangehensweise an das eigentliche Problem, seine Produktivität.

Wen interessiert es, welche Werkzeuge er verwendet, wenn er qualitativ hochwertige Arbeit in seinen Methoden liefert? Solange es fehlerfrei, qualitativ hochwertig und zeitnah ist.

Crosenblum
quelle
11

Ich weiß nicht, dass wir bestätigt haben, dass die IDE Johns Problem ist. Ich denke, Bill sollte ein bisschen mit John zusammenarbeiten und ihn beobachten: Was verringert seine Produktivität? Wenn er Stunden damit verbringt, seinen Code zu formatieren und zu versuchen, Dinge zu verschieben oder Funktionen nachzuschlagen ... die Art von Dingen, die eine IDE für Sie bereitstellt, sollten Sie ihm zeigen, wie viel schneller er die gewünschten Funktionen finden und seinen Code formatieren kann die IDE. Wenn dies die Frustration ist, wird er sicher vor Freude durch das Dach springen, sobald er sieht, dass Sie einen Block automatisch formatieren oder schnell eine dunkle Funktion finden.

Wenn die Effizienz jedoch darin besteht, dass er bei Google surft oder Probleme hat, seine Ideen in Codierungsstrukturen zu formulieren, hilft ihm eine IDE nicht weiter. In diesem Fall müssen Sie gegen seine Disziplin vorgehen oder ihm helfen, seine Ideen in einem Programmablauf darzustellen, damit er das Problem effizienter angreifen kann

EDIT: Mein Repräsentant ist zu niedrig, um einen Kommentar abzugeben, also muss ich hier posten. Ich bin nicht einverstanden mit den Leuten, die sagen: "Lass ihn gefeuert werden, dann wird er es lernen." Für einige Leute funktioniert das; Der Verlust ihres Arbeitsplatzes schockiert sie und sie wachen wirklich auf und formen sich. Andere werden zu einer selbstzerstörerischen Spirale, die normalerweise in Therapie oder Wohlbefinden endet. Bill kümmert sich eindeutig um John, sonst würde er nicht fragen, wie er ihm helfen kann. Ich denke, die Kommentare und Antworten, dass er nur gefeuert werden soll, sind definitiv nicht das, wonach Bill sucht.

Avatar_Squadron
quelle
1
Genau. Der Fall wurde nicht bewiesen, dass John weniger produktiv ist, weil er keine IDE verwendet. Der Umzug in eine unbekannte Umgebung wird ihn höchstwahrscheinlich WENIGER produktiv und frustriert machen. Konzentrieren Sie sich auf seine Leistung. Lassen Sie ihn ein Programm mit jemandem koppeln, der eine IDE verwendet (oder mit ihm in einem Texteditor koppeln, vielleicht lernen Sie auch etwas). Finden Sie die Hauptursache für die mangelnde Produktivität und gehen Sie nicht einfach zu dem Schluss, dass seine Toolchain ist schuld.
Karmajunkie
3
Es ist auch durchaus möglich, dass der Arbeitgeber unrealistische Erwartungen an John hat und dass seine Leistung durchaus im Rahmen der Vernunft liegt.
Joe Internet
Mit nur 3 Entwicklern, wenn die anderen beiden vom Premium-Kraftstoff-Hochleistungskaliber sind, ist das auch durchaus möglich
Avatar_Squadron
8

Misserfolg ist ein großartiger Lehrer. Bill kann aufhören, John zu beschützen und ihn zu seinen eigenen Entscheidungen stehen lassen. Wenn John deswegen entlassen wird, wird er hoffentlich ein besserer Mitarbeiter für das nächste Unternehmen, das ihn anstellt.

Paul Butcher
quelle
3
Misserfolg mag ein großartiger Lehrer sein, ist aber sicherlich eine schlechte Geschäftsstrategie - warum sollte dieses Unternehmen für die Ausbildung der Mitarbeiter des nächsten Unternehmens bezahlen?
Ekkehard.Horner
5
@ Ekkehard.Horner: Wie ist es eine schlechte Geschäftsstrategie, jemanden loszuwerden, der (a) weniger produktiv und (b) nicht kooperativ ist?
S.Lott
2
@ S.Lott: Artjomkas Fragen implizieren, dass John produktiv gemacht werden kann (Gewinn für das Unternehmen); Paul Butchers Vorschlag, nichts anderes zu tun, als John zu erlauben, bis zur Entlassung fortzufahren, ist ein sicherer Weg, Geld zu verlieren.
Ekkehard.Horner
4
@S. Lott: Weil die Ausbildung von Menschen (John) Geld kostet. Weil das Finden neuer Leute Geld kostet. Weil die Ausbildung einer neuen Person für ihre Arbeit Geld kostet. Menschen zu feuern ist teuer.
Pyvi
2
Ich denke, Bill sollte noch einen Schritt weiter gehen und John selbst feuern. Warten Sie nicht, bis es von selbst passiert ... Außerdem bin ich gespannt, wie dies bei Interviews nicht entdeckt wurde?
AviD
6

Sie können versuchen, ihn davon zu überzeugen, dass er die vollständige Kontrolle behält, wenn er die IDE versteht und weiß, was sie tut.

Das ist die Karotte.

Der Stock ist, dass er auf Bewährung ist.

biziclop
quelle
6

Ich muss sagen, dass ich IDE (aptana für Javascript) verwendet habe, und ich hasste es, es war langsam und machte seltsame Dinge mit der Formatierung. Ich bin mit vielen Kommandozeilen-Tools zu gvim gewechselt und bin viel glücklicher.

Natürlich bin ich der Typ, der zum Spaß Codegeneratoren in elisp schreibt .

Zachary K.
quelle
4

Es fällt mir schwer zu glauben, dass Johns Performance etwas mit dem Editor zu tun hat, den er verwendet. An meinem Arbeitsplatz verwendet so ziemlich jeder einen anderen Code-Editor (Visual Studio, Source Insight, vim, SlickEdit ...) und es gibt keine sichtbare Korrelation zwischen dem Editor / der IDE und der Arbeitsleistung.

Nemanja Trifunovic
quelle
4

Wenn es eine Unternehmensstandard-IDE gibt, sagen Sie ihm einfach "Diese IDE ist der Unternehmensstandard, USE IT".

Wenn es keine Unternehmensstandard-IDE gibt und der Wunsch, eine IDE zu verwenden, ausschließlich der Leistungssteigerung dient, gilt Folgendes:

  1. Die falsche Annahme, diese Wahl der Entwicklungsumgebung zu treffen, wird ein wesentlicher Faktor für die Leistung sein
  2. Der falsche Ansatz, um ihm zu sagen, dass er eine IDE verwenden soll

Wenn Sie wirklich möchten, dass er eine IDE verwendet, ist es meiner Meinung nach am besten, ihm zu sagen, dass seine Leistung nicht den Anforderungen entspricht, und ihm dann zu zeigen, wie die Verwendung einer IDE zur Verbesserung dieser Leistung beitragen kann. Mit gutem Beispiel vorangehen ist meiner Meinung nach ein viel besserer Motivator.

Davon abgesehen denke ich, dass die Annahmen hier falsch sind. Die meisten anständigen Entwickler können in nahezu jeder Entwicklungsumgebung produktiv sein. Wenn er die Erwartungen nicht erfüllt, liegt die Hauptursache möglicherweise beim Entwickler und nicht bei der IDE.

Dustin Wilhelmi
quelle
3

Wenn Bill John trotz seiner Position als Teamleiter nicht dazu bringen kann, eine IDE zu verwenden, wenn Bill möchte, dass jeder sie verwendet, stimmt etwas mit dem Unternehmen nicht, da der Teamleiter nicht über genügend Autorität verfügt.

Und nein, abhängig von der Aufgabe, die einer Person übertragen wird, kann diese Person ohne IDE genauso produktiv sein wie mit einer, abhängig von den verwendeten Tools, der Erfahrung der Person mit diesen Tools und ihrer Gesamtkompetenz (und der Gesamtumgebung). Wenn John jede Quelle von einem Anwendungsserver abrufen, in seine IDE laden, bearbeiten, erneut hochladen usw. usw. muss er viel schneller direkt auf dem Anwendungsserver mit beispielsweise VI bearbeiten (vorausgesetzt, er kennt diesen Editor gut). .

jwenting
quelle
4
Jede Art von Refactoring ist in einem Nur-Text-Editor um mehrere Größenordnungen langsamer (ganz zu schweigen von der Fehleranfälligkeit) als eine IDE, die für die Durchführung von Refactoring ausgelegt ist.
Biziclop
3
@biziclop Eine IDE ist nur eine Sammlung von Tools. Es gibt keinen Grund, warum eine Sammlung von Werkzeugen leistungsfähiger sein sollte als die Werkzeuge allein. Refactoring-Tools gibt es auch außerhalb einer IDE. Wenn Sie Werkzeuge kennen, sind Sie produktiv. Wenn Sie Ihre eigenen auswählen können, sind Sie mit größerer Wahrscheinlichkeit produktiv, als wenn Sie einige Werkzeuge in den Hals schieben.
Daramarak
1
@daramarak Ich denke, wir können uns alle sicher darauf einigen, dass ein Texteditor kein Refactoring-Tool ist, während eine IDE es ist.
Biziclop
3
@biziclop sicher, dass ein einfacher Texteditor allein kein Refactoring-Tool ist. Mein Punkt ist, dass ein einfacher Texteditor kein Hindernis für das Refactoring ist. Sie können die Werkzeuge frei wählen, die Sie mögen.
Daramarak
@biziclop: Seit wann ist Refactoring (und Hilfe dabei) die Hauptsache für die Produktivität? Ich gebe zu, es hilft wirklich, wenn ich etwas umbenennen möchte, ungefähr einmal im Monat, aber meine Produktivität ist nicht darauf zurückzuführen.
Mike Dunlavey
2

IDE nicht zu benutzen ist sehr gut, weil er viel lernen wird. Es sollte aber nicht auf den Kosten des Projekts liegen. Er sollte es verwenden, wenn er glaubt, den Job beenden zu können, ohne die Zeitachse zu beeinflussen.

Ich würde vorschlagen, dass er beides tut, damit er schnell lernen kann und gleichzeitig nicht in Probleme gerät.

Schließlich braucht man Brot, um zu überleben, dann können nur Sie daran denken, Bodybuilder zu werden.

Siva
quelle
Der Versuch, eine IDE effektiv zu lernen, ist ebenfalls eine frustrierende Übung und erfordert viel Zeit und Mühe. Er kann mit einer IDE mehrere Wochen lang langsamer sein als jetzt mit einem Texteditor (abhängig von seiner Kernkompetenz mit der Sprache, die er schreibt), und danach mehrere Wochen lang nicht schneller (wenn überhaupt).
Jwenting
0

Ich denke, der Hauptwert jeder IDE ist nicht, dass es sich um einen Editor handelt, sondern dass es sich um einen Debugger handelt. Es gibt einige, die das Konzept eines Debuggers nicht verstehen. Sie debuggen mit print-Anweisungen.

Wenn andere Funktionen IDEs angeblich produktiver machen, wie Intellisense oder Versionskontrolle, könnte ich John aus verschiedenen Gründen zustimmen, über die wir diskutieren könnten.

Aber beim Debuggen mit Print-Anweisungen fällt es mir schwer, etwas zu verstehen (obwohl ich es früher getan habe).

Mike Dunlavey
quelle
1
Es gibt eigenständige Debugger, die zumindest für einige Zwecke sehr gut funktionieren. Ich weiß nicht genug über Java-Tools, um zu sagen, ob dies hier der Fall ist.
David Thornley
Es gibt einige wirklich berühmte Entwickler, die Sachen mit printf debuggen. Auch wenn es ein bisschen launisch ist, warum sollte man sich die Mühe machen, ihn davon zu überzeugen, etwas anderes zu benutzen?
Jokoon
0

Hören Sie, es gibt Leute, die Sachen benutzen, es gibt andere Leute, die andere Sachen benutzen. Ich mag sowohl IDE- als auch Texteditoren, es handelt sich nur um zwei verschiedene Arten von Anwendungen, aber am Ende ist die erledigte Aufgabe absolut dieselbe.

Es ist nur Orangen und Äpfel, Ende der Zeile, wenn Sie ihn mit der Argumentation "er benutzt einen Texteditor" oder "er ist zu langsam, WEIL er einen Texteditor benutzt" entlassen wollen, fahren Sie fort, aber müssen Sie sich wirklich verschwören für eine Strategie, wie Sie ihn überzeugen können?

Wissen Sie, bei Freiheit geht es nicht um "nur die Stärksten werden sich durchsetzen", sondern um "Tun, was ich will".

Nicht weil Sie in einer Demokratie leben, sollten Sie die Praxis der Mehrheit durchsetzen. Es sieht fast wie eine Art Verfolgung aus

Jokoon
quelle