Der Sommer ist vorbei und gleichzeitig sind die meisten Sommerpraktika bei IT-Unternehmen beendet. Dieses Jahr hatte ich das Glück, ein Sommerpraktikum bei VKontakte zu haben. Es waren ohne Übertreibung die ereignisreichsten zwei Monate in meinem Leben, und ich möchte wirklich darüber sprechen, wie es war.

Über mich
Zuerst möchte ich ein wenig über mich selbst sprechen. Mein Name ist Amina, ich bin 25 Jahre alt und ausgebildeter Logistiker. Ich bin vor relativ kurzer Zeit zur IT gekommen - erst vor drei Jahren. Alles begann mit dem Satzunterricht in der HTML Academy, und ein Jahr später bekam ich einen Job als Front-End-Entwickler in einem Webstudio. Und dies ist auch mein erster Artikel über Habré, also mit einer Initiative von mir :)
Wie ich von dem Praktikum erfahren habe
Einer meiner Freunde arbeitet bei VK in der iOS-Testabteilung. Einmal sagte er, dass VKontakte bald mit der Rekrutierung für ein Sommerpraktikum beginnen wird, bei dem es zwei Plätze in Richtung Frontend geben wird. Alles, was benötigt wird, ist, die Testaufgabe zu lösen und ein Interview zu bestehen.
Ich war mir sicher, dass der Einstieg in VK aufgrund der seltenen offenen Stellen und der hohen Anforderungen an die Kandidaten ziemlich schwierig war, und hoffte daher kaum, über die Bewerbungsphase hinauszugehen. Aber es wurde für mich interessant, was die Testaufgabe ist - wenn es interessant ist, können Sie es in Zukunft dem Portfolio hinzufügen.
Testaufgabe
Insgesamt nahmen acht Teams am Praktikumsprogramm "VKontakte in Practice" teil:
- Team für angewandte Forschung;
- Messenger-Team;
- Team für mobile Infrastruktur. Android
- Team für mobile Infrastruktur. iOS
- Frontend-Werbeteam;
- Kern-ML-Team;
- Analytics-Team in der Geschäfts- und Werbeabteilung;
- Datenbankteam.
Um sich auf jeden von ihnen zu bewerben, musste mindestens eine Testaufgabe abgeschlossen werden, und in einigen von ihnen gab es zwei. In Richtung der Frontend-Auszubildenden wurden zwei Mentoren rekrutiert: aus dem Messenger-Team und dem Advertising-Team.

Der Test war für beide Teams gleich, sodass Sie Bewerbungen gleichzeitig an beide senden konnten. Ich entschied jedoch, dass die Werbung für mich nicht sehr interessant war, und schickte die Bewerbung nur an das Messenger-Team.
Hier ist die Liste der Anforderungen für die Testaufgabe:
Erstellen Sie eine vereinfachte Version des Kanban-Boards, auf der Sie:
- neue Karten hinzufügen;
- neue Spalten hinzufügen;
- Karten zwischen Spalten ziehen.
Stellen Sie sicher, dass die Lösung bequem, schnell und genau ist. Überlegen Sie, wie Sie dem Benutzer die Verwendung Ihres Produkts bequem und angenehm machen können.
Layout nach Referenz: vk.cc/9jpmLH
Bei der Bewertung der Arbeit wird Folgendes berücksichtigt:
- Einhaltung des Layouts, Genauigkeit des Codes;
- Layoutqualität;
- Flexibilität und Skalierbarkeit der Lösung.
Darüber hinaus lieben wir es, wenn der Code nur eine minimale Anzahl externer Abhängigkeiten verwendet.
Das Design war sehr präzise und nur für Desktop-Versionen. Deshalb musste ich mir alle Details und Nuancen selbst überlegen. Wie sich später herausstellte, war dies einer der Tricks dieser Aufgabe. Ich beschloss, das Rad nicht neu zu erfinden und stieg ein, um zu sehen, wie es auf Trello und ähnlichen Websites mit Kanban-Boards implementiert wird.
Ich war mir sicher, dass ich meine Entscheidung so schnell wie möglich senden sollte, wenn ich zumindest irgendwie unter einer großen Anzahl von Kandidaten in Erinnerung bleiben möchte. Und nicht verloren! Infolgedessen erledigte sie den Auftrag innerhalb von fünf Tagen nach Beginn der Annahme der Bewerbungen (ohne Schlaf, Essen und all dies).
So sah die Aufgabenimplementierung selbst aus:

Wenn es interessant ist, gibt es ein Video in der VK Education-Gruppe, in dem die Mentoren beider Teams, Tim Chaptykov und Dima Bezugly, darüber sprechen, wie die ideale Umsetzung der Aufgabe hätte aussehen sollen, und die häufigsten Fehler bei der Ausführung beschreiben. Hier ist der Link: vk.cc/9Q54fO
Vorstellungsgespräch
Nach langen und schmerzhaften zwei Wochen des Wartens schrieb mir HR VKontakte und lud mich zu einem Interview ein. Ich war so froh und gleichzeitig so verängstigt, dass ich die ganze Woche vor diesem Treffen Artikel zum Thema „Wie bekomme ich ein technisches Interview für einen Frontend-Entwickler?“ Und ähnliche Materialien sortierte.
Das Interview selbst sollte mit dem Mentor des Messenger-Teams - Tim Chaptykov - geführt werden. Aber auch der Mentor des Werbeteams, Dima Bezugly, kam, um mit mir zu sprechen. Die Fragen waren Standard - für mich selbst, über Erfahrung, den Stapel von Technologien, die ich in meiner Arbeit verwende. Ich erinnere mich nicht an das Interview selbst, weil ich immer noch verängstigt und nervös war und nicht verstand, was ich hier tat. Die einzige Frage, die ich beim Interview selbst stellen wollte, war, ob es Kommentare zu meiner Testaufgabe gab.

Natürlich habe ich es vergessen! Deshalb habe ich es nach einem Interview durch HR bestanden. Ich dachte, ich würde eine Antwort in Form von zwei oder drei Kommentaren bekommen, aber ich war einfach nicht mit Tim vertraut. Gleich am nächsten Tag erhielt ich eine maximal detaillierte Überprüfung mit allen Kommentaren, eine Beschreibung dessen, was getan werden sollte, sowie eine Analyse aller Vor- und Nachteile meiner Implementierung.
Hier ist die Nachricht:

Es war sehr cool und angenehm, weil solche Fragen nach dem Interview normalerweise für mich unbeantwortet blieben (vielleicht hatte ich nur Glück, aber immer noch).
Es blieb nur noch auf das Ende der Annahme der Anträge und die Bekanntgabe der Ergebnisse zu warten. Es waren zwei sehr aufregende Wochen des Wartens, nach denen sie mich schließlich anriefen und sagten, dass sie mich akzeptiert hatten. Ich mache ein Praktikum bei VK!
Erster Eindruck
Mein erster Tag auf VK war sehr beschäftigt. Zunächst hatten alle Auszubildenden einen Rundgang durch das Büro: Sie zeigten, wo sich welches Team befindet, wo sich der berühmte Besprechungsraum „Folter“ befindet und wie man die Kuppel besteigt. Dann zeigten sie Jobs und verteilten Ausrüstung: ein Macbook, einen Monitor, eine Tastatur und Kopfhörer nach Wunsch (sie werden benötigt - dafür muss ich mich bei den Musikern bedanken, die im Sommer den Newski-Prospekt besetzen). Und gleich danach begann ich in die Arbeit einzutauchen. Der Mentor und ich diskutierten zwei Monate lang über den Arbeitsplan und gingen, um das Arbeitsumfeld und die Wolldokumentation einzurichten und das Spiel „Finde den richtigen Artikel in Confluence“ zu spielen.

Praktikumsaufgaben
Meine Praktikumsaufgaben waren von Anfang an bekannt - ich habe sie im Interview erfahren. Kein Sitzen in der Ecke und Bearbeiten von Fehlern, die niemandes Hände erreichen. Dies waren drei wichtige Produktaufgaben für den Nachrichtenbereich - bald werden Sie ihre Implementierung in der Desktop-Version von VK sehen. In der Zwischenzeit hat die NDA;)
Der VK-Nachrichtenabschnitt enthält viele Funktionen, die bei der Entwicklung berücksichtigt werden müssen. Das wichtigste davon ist meiner Meinung nach, dass fast alle Ereignisse im Echtzeitmodus stattfinden. Die Daten vom Server werden ständig aktualisiert. Sie müssen dies überwachen. Überlagert ist, dass beim Testen absolut alle Fälle verarbeitet werden sollten - und wenn selbst einige äußerst seltene Fehler entdeckt werden, müssen sie behoben werden. Es ist ganz einfach: VK wird jeden Monat von 97 Millionen Menschen verwendet, und wenn jeder hunderttausendste Fehler auftritt, stellt sich heraus, dass fast 1000 Benutzer ihn abfangen werden. Daher gibt es praktisch keine kleinen Fehler.
Messenger
Ich möchte separat über das Messenger-Team sprechen. Cool, dass sie sehr gut koordiniert ist, obwohl sie nach Plattformen in Unterbefehle unterteilt ist. Um alle auf jeder Plattform auf dem Laufenden zu halten, findet montags eine Kundgebung statt, bei der jeder erzählt, was er letzte Woche getan hat und was er als nächstes tun wird.

Aber die coolsten Meetings sind eine Retrospektive. Einmal im Monat findet eine Kundgebung statt, bei der sich das gesamte Team versammelt und über alle guten und schlechten Ereignisse dieser Zeit spricht.
Zunächst nimmt die Retrospektive eine große Tasse mit M & M's. Dann spricht er in zwei Sätzen über etwas Gutes, das in seinem Leben passiert ist, isst Süßigkeiten und gibt die Tasse an die nächste weiter. Und das Treffen geht genauso weiter. Und so weiter, bis alle das Wort ergreifen. Die Jungs sprechen über globale Veränderungen im Leben und über kleine Dinge wie „ein gutes Buch lesen“ oder „in einen großartigen Film gegangen“. Es muntert alle auf und hilft, positiv zu stimmen.
Als nächstes wird auf die akkumulierten Probleme eingegangen. Das Team hat einen speziellen Briefkasten, in dem die Jungs einen Monat lang Aufkleber werfen: Auf Grün schreiben sie über das, was sie mochten, auf Gelb - was verärgert, auf Rot - sauer.

Alle Aufkleber werden entsprechend den Spalten froh, traurig und verrückt auf der Tafel verteilt, und dann bespricht das Team sie. Wenn es Probleme gibt, die hier und jetzt nicht beseitigt werden können, stellt sich heraus, wie sie gelöst werden können und wer sie angehen wird. Probleme können unterschiedlich sein: von den kleinsten wie der Temperatur einer Klimaanlage bis zu großen technischen oder organisatorischen. Die Hauptsache ist, dass sich jeder interessiert: Wenn etwas einen stört, stört es jeden. Daher ist der Gewinn aus diesen Sitzungen maximal.
Es war auch sehr cool herauszufinden, wie das Leben im VKontakte-Büro kocht. Zum Beispiel vergeht jeder Donnerstag der Demo-Tag, an dem Entwickler aus verschiedenen Teams die Freude an ihren Funktionen teilen. Jeden Freitag werden Kinotouren, Teambuilding und Pizza für die Mitarbeiter organisiert.
Für Praktikanten wurden separat Mittagessen mit Top-Managern des Unternehmens abgehalten: vier Gruppen von zwei oder drei Praktikanten und vier Top-Managern. So kam es, dass ich und zwei andere Praktikanten von iOS mit VK-Geschäftsführer Andrei Rogozov zu Mittag aßen. Ich hatte erwartet, dass alles in einem eher formalen Rahmen stattfinden wird, aber in Wirklichkeit stellte sich heraus, dass es völlig anders war. Es gab ein U-Bahn-Mittagessen, bei dem der AR viele Geschichten aus dem Leben von VKontakte erzählte. Wir diskutierten Pläne für die Zukunft.

Im Allgemeinen gab es so viele Ereignisse, dass diese zwei Monate sofort vergingen. Am Ende aller Praktikanten wartete eine Abschlusspräsentation, in der alle über die Ergebnisse ihres Praktikums sprachen. Mein Ergebnis waren zwei neue Funktionen. Es hätte drei geben sollen, aber in der Entwicklung läuft selten etwas nach Plan. Eine dieser Funktionen wurde zum Testen bereitgestellt, worüber ich mich unglaublich freue. Ich würde gerne darüber sprechen, aber dies wird erst nach der Veröffentlichung möglich sein. Vorher habe ich auch die Codeüberprüfungsphase durchlaufen. 47 Kommentare wurden von meinem Team sorgfältig hinterlassen und gelöst.
Abschließend möchte ich sagen, dass ich sehr stolz auf die coolen Leute bin, mit denen ich während des Praktikums zusammengearbeitet habe. Insbesondere beziehe ich mich auf ein kleines Zwei-Personen-Team, das für die Veröffentlichung im Internet verantwortlich ist. Tim und Katya sind mit ihren speziellen Entwicklungsansätzen echte Fans ihres Fachs. Was ich in diesen zwei Monaten von ihnen gelernt habe, scheint das Gesamtwissen zu übertreffen, das ich in bescheidenen zwei Jahren Arbeit gesammelt habe.

Das VKontakte-Praktikum bietet die Möglichkeit zu sehen, wie ein so großes Projekt von innen funktioniert, um mehr über die Prozesse zu erfahren. Ein Praktikum an sich bedeutet keine weitere Beschäftigung, Praktikanten werden allgemein befragt. Dies wurde sofort besprochen und war keine Überraschung.
Aber wie so oft kann sich alles ändern. Die Praktikanten arbeiteten so gut mit ihren Mentoren und Kollegen zusammen, dass 8 von 13 eingestellt wurden! Allerdings blieben nicht alle in ihren Teams - einige beschlossen, sich in etwas anderem zu versuchen.
Zum Beispiel bin ich jetzt ein Junior-Entwickler im Team für Automatisierungs- und Wartungsinfrastruktur - ich kenne die Administrationsseite von VKontakte.