Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Für HR-Leute in der IT ist es kein Geheimnis, dass es problematisch ist, dort einen Programmierer zu finden, wenn Ihre Stadt keine Stadt mit mehr als einer Million Einwohnern ist, und dass es noch schwieriger ist, eine Person zu finden, die über den erforderlichen Technologie-Stack und die erforderliche Erfahrung verfügt.

Die IT-Welt in Irkutsk ist klein. Die meisten Entwickler der Stadt sind sich der Existenz des Unternehmens ISPsystem bewusst und viele sind bereits bei uns. Für Junior-Positionen kommen oft Bewerber, meist handelt es sich jedoch um Hochschulabsolventen von gestern, die noch weitergebildet und aufpoliert werden müssen.

Und wir wollen fertige Studenten, die ein wenig in C++ programmiert haben, sich mit Angular auskennen und Linux gesehen haben. Das bedeutet, dass wir sie selbst unterrichten müssen: Sie mit dem Unternehmen bekannt machen und ihnen das Material geben, das sie für die Zusammenarbeit mit uns benötigen. So entstand die Idee, Kurse zur Backend- und Frontend-Entwicklung zu organisieren. Letzten Winter haben wir es umgesetzt und in diesem Artikel erzählen wir Ihnen, wie es dazu kam.

Training

Zu Beginn versammelten wir führende Entwickler und besprachen mit ihnen Aufgaben, Dauer und Format der Kurse. Da wir vor allem Backend- und Frontend-Programmierer brauchen, haben wir uns entschieden, Seminare in diesen Fachgebieten abzuhalten. Da dies die erste Erfahrung ist und der Aufwand nicht bekannt ist, haben wir die Zeit auf einen Monat begrenzt (acht Unterrichtsstunden in jede Richtung).

Die Materialien für die Seminare wurden im Backend von drei Personen vorbereitet und von zwei gelesen, im Frontend wurden die Themen auf sieben Mitarbeiter aufgeteilt.

Ich musste nicht lange nach Lehrern suchen und sie auch nicht überreden. Für die Teilnahme gab es einen Bonus, der jedoch nicht ausschlaggebend war. Wir haben Mitarbeiter auf der mittleren und höheren Ebene angezogen, die daran interessiert sind, sich in einer neuen Rolle auszuprobieren und Kommunikations- und Wissenstransferfähigkeiten zu entwickeln. Sie verbrachten mehr als 300 Stunden mit der Vorbereitung.

Wir beschlossen, die ersten Seminare für die Jungs aus der Cyber-Abteilung der INRTU abzuhalten. Dort war gerade ein praktischer Co-Working-Space entstanden, und auch der Career Day war geplant – ein Treffen von Studierenden mit potenziellen Arbeitgebern, an dem wir regelmäßig teilnehmen. Diesmal erzählten sie uns wie immer von sich und den offenen Stellen und luden uns auch zum Kurs ein.

Den Teilnehmern wurde ein Fragebogen ausgehändigt, um Interessen, Ausbildungsstand und Technikkenntnisse zu ermitteln, Kontakte für Einladungen zu Seminaren zu sammeln und auch herauszufinden, ob der Zuhörer über einen Laptop verfügt, den er zum Unterricht mitbringen kann.

In den sozialen Netzwerken wurde ein Link zur elektronischen Version des Fragebogens gepostet, außerdem wurde ein Mitarbeiter, der weiterhin an der INRTU einen Master-Abschluss macht, gebeten, ihn mit seinen Kommilitonen zu teilen. Es war auch möglich, mit der Universität zu vereinbaren, die Neuigkeiten auf ihrer Website und in sozialen Netzwerken zu veröffentlichen, aber es gab bereits genügend Leute, die bereit waren, den Kurs zu besuchen.

Die Umfrageergebnisse bestätigten unsere Annahmen. Nicht alle Studierenden wussten, was ein Backend und Frontend ist, und nicht alle arbeiteten mit dem Technologie-Stack, den wir verwenden. Wir haben etwas gehört und sogar Projekte in C++ und Linux gemacht, nur sehr wenige Leute haben tatsächlich Angular und TypeScript verwendet.

Zu Beginn des Unterrichts waren es 64 Schüler, was mehr als genug war.

Für die Seminarteilnehmer wurden ein Kanal und eine Gruppe im Messenger eingerichtet. Sie schrieben über Änderungen im Stundenplan, veröffentlichten Videos und Präsentationen von Vorlesungen sowie Hausaufgaben. Dort führten sie auch Diskussionen und beantworteten Fragen. Mittlerweile sind die Seminare beendet, aber die Diskussionen in der Gruppe gehen weiter. In Zukunft wird es dadurch möglich sein, Jungs zu Geeknights und Hackathons einzuladen.

Inhalte der Vorlesungen

Wir haben verstanden: In einem Kurs von acht Lektionen ist es unmöglich, das Programmieren in C++ oder das Erstellen von Webanwendungen in Angular zu lehren. Wir wollten aber den Entwicklungsprozess in einem modernen Produktunternehmen zeigen und uns gleichzeitig unseren Technologie-Stack vorstellen.

Theorie reicht hier nicht aus, es braucht Übung. Deshalb haben wir alle Lektionen zu einer Aufgabe zusammengefasst – einen Dienst zur Registrierung von Veranstaltungen zu erstellen. Wir hatten vor, mit den Studierenden Schritt für Schritt eine Anwendung zu entwickeln und ihnen gleichzeitig unseren Stack und seine Alternativen vorzustellen.

Einführungsvorlesung

Wir haben alle, die die Formulare ausgefüllt haben, zur ersten Unterrichtsstunde eingeladen. Zuerst sagten sie, dass nur Full-Stack – das ist lange her, aber jetzt gibt es in Entwicklungsunternehmen eine Unterteilung in Front- und Back-Entwicklung. Am Ende wurden wir gebeten, die interessanteste Richtung auszuwählen. 40 % der Studierenden meldeten sich für das Backend an, 30 % für das Frontend und weitere 30 % entschieden sich für die Teilnahme an beiden Kursen. Doch es fiel den Kindern schwer, alle Klassen zu besuchen, und sie wurden nach und nach zielstrebig.

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Beim Einführungsvortrag scherzt der Backend-Entwickler über den Trainingsansatz: „Die Seminare werden wie Anleitungen für angehende Künstler sein: Schritt 1 – Kreise zeichnen, Schritt 2 – Eule fertig zeichnen“
 

Inhalte von Backend-Kursen

Einige der Backend-Kurse waren der Programmierung gewidmet, andere dem Entwicklungsprozess im Allgemeinen. Der erste Teil befasste sich mit der Kompilierung, dem Erstellen von СMake und Conan, Multithreading, Programmiermethoden und -mustern, der Arbeit mit Datenbanken und http-Anfragen. Im zweiten Teil sprachen wir über Testing, Continuous Integration und Continuous Delivery, Gitflow, Teamwork und Refactoring.

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Folie aus der Präsentation von Backend-Entwicklern
 

Inhalte von Frontend-Kursen

Zuerst richten wir die Umgebung ein: NVM installiert, Node.js und npm verwendet, Angular CLI verwendet und ein Projekt in Angular erstellt. Dann haben wir uns mit Modulen beschäftigt, gelernt, wie man grundlegende Anweisungen verwendet und Komponenten erstellt. Als nächstes haben wir herausgefunden, wie man zwischen den Seiten navigiert und das Routing konfiguriert. Wir haben gelernt, was Dienste sind und welche Merkmale ihre Arbeit innerhalb einzelner Komponenten, Module und der gesamten Anwendung aufweist.

Wir haben uns mit der Liste der vorinstallierten Dienste zum Senden von HTTP-Anfragen und zum Arbeiten mit Routing vertraut gemacht. Wir haben gelernt, wie man Formulare erstellt und Ereignisse verarbeitet. Zum Testen haben wir einen Scheinserver in Node.js erstellt. Zum Nachtisch lernten wir das Konzept der reaktiven Programmierung und Tools wie RxJS kennen.

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Folie aus einer Präsentation von Frontend-Entwicklern für Studenten
 

Werkzeuge

Bei Seminaren wird nicht nur im Unterricht geübt, sondern auch außerhalb, daher war ein Dienst erforderlich, der die Hausaufgaben entgegennimmt und überprüft. Die Front-Ender entschieden sich für Google Classroom, die Back-Ender beschlossen, ihr eigenes Bewertungssystem zu schreiben.
Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Unser Bewertungssystem. Es ist sofort klar, was der Backender geschrieben hat :)

In diesem System wurde der von den Studierenden geschriebene Code automatisch getestet. Die Note hing von den Testergebnissen ab. Zusätzliche Punkte konnten für die Begutachtung und für fristgerecht eingereichte Arbeiten vergeben werden. Die Gesamtbewertung beeinflusste die Platzierung im Ranking.

Die Bewertung führte zu einem Wettbewerbselement in den Kursen, weshalb wir beschlossen, sie nicht mehr zu nutzen und Google Classroom aufzugeben. Im Moment ist unser System in puncto Komfort der Google-Lösung unterlegen, aber das lässt sich beheben: Wir werden es für die nächsten Kurse verbessern.

Tipps

Wir haben uns gut auf die Seminare vorbereitet und fast keine Fehler gemacht, trotzdem sind wir auf ein paar Fehler getreten. Wir haben diese Erfahrung in einen Rat umgewandelt, für den Fall, dass er für jemanden nützlich ist.

Wählen Sie Ihre Zeit und verteilen Sie Ihre Aktivitäten richtig

Wir hofften auf die Universität, aber vergebens. Am Ende des Unterrichts wurde klar, dass unser Kurs zum ungünstigsten Zeitpunkt des akademischen Jahres stattfand – vor der Sitzung. Die Schüler kamen nach dem Unterricht nach Hause, bereiteten sich auf die Prüfungen vor und setzten sich dann hin, um unsere Aufgaben zu erledigen. Manchmal kam die Lösung innerhalb von 4 bis 5 Stunden.

Es ist auch wichtig, die Tageszeit und die Häufigkeit der Aktivitäten zu berücksichtigen. Wir begannen um 19:00 Uhr. Wenn der Unterricht eines Schülers also früher endete, musste er nach Hause gehen und am Abend zurückkommen – das war unpraktisch. Darüber hinaus fand der Unterricht montags und mittwochs bzw. donnerstags und dienstags statt, und wenn es einen Tag für die Hausaufgaben gab, mussten die Kinder hart arbeiten, um diese rechtzeitig fertig zu bekommen. Dann haben wir uns angepasst und an solchen Tagen weniger gefragt.

Bringen Sie Kollegen mit, die Ihnen bei Ihren ersten Kursen helfen

Zunächst konnten nicht alle Studierenden mit dem Dozenten mithalten, es kam zu Problemen bei der Bereitstellung und Einrichtung der Umgebung. In solchen Situationen hoben sie die Hand und unser Mitarbeiter kam und half, die Sache zu klären. Bei den letzten Unterrichtsstunden war keine Hilfe nötig, da alles bereits vorbereitet war.

Zeichnen Sie Seminare auf Video auf

Auf diese Weise lösen Sie mehrere Probleme auf einmal. Geben Sie zunächst denjenigen, die den Kurs verpasst haben, die Möglichkeit, zuzuschauen. Zweitens: Füllen Sie die interne Wissensdatenbank mit nützlichen Inhalten auf, insbesondere für Anfänger. Drittens können Sie anhand der Aufzeichnung beurteilen, wie der Mitarbeiter Informationen vermittelt und ob er die Aufmerksamkeit des Publikums fesseln kann. Eine solche Analyse hilft, die rednerischen Fähigkeiten des Redners zu entwickeln. IT-Unternehmen haben auf Fachkonferenzen immer etwas mit ihren Kollegen zu teilen, und Seminare können hervorragende Redner hervorbringen.

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben

Dozent spricht, Kamera zeichnet auf
 

Seien Sie bereit, Ihren Ansatz bei Bedarf zu ändern

Wir wollten einen kleinen Teil der Theorie lesen, ein wenig programmieren und Hausaufgaben machen. Die Wahrnehmung des Stoffes erwies sich jedoch als nicht so einfach und reibungslos, und wir änderten die Herangehensweise an die Seminare.

In der ersten Hälfte der Vorlesung begannen sie, sich eingehend mit der vorherigen Hausaufgabe zu befassen, und im zweiten Teil begannen sie, die Theorie für die nächste zu lesen. Mit anderen Worten, sie gaben den Schülern eine Angelrute und zu Hause suchten sie selbst nach einem Reservoir, einem Köder und einem gefangenen Fisch – vertieften sich in die Details und verstanden die C++-Syntax. Beim nächsten Vortrag besprachen wir gemeinsam, was passiert ist. Dieser Ansatz erwies sich als produktiver.

Wechseln Sie nicht häufig den Lehrer

Wir hatten zwei Mitarbeiter, die Seminare im Backend durchführten, und sieben Mitarbeiter im Frontend. Für die Studenten gab es keinen großen Unterschied, aber die Front-End-Dozenten kamen zu dem Schluss, dass man für einen produktiveren Kontakt das Publikum kennen muss, wie es Informationen wahrnimmt usw., aber wenn man zum ersten Mal spricht, Dieses Wissen ist nicht vorhanden. Daher ist es möglicherweise besser, den Lehrer nicht häufig zu wechseln.

Stellen Sie in jeder Lektion Fragen

Es ist unwahrscheinlich, dass die Schüler selbst sagen, ob etwas schiefläuft. Sie haben Angst, dumm auszusehen und „dumme“ Fragen zu stellen, und es ist ihnen peinlich, den Dozenten zu unterbrechen. Das ist verständlich, denn seit einigen Jahren beobachten sie einen anderen Lernansatz. Wenn es also schwierig ist, wird es niemand zugeben.

Um Verspannungen zu lösen, verwendeten wir die „Lockvogel“-Technik. Der Kollege des Dozenten half nicht nur, sondern stellte während der Vorlesung auch Fragen und Lösungsvorschläge. Die Studierenden haben gesehen, dass Dozenten echte Menschen sind, man kann ihnen Fragen stellen und sogar mit ihnen scherzen. Dies trug dazu bei, die Situation zu entschärfen. Dabei kommt es vor allem darauf an, die Balance zwischen Unterstützung und Unterbrechung zu wahren.

Nun, selbst bei einem solchen „Köder“ sollten Sie immer noch nach den Schwierigkeiten fragen, herausfinden, wie ausreichend die Arbeitsbelastung ist, wann und wie man die Hausaufgaben am besten analysiert.

Halten Sie am Ende ein informelles Treffen ab

Nachdem wir in der letzten Vorlesung die endgültige Bewerbung erhalten hatten, beschlossen wir, die Feier mit Pizza zu feiern und einfach in ungezwungener Atmosphäre zu plaudern. Sie beschenkten diejenigen, die bis zum Ende durchhielten, benannten die Top Fünf und fanden neue Mitarbeiter. Wir waren stolz auf uns und die Schüler und froh, dass es endlich vorbei war :-).

Sie benötigen einen fertigen Jun - bringen Sie ihn selbst bei, oder wie wir einen Seminarkurs für Studenten gestartet haben
Wir verleihen Preise. Im Paket: T-Shirt, Tee, Notizblock, Stift, Aufkleber
 

Ergebnisse

16 Schüler erreichten das Ende des Unterrichts, 8 in jede Richtung. Laut Universitätsprofessoren ist das viel für Kurse dieser Komplexität. Wir haben fünf der Besten eingestellt oder fast eingestellt, und fünf weitere werden im Sommer zum Training kommen.

Unmittelbar nach dem Unterricht wurde eine Umfrage gestartet, um Feedback zu sammeln.

Haben Ihnen die Seminare bei der Entscheidungsfindung für Ihre Richtung geholfen?

  • Ja, ich werde in die Backend-Entwicklung einsteigen – 50 %.
  • Ja, ich möchte auf jeden Fall Frontend-Entwickler werden – 25 %.
  • Nein, ich weiß immer noch nicht, was mich mehr interessiert – 25 %.

Was erwies sich als das wertvollste?

  • Neues Wissen: „Das kann man an der Universität nicht bekommen“, „ein neuer Blick auf dichtes C++“, Schulung in Technologien zur Steigerung der Produktivität – CI, Git, Conan.
  • Die Professionalität und Leidenschaft der Dozenten, der Wunsch, Wissen weiterzugeben.
  • Unterrichtsformat: Erklärung und Übung.
  • Beispiele aus der Praxis.
  • Links zu Artikeln und Anleitungen.
  • Gut geschriebene Vorlesungspräsentationen.

Das Wichtigste ist, dass wir sagen konnten, dass die Jungs nach ihrem Universitätsabschluss eine Menge interessanter und herausfordernder Aufgaben vor sich haben werden. Sie verstanden, in welche Richtung sie gehen wollten, und kamen einer erfolgreichen Karriere in der IT ein Stück näher.

Jetzt wissen wir, wie wir das geeignete Schulungsformat auswählen, was wir vereinfachen oder ganz aus dem Programm streichen, wie viel Zeit die Vorbereitung in Anspruch nimmt und andere wichtige Dinge. Wir verstehen unsere Zuhörer besser, Ängste und Zweifel bleiben zurück.

Vielleicht sind wir noch weit davon entfernt, eine Unternehmensuniversität zu schaffen, obwohl wir bereits Mitarbeiter im Unternehmen ausbilden und mit Studenten arbeiten, aber wir haben den ersten Schritt in Richtung dieser ernsten Aufgabe getan. Und schon bald, im April, werden wir wieder unterrichten – dieses Mal an der Staatlichen Universität Irkutsk, mit der wir schon lange zusammenarbeiten. Wünsche uns Glück!

Source: habr.com

Kommentar hinzufügen