Dieser Titel ist ein wenig weit gefasst, aber ich muss möglicherweise ein wenig Hintergrundwissen vermitteln, bevor ich meine Frage richtig stellen kann.
Ich weiß , dass ähnliche Fragen wurden gefragt , hier schon. Aber in meinem Fall frage ich nicht , ob ich soll jemand Mentoring werden oder wenn die Person ist ein guter Sitz für sein Software - Entwickler. Das kann ich nicht beurteilen. Ich wurde nicht direkt gefragt, aber es ist offensichtlich, dass ich und andere ältere Entwickler die neuen Entwickler betreuen sollen, die hier beginnen. Ich habe überhaupt kein Problem damit, und in vielen Fällen verleiht es mir eine neue Perspektive auf die Dinge, und ich lerne dabei. Ich erinnere mich auch, wie nützlich es zu Beginn meiner Karriere war, wenn sich jemand Zeit nahm, mir etwas beizubringen.
Wenn ich "neuer Entwickler" sage, kann es sein, dass sie ein oder zwei Jahre Berufserfahrung haben.
Vor kurzem haben hier Leute angefangen, die eine andere Einstellung zu Entwicklung / Programmierung zu haben scheinen als ich und die ich nur schwer in Einklang bringen kann. Sie extrahieren gerade genug Informationen, um die Aufgabe zu erledigen, lernen aber nicht wirklich daraus. Ich stelle fest, dass ich mit ihnen immer wieder dieselben Probleme habe. Ich verstehe, dass ein Teil davon eine Persönlichkeitssache sein könnte, aber ich denke, es ist meine Aufgabe, mein Bestes zu geben und sie sozusagen aus dem Nest zu schieben, während sie unter meiner Fittiche sind.
Wie kann ich gerade genug Informationen vermitteln, damit sie lernen, aber nicht so viel geben, um das Problem für sie zu lösen?
Oder vielleicht:
Was ist die richtige Antwort auf Fragen, die darauf ausgelegt sind, den Weg des geringsten Widerstands zu beschreiten und sie im Wesentlichen zum Lernen zu zwingen, anstatt den einfachen Ausweg zu finden?
Diese Fragen sind wahrscheinlich allgemeinere Unterrichtsfragen und haben nicht so viel mit Softwareentwicklung zu tun.
Hinweis: Ich kann nicht mitbestimmen, an welchen Aufgaben sie arbeiten. Das Management überträgt die Aufgabe, und es kann alles Mögliche sein, von einer sehr einfachen Fehlerbehebung bis zum Starten einer gesamten Anwendung für sich. Obwohl dies keineswegs ideal ist und offensichtlich seine eigenen Herausforderungen birgt, denke ich, dass es ein Thema ist, das am besten für eine andere Frage übrig bleibt. Das Beste, was ich tun kann, ist ihnen bei dem vorliegenden Problem zu helfen und ihnen zu helfen, es in einfachere Probleme zu zerlegen und auch ihre Commit-Protokolle zu überprüfen und auf Fehler hinzuweisen, die sie gemacht haben.
Meine Hauptziele sind:
- Helfen Sie ihnen und geben Sie ihnen die Werkzeuge, die sie brauchen, um unabhängiger zu werden.
- Steuern Sie sie in die richtige Richtung und brechen Sie frühzeitig schlechte Entwicklungsgewohnheiten.
- Verringern Sie die Zeit, die ich mit ihnen verbringe (der oben beschriebene Persönlichkeitstyp benötigt in der Regel viel mehr Zeit im persönlichen Kontakt und kommt bei Sofortnachrichten oder E-Mails nicht gut zurecht. Auch wenn das im Allgemeinen in Ordnung ist, kann ich nicht immer aufhören, was ich tue). Ich arbeite daran, unterbreche meine Schritte und helfe ihnen, einen Fehler augenblicklich zu beheben (ich habe meine eigenen Projekte, die erledigt werden müssen).
Antworten:
Es gab einmal eine Frage, die diese Art von Informationen enthielt, und das Stück, das mir am meisten zusagte, war, die Tastatur nicht zu berühren
Kurz gesagt, sagen Sie Ihrem Junior, wie er das erreichen soll, was er versucht, aber tun Sie es nicht für ihn.
Aber dazu noch ein paar andere Tipps:
Helfen Sie ihnen, aus ihren Fehlern zu lernen. Es wird Fehler geben. Zeigen Sie ihnen also, dass Fehler Teil des Lernens sind und dass sie sie als Gelegenheit zum Lernen nutzen sollten.
(Aus RuneFS unten) Anstatt ihnen zu sagen, wie sie etwas tun sollen, versuchen Sie ihnen zu helfen, es selbst herauszufinden. Dies wird dazu beitragen, die Fähigkeit zur logischen Lösung eines Problems zu verbessern und die Lernfähigkeit zu verbessern
quelle
Ich habe ungefähr 4 Jahre Erfahrung und kann Ihnen aus meiner Erfahrung als Junior-Entwickler sagen, was ich mir für Mentoring gewünscht habe. Es scheint, dass Sie tatsächlich die Art von Entwickler beschreiben, die ich war, als ich anfing :)
Im Wesentlichen möchten Sie sie zum Lernen ermutigen. Einige Leute denken, dass sie nach Abschluss des Studiums keine Bücher mehr lesen oder lernen müssen. Diese Art der Einstellung kann dazu führen, dass Sie nach Verknüpfungen suchen und diese einfach "erledigen".
Hol sie dir "The Pragmatic Programmer" und lass sie es lesen. Dieses Buch wird ihnen helfen zu erkennen, dass das Programmieren ein Handwerk / eine Karriere ist und nicht nur ein Beruf. Empfehlen Sie ihnen Bücher, die sie etwa vierteljährlich lesen sollten. Helfen Sie ihnen beim Aufbau ihres "Wissensportfolios" (wie in Pragmatic Programmer erwähnt). Ich empfehle Safari Books Online mit vielen CS / Programming-Büchern.
Mit ihrem Wissensportfolio wissen sie, wo sie suchen müssen, wenn sie Probleme haben. Bringe ihnen bei, wo sie suchen sollen. Ich selbst habe kürzlich die Nützlichkeit von StackOverflow entdeckt (und wie Sie wissen, sieht es hier besser aus als nur bei Google).
Es sieht so aus, als ob Sie nicht viel Zeit mit ihnen verbringen können, aber Pair Programming ist sehr hilfreich. Wenn dies nicht möglich ist, führen Sie mindestens Codeüberprüfungen mit CodeCollaborator oder einem ähnlichen Tool durch. Sie brauchen nicht so viel Zeit, wie Sie denken.
Unit-Tests sind ebenfalls sehr wichtig. Sie können schnell schlechte Entwicklungspraktiken aufdecken, insbesondere wenn Sie dies mit kontinuierlicher Integration verbinden.
quelle
Stellen Sie wichtige Fragen zurück, um ihn zu Antworten zu führen, anstatt ihn nur zu informieren (Sie können ihm einige grundlegende Dinge mitteilen, z. B. den Servernamen und die Datenbank, in der die Informationen gespeichert sind). Zeigen Sie ihm, wie er seine Antworten findet.
Und schreiben Sie niemals seinen Code um, wenn er falsch ist, sagen Sie ihm, was falsch ist, und erwarten Sie, dass er ihn repariert. Sie bekommen, was Sie erwarten. Sie helfen niemandem, indem Sie ihn von Ihnen abhängig machen.
Codeüberprüfungen sind ebenfalls kritisch. Und wenn Sie ein Programm koppeln, geben Sie ihm die Tastatur häufig. Selbst wenn Sie ihm sagen, was er tippen soll, lernt er durch das Tippen mehr, als wenn er nur neben Ihnen sitzt, während Sie programmieren.
Nehmen Sie einige Beispiele aus der Software, die typisch für die Struktur der Anwendung sind, und gehen Sie sie Zeile für Zeile durch, um sicherzustellen, dass er versteht, warum jede Zeile benötigt wird und was sie tut. Es ist Ihre Aufgabe, sicherzustellen, dass er die Codierungsstandards kennt, wie der Code organisiert ist und warum Sie (als Unternehmen) die Dinge so tun, wie Sie es tun.
Wenn er eine andere Art vorzuschlagen hat, hören Sie genau zu. Erstens mag er recht haben. Zweitens wird Ihnen das Zuhören zeigen, wo seine Verständnisschwäche liegt, wenn das, was er vorschlägt, nicht praktikabel ist. Außerdem neigen die Leute dazu, dich mehr zu respektieren, wenn du ihnen zuhörst. Wenn er sich irrt, kehren Sie zu den Leitfragen zurück, um sich selbst davon zu überzeugen, warum die Idee falsch ist. WENN er sogar kurz davor steht, Recht zu haben, kann nichts entmutigender sein, als immer zu erfahren, dass Ihre Ideen wertlos sind.
Stellen Sie Fragen zu seinem Hintergrund. Möglicherweise weiß er einige Dinge, mit denen Sie nicht arbeiten konnten. Wenn dies der Fall ist und sich die Gelegenheit bietet, sie zu nutzen, stellen Sie ihm Fragen zu seinem Wissen.
Wenn Ihre Anwendung überhaupt alt ist, hat sie wahrscheinlich einige hinterhältige "Fallstricke", von denen jemand, der neu ist, nichts wissen kann. Wenn er also anfängt, an Bereichen zu arbeiten, in denen Sie einen oder mehrere dieser Fallstricke haben, können Sie ihm davon erzählen, wenn er vor dem Codieren auf Touren kommt, und dann nachsehen, ob er beim Codieren in die Fallstriche gefallen ist.
Schließlich bekommt man zum Teil Respekt, indem man Respekt gibt. Behandeln Sie jeden, den Sie betreuen, respektvoll. Fühlen Sie sich nicht herabgesetzt oder dumm. Sie werden Ihnen viel besser zuhören, wenn Sie sie mit Respekt behandeln.
quelle
quelle
Ich bin ein Junior-Entwickler und ich denke, dass mein Mentor mit diesen Dingen sehr gut umgeht. Im Allgemeinen wird er mir ein paar Möglichkeiten nennen, etwas zu tun, aber nicht, wie ich es tun soll. Dann saß ich da und probierte beide Wege aus und entschied, welche die sauberste Lösung für das Problem war.
Auch wenn er jemals etwas tat, das für mich nützlich sein könnte, rief er mich an, nur um zu erklären, was er tat und warum.
Dies führte dazu, dass ein kleiner Teil meiner Zeit mit mir verbracht wurde und im Wesentlichen bedeutete, dass ich selbst die richtigen Antworten lernen und wissen musste, wie man Dinge umsetzt. Wenn ich jemals stecken bleiben sollte, wäre er natürlich da, um mir zu helfen, aber dies war eine Handvoll Male. Nach nur 5 Monaten bei ihm habe ich wahrscheinlich mehr Wissen gesammelt als während meines gesamten Universitätslehrgangs.
Das Wichtigste, woran man sich erinnert, ist, dass ich nur ein Individuum bin und das hat für mich gut funktioniert, weil ich bin und wie er ist. Es geht darum, eine geeignete Struktur zu finden, die Ihnen beiden hilft.
quelle
Abhängig von der gestellten Aufgabe wäre ich versucht, ein paar verschiedene Ansätze zu wählen:
Fragen Sie sie, was sie als nächstes versuchen würden, um die Aufgabe abzuschließen. Dies kann eine Vorstellung davon geben, wo von der Kategorie "Ich weiß nicht, was ich tun soll" bis zur Kategorie "Nun, ich würde es versuchen, aber ..." sie eine eigene Idee haben, die als Ausgangspunkt nützlich sein kann .
Sehen Sie sich kurz an, was sie tun möchten, und geben Sie Hinweise, um das Problem zu ermitteln. Dies ist eher als die Antwort zu geben: "Nehmen Sie einfach diese Codezeile heraus." Schlagen Sie vor, sie schauen sich an, was da ist und ist alles notwendig.
Wenn das erste Paar nicht zur Arbeit geht, würde ich versuchen, es dazu zu bringen, meinen Anweisungen zu folgen, was zu tun ist, um das Problem zu lösen. Dies ist der nächste Schritt im Verlauf. Wenn sie keine Ahnung haben, wo sie anfangen sollen und die Hinweise nicht funktionieren, ist dies der nächste Punkt.
Wenn nichts anderes funktioniert, würde ich die Arbeit für sie erledigen, aber ich würde versuchen, dies so weit wie möglich zu vermeiden, da auf diese Weise Probleme wie eine Person, die genau weiß, dass ein System erstellt wird, entstehen, wenn jemand die Aufgabe verlagert auf mich für dieses System, das ich so gut zu kennen scheint.
quelle
Eine Sache, die ich hier in meinem Job gemacht habe und die ich wirklich nützlich fand, war, ein Forum (zB PHPbb) für interne Fragen und Antworten einzurichten und der Regel zu folgen, dass, wenn die Frage und / oder die Antwort länger als 5 Minuten dauert, es sein sollte über das Forum gefragt und beantwortet. Die Vorteile:
quelle
Ich werde mich hier gegen den Trend wenden und vorschlagen, dass Sie nicht versuchen, Nachwuchsentwickler zu ermutigen, zu lernen, wie sie die Antworten selbst finden. Das sieht aus wie ein Spiel "Ich habe es, aber ich werde es dir nicht geben."
Schließen Sie sich stattdessen mit ihnen zusammen, um die Antwort zu finden. Sie werden es trotzdem googeln, also tun Sie es, während Sie mit ihnen sitzen. Sie werden feststellen, dass dies der Weg ist, um Antworten zu finden.
Wenn Sie eng mit ihnen zusammenarbeiten, lernen sie, wie man die IDE richtig einsetzt. Wie man eine Datenbank normalisiert; wie Sie Ihren Code austrocknen ... was auch immer Sie wissen, das ist es wert zu wissen.
Die Schlüssel sind: Einer - um sich für sie verfügbar zu machen, damit sie sehen können, wie Sie arbeiten. Und zwei - laut zu sagen, warum du tust, was du tust. "Dieser Code wiederholt sich, daher werde ich ihn überarbeiten und nicht" die Extraktionsmethode für diese drei Zeilen verwenden ".
quelle
Ich musste nur einmal einen Junior-Programmierer ausbilden. Es sollte helfen, ein System zu warten, das ich gebaut hatte. Das Ziel war es, ihm schließlich das gesamte System zu übergeben.
Nach einer kurzen Zeit, in der er mich beschattete, warf ich ihn ins Feuer. Ich würde ihm Fälle zuweisen und erwarten, dass sie abgeschlossen sind. Wenn er Probleme hätte, würde ich ihn erklären lassen, was das Problem war und wo er gesucht hatte. Ich würde ihm dann allgemein raten, wo er als nächstes suchen soll. (Welche App, vielleicht welches Modul zum Anschauen etc). Ich würde ihn niemals zappeln lassen, aber ich würde auch niemals irgendwelche Arbeiten machen. Nur Richtung geben. Wenn er immer noch Probleme hätte, würde ich nur mit den Schultern zucken und sagen "Beginnen Sie, den Code zu verfolgen". Und jedes Mal, wenn ich das sagte, zuckte er zusammen - weil er wusste, dass er mühsam trainieren musste. Es machte ihn wahnsinnig, weil wir beide wussten, dass ich das Problem wahrscheinlich in 10 Minuten finden könnte, wenn ich einfach von meinem Hintern abspringen und helfen würde.
Jahre später hat er sich größeren Dingen zugewandt und bildet nun seine eigenen Junioren aus. Und seine Lieblingsgeschichte ist, wie ich ihm immer sagen würde, er solle "den Code nachzeichnen", und wie diese Übungen zum Nachzeichnen des Codes entscheidend waren, um ihn zum Programmierer zu machen, der er heute ist.
quelle
Wann immer mir eine Frage gestellt wird, von der ich weiß, dass sie durch eine schnelle Google-Suche gelöst werden kann, finde ich Dokumentation oder einen entsprechenden Artikel und leite diese an die Person weiter, die die Frage stellt.
Zu wissen, wo Sie nachschlagen müssen, ist eine wichtige Fähigkeit, und es ist manchmal schwieriger, als Sie es sich für einen neuen Entwickler vorstellen. Sie wissen möglicherweise nicht einmal, wonach sie suchen, und hier müssen Sie ihnen helfen.
Sobald sie in der Hand sind, werden sie aufgrund von Artikeln und Dokumentationen gezwungen, Informationen über die Lösung zu lesen, anstatt sich an andere Entwickler zu wenden, um eine schnelle Antwort zu erhalten.
Dadurch wird Folgendes erreicht:
Manchmal muss man ihnen nur eine harte Liebe geben, besonders wenn sie nicht so scheinen, als wollten sie lernen. Geben Sie ihnen keine Antwort, sondern weisen Sie sie in die richtige Richtung.
quelle
Ich würde empfehlen, Teile Ihrer tatsächlichen Aufgaben anzugeben und alles zu tun, um seinen Code verwenden zu können. Mit anderen Worten, trainiere ihn als Ersatz für dich.
Auf diese Weise werden Sie sich dazu verpflichten, Zeit für die Arbeit mit dem Nachwuchs bereitzustellen, und er wird in der Lage sein, das "wirkliche Leben" zu sehen. Indem er an echten Aufgaben arbeitet und lebhaftes Feedback hört, wird er in der Lage sein, ziemlich schnell p auf Geschwindigkeit zu bringen.
quelle
Ich habe Menschen in der Vergangenheit verschiedene Fächer beigebracht, und das, was mich am meisten beeindruckt hat, ist, dass die meisten Menschen keine Fähigkeiten zum Lösen von Problemen haben . Das heißt, wenn Sie ihnen eine genaue Lösung zeigen, können sie diese später wiederverwenden, wenn sie sie erkennen oder erfahren, dass sie sie benötigen.
Aber nur sehr wenige Situationen im Leben sind so. Sofern es sich bei Ihrem Job nicht um eine "mentale Fabrik" handelt, bei der Widget A mit Tool C an Widget B geklebt wird, müssen Sie über ein paar Elemente verfügen:
Schauen Sie sich zum Beispiel diese Antwort an, die ich gepostet habe . Das deckt die Problemlösungsmethode ab, die viele Menschen nicht haben . Das College hat dies niemandem im CompSci-Programm beigebracht, Sie haben es entweder bereits gewusst oder es selbst herausgefunden.
Sobald die Junior-Entwickler verstehen, wie man Probleme löst, benötigen sie eine Reihe von Tools, mit denen sie diese lösen können.
Bestimmen Sie, was dem Junior-Entwickler fehlt, und Sie können ihm helfen, sich zu verbessern. Seien Sie sich nur bewusst, dass einige Leute wirklich nicht daran interessiert sind, wie sie ihre eigenen Probleme lösen können, und wollen nur eine "offensichtliche Schritt für Schritt" -Lösung, die ihnen übergeben wird. Das sind keine guten Entwickler.
Hoffentlich haben Sie keine davon. Wenn Sie dies tun, werden Sie feststellen, dass sich nicht alle selbst helfen, egal wie viel Zeit Sie verbringen. Es würde Mühe erfordern, und es ist einfacher, Sie zu bitten, es für sie zu tun. Es ist ähnlich wie das Wohlfahrtsproblem und wird durch die Wirtschaftstheorie erklärt.
Aufgeklärten Eigennutz sagt , die Menschen nehmen , was sie als die vorteilhafteste Option in einer bestimmten Situation anzuzeigen. Beachten Sie, dass es das ist, was sie sehen. Ich sehe das Wichtigste darin, sich selbst zu versorgen und zu lernen. Also mache ich die Dinge selbst. Andere sehen jedoch möglicherweise, dass sie nur den Arbeitscode bis zum Stichtag bereitstellen müssen. Daher suchen sie nach der kostengünstigsten Methode. Indem sie ihnen "Werbegeschenke" zur Verfügung stellen, müssen sie den geringsten Aufwand betreiben, um ihr Ziel zu erreichen. Bis Sie diese Krücke entfernen, werden sie nicht wachsen.
quelle
Ihre Organisation, wie Sie sie beschreiben, unterscheidet sich sehr von meiner. Ich kontrolliere die Arbeit meiner Junioren und sehe es als meine Aufgabe an, darüber zu urteilen. So viel ist anders.
Eine Sache, zu der ich Ihnen auf jeden Fall raten möchte, ist, dass Sie in den ersten zwei Wochen besonders häufig ihren Schreibtisch aufsuchen. Etwa dreimal am Tag in der ersten Woche, allmählich abnehmend.
Die Botschaft, die ich auf diese Weise zu senden versuche, ist, dass mir ihre Produktivität am Herzen liegt. Ich stelle sicher, dass sie nicht hängen bleiben. Ich stelle sicher, dass sie die Regeln einhalten und das Rad nicht neu erfinden. Ich bringe ihnen bei, so oft wie möglich zu verpflichten. Lernen Sie, sich schrittweise zu entwickeln, und denken Sie schrittweise über Design nach.
Mein schlimmster Albtraum sind Entwickler, die Ihnen jeden Tag mitteilen, dass sie nur noch einen Tag benötigen, um ihre Funktion fertigzustellen. Nach wochenlanger Verzögerung erhalten Sie ein überkompliziertes Design, das von Anfang an vom Autor gehackt wird. Zusätzliche, nicht angeforderte Fehlermerkmale werden in die Mischung geworfen, um die Verzögerung zu kompensieren, und weil sie ein freier Nebeneffekt des Designs waren.
Ich glaube, dass viele Entwickler zu diesem Ansatz geneigt sind. Wenn Sie mit einer Compex-Aufgabe alleine sind, ist es eine natürliche Reaktion, zu beweisen, dass Sie dies alleine können. Aber es ist die falsche Antwort. Qualität ist Teamwork, und je früher sie lernen, desto besser.
quelle
Die anderen Antworten sind sehr gut, aber ich wollte diesen einen Satz kommentieren.
Die meisten Leute wollen wissen, wie man etwas macht. Diese Einstellung ist am Anfang in Ordnung, wenn Sie überfordert sind, neue Dinge zu lernen und zu lernen, wie Sie Ihren Job machen.
Selten sind die Leute, die wissen wollen, warum etwas getan wird. Das sind die Leute, die intelligente Manager wollen, auch wenn sie manchmal schwer zu managen sind.
Manche Leute kodieren, um gut bezahlt zu werden. Andere akzeptieren gerne Geld für die Codierung. Es ist viel schöner, mit Menschen zu arbeiten, die eine Leidenschaft für Design und Programmierung haben. Leider war es für mich auch ziemlich selten. Zumindest bis ich Stack Overflow gefunden habe.
quelle
Eine Sache, auf die Sie achten sollten, wenn Sie sich auf die Aussicht freuen, all dieses Mentoring für Nachwuchsentwickler durchzuführen: Stellen Sie sicher, dass Ihr Management versteht, was vor sich geht.
Anderen Menschen beizubringen ist im Allgemeinen harte Arbeit. Es erfordert Fokussierung und Konzentration, Planung und Anstrengung und vor allem Zeit. Welchen Ansatz Sie auch wählen, wenn Sie ernsthaft unterrichten und betreuen, wird dies Ihre Zeit in Mitleidenschaft ziehen.
Wenn Ihr Management weniger erfahrene Entwickler mit der Erwartung anstellt, dass erfahrene Entwickler Schulungsaufgaben übernehmen, stellen Sie sicher, dass dies ausdrücklich angegeben ist. Informieren Sie sich über den Zeitrahmen und stellen Sie sicher, dass Ihre Entwicklungspläne den Zeit- und Arbeitsaufwand für das Training widerspiegeln. Stellen Sie sicher, dass das Management Pläne hat, um den Erfolg der Mentoring-Bemühungen zu vereinbarten Zeitpunkten zu bewerten. (Wenn sie Entwickler einstellen, die unterrichtet und betreut werden müssen, das Management aber nicht plant, dann ist das natürlich ein ernstes Problem.)
Nicht jeder ist ein guter Lehrer oder Mentor, und nicht jeder möchte es sein. Ich will nicht krustig oder bitter klingen. Ich unterrichte sehr gerne . Aber es ist albern zu erwarten, dass jeder gut darin ist (trotz seiner eigenen Talente), und wir können auch nicht erwarten, dass jeder den Prozess genießt (denken Sie daran, es ist nicht einfach). Wenn Sie ein leitender Entwickler sind, der keine Freude am Mentoring hat, oder wenn Sie wirklich das Gefühl haben, eine schlechte Wahl für einen Lehrer oder Mentor zu sein, stellen Sie sicher, dass Ihr Management versteht, dass ein Plan, bei dem Sie diese Aufgaben übernehmen, ein Plan mit einem ist schwerer Fehler. Wenn Sie andererseits gut unterrichten oder betreuen möchten , können Sie dies auch kommunizieren.
Stellen Sie sicher, dass diese Aufgaben für das Unternehmen genauso wertvoll sind, wie Produktentwicklungsleistungen anerkannt werden, wenn Lehr- und Betreuungsaufwand auf die Gesamtheit der leitenden Entwickler ungleich verteilt sind.
quelle
Ich werde dir meinen Blick darauf geben.
Grundsätzlich lerne ich gut, wenn ich:
Jetzt hatten Sie gesagt, dass Sie Ihre eigenen Projekte erledigen müssen und dass Sie nicht immer die Zeit haben. Deshalb wurden wir mit StackOverflow gesegnet . Ich bin sicher, sie würden ihm gerne beim Debuggen seines Codes helfen. Fragen, die dort nicht zum Thema gehören, kann er hier stellen.
Trotzdem müssen Sie immer noch regelmäßig mit ihm zusammenarbeiten. Eine allgemeine "Zeitleiste" sollte sein:
Abgesehen von dem oben Gesagten ist der einfachste Weg, jemanden unabhängig zu machen, ihm ein schwieriges Thema zu vermitteln und ihm nichts anderes zu geben, als ihm im Internet zu helfen. Er wird gezwungen sein, selbst zu lernen und er wird seine Sachen kennen.
Nachdem er weiß, was Sie wollen, dass er weiß, lassen Sie ihn frei. Lassen Sie ihn losgehen und lernen, was er lernen möchte (Sie können jederzeit sagen, dass er weiterhin in dieser Sprache arbeiten soll).
Ich hoffe das hilft! Übrigens, lassen Sie ihn das lesen: Programmieren lernen in zehn Jahren .
quelle
Unterscheiden Sie zwischen niedrigeren und höheren Lernniveaus. Wenn es um Wissen, Verständnis oder Anwendung geht, habe ich keine Probleme damit, ihnen die Antwort mit einer kurzen Erklärung zu geben, wie sie sie beim nächsten Mal nachschlagen können. Dies ist keine Schule, es ist kein Betrug, und sie werden sich nicht für immer auf dich verlassen. Planen Sie nur nicht, in den ersten ein oder zwei Wochen etwas anderes zu erledigen, damit es Sie nicht ärgert, wenn Sie es nicht tun.
Verwenden Sie nach den ersten Wochen, wenn Sie zu oft mit solchen Fragen unterbrochen werden, einen Pomodoro-Timer und beantworten Sie keine Fragen bis zum Ende eines Pomodoro. Google ist jetzt einfach für Sie, da Sie wissen, wonach Sie suchen müssen. Sie tun dies häufig nicht. Wenn Sie ihnen also mitteilen müssen, dass sie etwas googeln sollen, teilen Sie ihnen mit, welche Suchbegriffe verwendet werden sollen, um die besten Ergebnisse zu erzielen.
Wenn ein Problem mit Analyse, Synthese oder Bewertung zusammenhängt, widme ich mich mehr dem Thema. Hier liefern Sie Ihre Gründe für Ihre Entscheidungen und helfen ihnen, zu denselben Schlussfolgerungen zu gelangen. Dies kommt am häufigsten in Fragen des Designs und des Stils vor. Sagen Sie ihnen nicht nur, dass sie ein bestimmtes Design verwenden sollen, sondern zeigen Sie ihnen, warum es ihrer ersten Wahl überlegen ist. Lassen Sie sie Fehler machen und ihre eigenen Fehler beheben.
quelle
Ich habe hier niemanden gesehen, der meinen persönlichen Helden Randy Pausch erwähnte .
Ich denke, es kann für jeden von Vorteil sein, der tatsächlich programmiert, lehrt oder als Mentor fungiert (oder sogar für jeden, der ein sinnvolles Leben führen möchte). Sie und / oder Ihre Kollegen finden es vielleicht lohnenswert, diese Vorträge zu sehen, wie ich es getan habe
quelle
Als Junior-Entwickler habe ich das Gefühl, dass es besser ist, wenn ich auf ein Problem stoße, die Antwort sofort zu bekommen und Zeit zu investieren, um zu verstehen, wie es gelöst wurde.
Ich werde bezahlt. Mein Arbeitgeber erwartet nicht, dass ich für das Lernen bezahlt werde. Ich erwarte, dass ich am Ende des Tages einen Job mache. Es macht keinen Sinn, Zeit in einem Arbeitsumfeld zu verschwenden, um eine Lösung zu finden. Das ist etwas, was ich rechtzeitig abholen werde, hoffentlich schnell, wenn ich in dem, was ich tue, gut bin.
quelle