In die Wildnis. Ergebnisse der Projekte der School of Programmers im Zeitalter der Selbstisolation

Während des viermonatigen Unterrichts wurden 54 Vorträge in zwei Streams gehalten, Backend und Frontend. Es wurden mehrere coole Workshops mit Live-Codierung abgehalten. Hunderte von Aufgaben wurden geprüft, zweihundert Antworten gingen auf alle Fragen ein. Dann kam 2020 und gleich nachdem wir die Girlanden von den Bäumen entfernt hatten, mussten wir uns alle in Masken kleiden und selbst Handschuhe anziehen. Und jetzt in der Reihenfolge:







Die zehnte Schule der Programmierer hh.ru ist etwas Besonderes geworden. Jubiläum, eine Vielzahl von Plänen, ein unerschöpflicher Strom von Schülern, die anhaltende Motivation unserer Lehrer und Organisatoren. Wir haben hart gearbeitet, um diese Version zu einem Modell zu machen.





Wir haben 30 Personen aus tausend Bewerbungen ausgewählt. Und diese Jungs erwiesen sich als wirklich cool, mit einem großen Wunsch zu lernen, einem Wunsch, Schwierigkeiten zu überwinden und besser zu werden.



Gleichzeitig trat unser Training in die Projektphase ein, und die IT-Welt, wie wir sie kennen, wechselte im Handumdrehen ihre Schuhe und wechselte in den Total Remote-Modus. Dies betraf auch die Schule: Wir mussten dringend unsere Pläne überarbeiten und alle unsere Projekte und Lernprozesse online übertragen. Und hier möchte ich unseren Organisatoren und Mentoren dafür danken, dass sie alle Schulungen dringend auf einen Remote-Modus übertragen konnten, Schulkinder, die dieses Stadium erreicht haben, auch von zu Hause aus effektiv navigieren und lernen konnten, und alle, die uns Hilfe und Unterstützung geleistet haben ...



Alle Studenten wurden in Teams aufgeteilt, die aus Back-End- und Front-End-Entwicklern bestanden (obwohl sich herausstellte, dass die Aufteilung eher willkürlich war und jemand beides versuchen musste), und unter der Anleitung von Mentoren und unseren Programmierern, die das Teammanagement verbessern wollten, begannen die Entwicklungsgruppen, Projekte umzusetzen ...



Insgesamt gab es 5 Teams, von denen jedes drei Monate lang unermüdlich arbeitete: Planung und Entwicklung, Teilnahme an Codeüberprüfungen und Rückblicke. Das Ergebnis waren 5 Projekte, über die Sie sich nicht schämen und mit denen Sie beispielsweise bei einer Bewerbung angeben möchten.



Sie sollten sofort über das Ziel der Projekte berichten: In drei Monaten, um den Jungs echte Teamarbeit beizubringen, müssen Sie alle Schritte von der Planung und Organisation der Infrastruktur bis zur Arbeit an UX und der Erstellung eines vollwertigen MVP durchlaufen. Zu diesem Zweck haben wir jedem Team ein Thema angeboten, das von den Mentoren unterstützt wurde.



Diese Themen sind:



  • Service für die Erstellung von kommerziellen Angeboten für Arbeitgeber - ein Service zur Unterstützung unseres Vertriebs, der es uns ermöglicht, effizienter zu arbeiten, und unseren Kunden, wirklich individuelle Angebote zu erhalten;
  • Ein interner Service für Entwickler, mit dem Sie den Codierungsprozess spielen und Bewertungen für Entwickler nach verschiedenen Kriterien erstellen können. Die Anwendung muss mit unserem GitHub-Konto kommunizieren und Daten zu den Entwicklern anzeigen, die schneller, höher und stärker sind.
  • . / - :)/, - , - . , hh.ru . , , , ;
  • — , , . MVP google forms, , ;
  • Service zum Markieren von offenen Stellen. Jetzt können Sie in unserer Job- und Lebenslauf-App Schlüsselkompetenzen angeben, die Prioritäts-Tags für die Suche und den Vergleich sind. Sie müssen manuell abgelegt werden und machen es nicht immer richtig. Ziel des Projekts ist es, Tags basierend auf anderen Jobfeldern automatisch zu berechnen.


Tolle Projekte, stimme zu? Ruft für eine separate Webanwendung oder eine vollwertige neue Funktion einer vorhandenen Anwendung. Übrigens, wenn Sie die Gelegenheit hätten, ein Thema oder eine Idee für ein Projekt an der School of Programmers vorzuschlagen, was könnte es sein?



In der Zwischenzeit ein paar Worte darüber, welche Technologien in den Projekten verwendet wurden und was die Ergebnisse der Arbeit der Teams an den Projekten waren:



Teamleiter Kompetenzumfrage Service



Diese webbasierte Anwendung mit vollem Funktionsumfang funktioniert unabhängig von unserer Haupt-hh.ru .



Auf dem verwendeten Frontend:



  • reagieren
  • endgültige Form reagieren
  • Redux
  • Material-UI-Kit zur Beschleunigung des Interface-Prototyping


Im Backend:



  • Muttern und Schrauben (NaB) - unser eigenes Java-Webframework
  • Jersey
  • überwintern
  • PostgreSQL


Alle Teile der Anwendung sind in Docker verpackt.



Das Projektteam hob die folgenden Punkte als Ergebnis ihrer Arbeit hervor: Die Entwickler erstellten den Service von Grund auf neu und implementierten die Grundlage für die Weiterentwicklung des Bewertungssystems für Unternehmensfähigkeiten. Wir haben Erfahrung in der Arbeit mit agilen Methoden und Codeüberprüfungen gesammelt. Erstellte ein engmaschiges Team und hatte viel Spaß.



Entwickler-Bewertungsservice



Es ist ein Webdienst, der unabhängig von unserer Hauptanwendung ausgeführt wird und nur auf den Zugriff auf unser GitHub-Konto angewiesen ist.



Auf dem verwendeten Frontend:



  • reagieren
  • Redux
  • Finale Form
  • date-fns
  • weniger als Präprozessor für Stile


Im Backend:



  • Schrauben und Muttern (NaB)
  • Jersey
  • überwintern
  • PostgreSQL


Die gesamte Anwendung war in mehrere Teile unterteilt: krona, das Statistiken von GitHub aktualisiert, ein Backend zum Berechnen und Analysieren von Statistiken, ein Frontend zum Anzeigen von Diagrammen, Informationen und der Bewertung selbst.



Als Ergebnis der Arbeit präsentierte das Team den MVP seines Projekts und schlug verschiedene Optionen für die Entwicklung der Funktionalität vor.



Service zur Bildung von kommerziellen Angeboten für Arbeitgeber



Diese Anwendung wurde als separater Dienst in unserem Ökosystem von Microservices implementiert, die sich auf hh.ru beziehen. Auf dem



Frontend, das wir verwendet haben:



  • reagieren
  • endgültige Form reagieren
  • Redux
  • Material-UI-Kit zur Beschleunigung des Interface-Prototyping


Im Backend:



  • Schrauben und Muttern (NaB)
  • Jersey
  • überwintern
  • kafka - als Technologie zum Übertragen von Ereignissen von Business Intelligence-Systemen und Webanwendungen auf einen neuen Dienst
  • PostgreSQL


Eine der größten Herausforderungen für dieses Team war die Notwendigkeit, auch eine Kopie der MSSQL Server-Datenbank zu erstellen, da hier die Daten von Geschäftsprozessen, Analysen und Kunden gespeichert werden. Eine separate anonymisierte Kopie mit Daten wurde zur Demonstration und zum Testen weiter verwendet.



Service zur Verbesserung der Qualität der Suchergebnisse



Auf dem verwendeten Frontend:



  • reagieren
  • Redux
  • weniger als Präprozessor für Stile


Im Backend:



  • Schrauben und Muttern (NaB)
  • Jersey
  • überwintern
  • PostgreSQL


Die Schüler mussten ein komplexes Interaktionsmodell zwischen Benutzern implementieren, die die Qualität der Suchergebnisse bewerten, Benutzer-Administratoren, die die Bewertung anordnen und validieren. Es war notwendig zu verstehen, wie die Suche funktioniert und welche Bewertungs- und Validierungsmethoden es geben könnte.



Die beste Bewertung des Projekts selbst war der Wunsch des Suchproduktmanagers, den Service schnell auf die Produktion auszudehnen.



Job-Tagging-Service



Das ungewöhnlichste Projekt, das von Schulkindern neben der Fähigkeit, eine Anwendungsarchitektur zu programmieren und zu erstellen, erforderlich war, um die Mechanismen des Vergleichs, der Bewertung und der Transformation von Text in ML zu verstehen.



Im Frontend haben wir zur Implementierung des Admin-Panels Folgendes verwendet:



  • reagieren
  • Redux
  • weniger


Im Backend zum Sammeln und Analysieren von Daten:



  • Schrauben und Muttern (NaB)
  • Jersey
  • überwintern
  • PostgreSQL
  • Apache Lucene
  • Yandex.Tank - für Lasttests


Die größte Herausforderung war das Eintauchen in ML, die Untersuchung von TF-IDF, PMI-Metriken und deren Derivaten. Bei der abschließenden Demo teilte das Team mit, dass die Hauptschwierigkeiten bei der Implementierung des Algorithmus waren: Mangel an ausreichender Zeit für die Analyse von Daten, Mangel an Qualitätsmetriken zum Vergleich von Algorithmen und eine sehr große Variabilität der Parameter des Modells.



Wir sind zuversichtlich, dass sich die Ideen und deren Umsetzung unserer Jubiläumsschule als würdig erwiesen haben. Und 22 Absolventen werden hervorragende Programmierer - warum bescheiden sein, sind sie bereits geworden. Wir haben 11 von ihnen eingeladen, für uns zu arbeiten, und der Rest wird Empfehlungen geben und Anstrengungen unternehmen, um die Jungs in eine gute Gesellschaft zu bringen!



Wenn Sie an einem der Projekte interessiert sind, schreiben Sie darüber und stellen Sie Fragen. Wenn einer von ihnen "schießt", werden wir das Team, das an dem Projekt gearbeitet hat, auf jeden Fall bitten, uns mehr darüber zu erzählen.



Die Zulassung zur elften Programmierschule ist übrigens in vollem Gange.   Darüber hinaus sind wir dieses Jahr komplett online und haben in dieser Hinsicht die Anzahl der Plätze auf 40 erhöht. Jetzt können Bewerbungen von jeder Stadt unserer riesigen Stadt eingereicht werden! Wenn diese Erfahrung erfolgreich ist, werden wir alle Anstrengungen unternehmen, um die Schule für immer online zu halten.



Das Training ist völlig kostenlos.



Der Zulassungsalgorithmus ist einfacher als das Sortieren von Blasen:



1. Füllen Sie das Formular auf der Website aus.



2. Führen Sie die Testaufgabe aus.



3. Führen Sie ein Online-Interview mit unseren Mitarbeitern



Wir warten an unserer Schule auf Sie!





Ich wünsche Ihnen einen schönen Tag und erinnere mich an Moliere. Fassen wir zusammen: „Wie schön zu wissen, dass Sie etwas gelernt haben“!



All Articles