Wie kann man einen Praktikanten mit Programmierung inspirieren? [geschlossen]


8

Die Situation ist folgende: Wir haben einen Praktikanten für einen Sommer mit dem Gedanken genommen, dass wir ihn als Teilzeit-Nachwuchsentwickler behalten werden, wenn er im Sommer aufholt.
Wir haben ihn nach seinem ersten Studienjahr mitgenommen, daher war sein Wissen viel zu gering, um in echte Projekte involviert zu sein (eigentlich hat er nur an der Universität programmiert). Meine Aufgabe war es also, so viel Zeug wie möglich zu pushen, um ihn für den Beitritt bereit zu halten echte Projekte im September. Solange wir ein Remote-Entwicklungsteam sind, haben wir ihm die Möglichkeit gegeben, sein Praktikum mit flexiblen Arbeitszeiten aus der Ferne zu absolvieren.

So vergingen zwei Monate und ich bin nicht beeindruckt von seinen Fortschritten. Ich gab verschiedene Aufgaben zu implementieren, Zugriff auf Lernressourcen, empfohlene Startpfade usw., stimmte zu, dass er alle paar Tage Bericht erstatten wird, wir hatten von Zeit zu Zeit Paarsitzungen, überprüften seinen Code zusammen und so weiter.

Wie auch immer, es sieht so aus, als hätte er weniger Zeit damit verbracht, Code zu schreiben, als ich erwartet hatte, und bevor ich sagen würde, dass er nicht gut genug war, um sich unserem Team anzuschließen, dachte ich, das könnte meine Schuld sein, vielleicht habe ich zu viel gepusht , das ist wichtig in realen Projekten (wie Unit-Tests, Strukturieren von Code, Datenbankmaterial usw.) und nicht genug lustiges Material, das ihn an die Programmierung binden würde, und das ist der Grund, warum er weniger Zeit verbrachte, als ich gehofft hatte.

Ich habe also noch ~ 20 Tage Zeit und kann sie nutzen, um ihn zum Programmieren zu inspirieren. Die Frage ist, mit was und wie?


4
Klingt eher nach einem entfernten Chef als nach einem engen Mentor. Vielleicht sollten Sie überlegen, wie Sie unterrichten?

3
@ ThorbjørnRavnAndersen - Ich verstehe, dass ich darin nicht perfekt bin und ich versuche besser zu werden, deshalb stelle ich solche Fragen. Hatte als Junior keinen guten Mentor, habe niemanden, der dieses Zeug von heute lernt, also ist es Versuch und Irrtum.
Giedrius

Sie müssen sich aktiv mit ihm beschäftigen. Wenn Sie nicht sind, können Sie seine / ihre Fortschritte nicht messen und sie als erfahrenen Fachmann führen. Klingt so, als hätte es lange gedauert, bis Sie wirklich aktiv mit den Interaktionen wurden.
Rig

1
Ich denke, das Problem ist, ihn aus der Ferne zu haben. es funktioniert gut für einige Leute, aber nicht für andere. vor allem nicht für Praktikanten :) In erster Linie müssen Sie ihm gute Arbeitsgewohnheiten beibringen, bevor Sie ihm die Programmierung aufzwingen. denke "Karate Kid". Jemanden in seinem ersten Studienjahr zu geben, ist eine gute Idee. Erinnern Sie sich nur an sich selbst in Ihrem ersten Studienjahr: O und wenn er nur im College codiert hat, sehe ich ihn nicht als den Typ, der lieber zu Hause sitzt an einem Freitagabend zu codieren, als mit seinen Freunden
auszugehen

Antworten:


7

Wie wäre es mit Mini-Sprints?

Beginnen Sie den Tag (9.00 Uhr), indem Sie ihn / sie dazu bringen, anzugeben, was er / sie im Laufe des Tages tun möchte (und seine Erwartungen zu verwalten), und dann darüber sprechen, was er / sie abgeschlossen hat (17.00 Uhr) - einschließlich der Art und Weise, wie Probleme behandelt wurden. Verlängern Sie die Sprints im Laufe der Zeit langsam, sobald Sie mit dem Verhalten zufriedener sind.

Ansonsten lassen Sie ihn / sie damit weitermachen. Wenn sie nicht die Motivation verspüren, die Arbeit zu erledigen, nehmen Sie deshalb einen Praktikanten an - sowohl für sie, um Erfahrungen zu sammeln, als auch für Sie, um zu lernen, wie sie funktionieren. So ist das Leben.


6

Es hört sich so an, als hätten Sie zu viel Druck gemacht und er könnte ein bisschen überfordert sein. Ich kenne erfahrene Entwickler, die Unit-Tests nicht wirklich verstehen konnten, und ich stelle mir vor, es war zu viel für jemanden mit nur einem Jahr formaler Ausbildung. Und man kann Inspiration nicht wirklich erzwingen.

Das erste, was ich tun würde, wäre, mit ihm zu sprechen und herauszufinden, was ihm bisher Spaß gemacht hat, und mich für den Rest seines Praktikums darauf zu konzentrieren. Wir können tausend unterhaltsame Programmieraktivitäten vorschlagen, aber was mir Spaß macht, wird Ihrem Praktikanten wahrscheinlich keinen Spaß machen.

Wenn es mindestens einen Aspekt des Jobs gibt, den er als angenehm empfand, würde ich vorschlagen, dass Sie beide ein Mini-Projekt darum herum bauen, sogar etwas, das nichts mit dem Job zu tun hat. Wenn er zum Beispiel gerne mit Datenbanken arbeitet (bezweifle es;), können Sie eine grundlegende CRUD-Anwendung erstellen und dann gespeicherte Prozeduren und andere datenbankbezogene Black Magic-Inhalte erweitern.

Am Ende des Tages sollten Sie jedoch auf die Möglichkeit vorbereitet sein, dass er einfach nicht das ist, wonach Sie suchen.


Nun, es ist eine Art Punkt meiner Frage - CRUD-Anwendungen sind nicht so interessant, ich muss an eine kleine einfache Anwendung denken, die mehr Spaß macht als CRUD :)
Giedrius

@Giedrius CRUD war nur ein (zugegebenermaßen schlechtes) Beispiel, mein Hauptpunkt war herauszufinden, was ihm am besten gefiel. Ein weiteres Beispiel wären einige Probleme mit Project Euler.
Roc Martí

1
Ich dachte, es könnte etwas sein, das auf appharbor.com funktioniert - etwas, das einfach genug, aber für andere nützlich ist - wie das Dekodieren von base64-Zeichenfolgen, weil für mich persönlich der beste Motivator darin besteht, zu wissen, dass jemand meine App verwendet
Giedrius

6

Möglicherweise arbeiten Sie pushing too hardmit Unit-Tests und realen Datenbankmitarbeitern zusammen. Sein Können sollte jedoch in einem guten Zustand sein, um Fehler zu beheben.

Mein understanding of internshipist ein bisschen anders . Die meisten Praktikanten befinden sich im letzten Jahr ihres Informatikstudiums. Sie haben ein gutes Potenzial für die Forschung und kennen die Grundlagen des Schreibens von Code, um ihre eigenen kleinen Anwendungen zu erstellen. Wenn Sie sich jedoch in einem ersten Studienjahr befinden und vor Beginn der Universität keine Code-Erfahrung haben, sind die Praktikanten sehr gering qualifiziert.

Ich glaube, dass die wichtigste Fähigkeit eines Praktikanten / Junior-Programmierers darin besteht his analytically reasoning skills., ihn im Büro zu haben und ihn von Angesicht zu Angesicht zu führen, während er seine Fortschritte und seinen Ansatz bei der Umsetzung der zugewiesenen Aufgaben verfolgt. Denn Sie können auch seine Soft Skills beobachten (wie Kommunikation, Einstellung, allgemeine Anpassung an Ihr Unternehmensumfeld).

In terms of motivation:Sie können ihn inspirieren, indem Sie zu den richtigen Ressourcen führen (um seine Fähigkeiten zu verbessern oder Gelegenheit zum Lernen zu bieten) und jeden Tag kleine, machbare Aufgaben zuweisen. Er könnte das Gefühl mehr zufrieden sein , wenn er eine geringe Aufgaben jeden Tag erreichen würde und bekommen mehr daran interessiert, den Prozess des Lernens und der Beitrag real code. jedoch würde ich dringend , seinen Code zu überprüfen , bevor Überprüfung an den Hauptstamm empfehlen.


1
Nun, ich stimme Ihnen zu, diesmal war es nicht meine Entscheidung, ihn als Praktikanten aufzunehmen.
Giedrius

5

Ich denke, der beste Weg, ihn zu inspirieren, besteht darin, ihm einige echte Aufgaben zu geben. Das bedeutet nicht, dass Sie ihn in die Entwicklung des Produkts einbeziehen sollten, aber normalerweise gibt es immer Prozesse, die im Entwicklungsprozess verbessert werden müssen, und geben ihm einige Aufgaben zur Entwicklung einiger Dienstprogramme, die später von den Teams verwendet werden, könnten eine großartige Möglichkeit sein, ihn für sich zu interessieren und gleichzeitig zu wissen, wie die internen Prozesse funktionieren.

Prost


3

Wenn Sie ihn mit der Programmierung inspirieren möchten, müssen Sie möglicherweise den Geschäftskontext verlassen. Praktikanten haben das Glück, Praktika zu bekommen und nehmen in der Regel das, was sie bekommen können. Seien Sie also nicht beleidigt, wenn Ihre Kernarbeit seinen Rock nicht in die Luft sprengt. Praktikanten haben immer noch etwas Feenstaub im Blut, die meisten jungen Programmierer werden Programmierer, weil sie die Kraft haben, etwas Fantastisches zu erschaffen.

Finden Sie heraus, was seine Hobbys sind und was sein Traumprogrammierjob wäre. Lassen Sie ihn etwas machen, das er für fantastisch hält, sei es ein 2D-Videospiel oder eine Datenbank zum Verfolgen von Pokemon-Karten.

Wenn er etwas in seinem Interessengebiet tut, wird er aufgeregt sein. Sie könnten dabei helfen, im Rahmen zu regieren, damit das, was er tut, für den Zeitraum realistisch ist. Sie können auch Themen auf dem Weg hervorheben, die für den Geschäftsbereich relevant sind, wo Sie Bildung anbieten können, z

Sie haben sich entschieden, Ihre Datenbank so zu strukturieren. Was war Ihr Denkprozess dahinter? Was würde passieren, wenn xyz?


2

Trennen Sie die beiden Teile Ihres Problems.

1) Inspirieren.

2) Zu unterrichten.

Er ist ein Postgraduierter mit Programmiererfahrung, daher kann es zu spät sein, ihn zu inspirieren oder ihn dazu zu bringen, die Majestät des Codes zu "sehen". Es liegt nicht in Ihrer Verantwortung, ihn zu inspirieren, aber ich verstehe, warum Sie es wollen würden.

Unterrichten auf der anderen Seite, nach Ihrer Beschreibung klingt es so, als hätten Sie eine Menge Zeug auf ihn geworfen und erwartet, dass er es regelt. Da Sie nur eine begrenzte Zeit haben, legen Sie kleinere Projekte fest, verteilen Sie sie einzeln und erhalten Sie täglich Feedback. Stellen Sie sicher, dass Sie ihn tagsüber verfolgen und klarstellen, dass Sie, wenn sie ein Problem haben, fragen sollten, anstatt den ganzen Tag damit zu verbringen, zu kämpfen und nichts zu erreichen.


3
Die Frage besagt, dass der Praktikant gerade sein erstes Studienjahr abgeschlossen hat und kein Doktorand ist.
Roc Martí

Um Roc Martis Kommentar weiter zu ergänzen, heißt es in der Frage auch, dass er neben seinem ersten Studienjahr keine Programmiererfahrung hat.
Gilles

2

es sieht so aus, als hätte er weniger Zeit damit verbracht, Code zu schreiben, als ich erwartet hatte

Finden Sie heraus, warum - versucht er, Code zu schreiben, hat aber Probleme, ihn zum Laufen zu bringen? Oder verbringt er nicht einmal genug Zeit damit, es zu versuchen? Wenn das erstere der Fall ist, sollten Sie ihm mehr helfen, wenn es das letztere ist, dann lassen Sie ihn besser gehen.


2

Ich denke, es gibt an beiden Enden ein paar Probleme. Dies kann eines der von Ihnen vorgestellten Szenarien sein.

Szenario 1: Der Praktikant zeigt eine Underperformance

Remote arbeiten ist hier die Flagge. Es braucht eine sehr disziplinierte Person, um tatsächlich aus der Ferne zu arbeiten. Mit wenig Erfahrung verfügt der Praktikant möglicherweise nicht über die Kombination aus Motivation und Wissen, die für eine gute Leistung aus der Ferne erforderlich ist. Wenn Sie eine entfernte Position benötigen, ist dieser Praktikant nichts für Sie.

Außerdem erwähnen Sie den lustigen Aspekt. Ich weiß, dass es seltener ist, aber warum nicht jemanden suchen, der die Aufgaben, die Sie ihm zuweisen, sehr genießt? Ehrlich gesagt können SCRUM und TDD sehr viel Spaß machen, es braucht nur die richtige Einstellung. Ja, es gibt nur wenige, aber es gibt Leute da draußen, die gerne neue CS-Technologien und -Methoden erlernen (= Vielleicht müssen Sie Ihre Suche fortsetzen.

Szenario 2: Sie betreuen nicht nah genug

Ich glaube, wenn dies der Fall wäre, würden Sie es wissen. Wenn der Praktikant motiviert wäre, würde er mit Fragen zu Ihnen kommen. Er würde dich fragen, wenn er etwas nicht versteht. Wenn er jedoch schlechten Code schreibt und Sie nie etwas gesagt haben, müssen Sie möglicherweise mehr sagen. Der Deal ist, dass er aufgrund seiner Erfahrung nicht die ganze Zeit wissen wird, ob er schlechten Code schreibt. Wenn Sie also nie gesprochen haben, als Sie Probleme gesehen haben, sind Sie selbst schuld.


Wie dem auch sei, es ist nichts Falsches daran zu entscheiden, dass der Praktikant nicht für den Job geeignet oder noch nicht bereit ist. Sie sind jung und haben viel zu lernen. Es kann noch einige Jahre dauern, bis sie nur noch Student sind, bevor sie wirklich motiviert sind, professionelle Arbeit zu leisten. Wenn Sie der Meinung sind, dass das Problem behoben werden kann, versuchen Sie es in den nächsten Wochen und versuchen Sie, den Praktikanten zu behalten. Wenn nicht, hatten Sie beide einen Sommer des Lernens und das war's.

Meine persönliche Meinung: Wenn ich Richtlinien und Anforderungen festlege und jemand sie nicht erfüllt, werde ich nicht weiter mit ihnen arbeiten wollen, weil ich Menschen kenne und mit ihnen zusammenarbeite, die lieben, was sie tun, sogar die CRUD, und die sind spürbar motiviert, ein tolles Produkt zu machen. Jeder wie dieser muss Erfolg haben (= Am Ende besteht die einzige Möglichkeit, dem Problem auf den Grund zu gehen, darin, mit dem Praktikanten zu sprechen. Versuchen Sie, ein Fortschrittsmeeting (oder etwas anderes) abzuhalten, in dem Sie mit dem Praktikanten sprechen können bevor Sie Entscheidungen treffen.


2

Ich würde empfehlen, ihn beim Codieren zunächst über die Schulter schauen zu lassen (schwieriger aus der Ferne, aber mit einem guten Bildschirmfreigabeprogramm und einer guten Sprachsoftware ist dies möglich). Nehmen Sie eine Funktion von der Anforderung bis zur Ausführung, während Sie ihm erklären, was Sie tun.

Wiederholen Sie dies einige Male und geben Sie ihm bei der nächsten Aufgabe, nachdem Sie den Code gebrochen haben, für eine Weile das Ruder. Geben Sie unbedingt Hinweise, wenn er stecken bleibt, damit er nicht frustriert ist, sondern widerstehen Sie der Versuchung, sofort zu übernehmen. Wählen Sie einen ganz bestimmten Schritt aus, den Sie wahrscheinlich einige Male zuvor wiederholt haben, damit Sie das Training verstärken können.

Lassen Sie ihn weiterhin häufiger die Kontrolle übernehmen, bis er die gesamten Funktionen selbst fertiggestellt hat.

Nur ihm ein paar Bücher und Aufgaben zu geben, an denen er arbeiten kann, führt zu einer Überlastung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.