
Fast nahezu das gesamte Entwicklungsteam von Skyeng, das aus mehr als 100 Personen besteht, arbeitet remote, und die Anforderungen an die Fachkräfte waren stets hoch: Wir haben nach Senior, Fullstack-Entwicklern und Mid-Level-Spezialisten gesucht. Doch Anfang 2019 haben wir zum ersten Mal drei Junioren eingestellt. Das geschah aus mehreren Gründen: Die Einstellung ausschließlich von Superfachleuten löst nicht alle Probleme, und für die Schaffung einer gesunden Atmosphäre in der Entwicklung braucht man Menschen mit unterschiedlichem Fachwissen.
Wenn Sie remote arbeiten, ist es von größter Bedeutung, dass eine Person sofort zum Projekt beiträgt, ohne lange Einarbeitungs- und Eingewöhnungsprozesse. Bei Junioren funktioniert das nicht so gut, zudem erfordert die Einarbeitung auch eine fundierte Integration des Neulings ins Team, da alles neu für ihn ist. Das ist eine separate Aufgabe für den Teamleiter. Daher konzentrierten wir uns auf die Suche und Einstellung von erfahreneren und bereits etablierten Entwicklern. Mit der Zeit stellte sich jedoch heraus, dass Teams, die nur aus Senioren und Fullstack-Entwicklern bestehen, auch ihre eigenen Probleme haben. Zum Beispiel, wer kümmert sich um die routinemäßigen, aber notwendigen Aufgaben, die keine Superqualifikationen oder besondere Kenntnisse erfordern?
Früher haben wir anstelle der Einstellung von Junioren mit Freiberuflern gearbeitet.
Solange es nur wenige Aufgaben gab, nahmen unsere Senioren diese für sie uninteressanten Aufgaben mehr oder weniger widerwillig an, denn die Entwicklung muss vorankommen. Doch das konnte nicht lange so bleiben: Die Projekte wuchsen, und die Anzahl der routinemäßigen, einfachen Aufgaben nahm zu. Die Situation gleicht zunehmend einem Witz, wenn Nägel mit einem Mikroskop anstelle eines Hammers eingeschlagen werden. Zur Veranschaulichung kann man zur Arithmetik greifen: Wenn Sie eine Person mit einem hypothetischen Stundensatz von 50 $ einstellen, um Aufgaben zu erledigen, die auch ein Mitarbeiter mit einem Stundensatz von 10 $ erledigen kann, haben Sie ein Problem.
Das Wichtigste, was wir aus dieser Situation gelernt haben, ist, dass das aktuelle Paradigma, nur die besten Spezialisten einzustellen, unsere Probleme mit routinemäßigen Aufgaben nicht löst. Wir brauchen jemanden, der bereit ist, die Arbeit zu übernehmen, die erfahrene Senior-Mitarbeiter als Bestrafung empfinden und die ihnen schlichtweg ineffizient zuweisen werden. Zum Beispiel das Schreiben von Bots für die Slack-Chats unserer Lehrkräfte und Kursentwickler oder das Bearbeiten von kleineren Verbesserungsprojekten für interne Bedürfnisse, für die unseren Entwicklern ständig die Zeit fehlt, aber deren Existenz das Leben erheblich erleichtern würde.
In diesem Moment wurde eine Zwischenlösung entwickelt. Wir begannen, Freiberufler in unsere Projekte einzubeziehen. Genau für solche Outsourcing-Aufgaben wurden einfache und nicht dringende Tätigkeiten delegiert: hier etwas anpassen, dort etwas überprüfen, etwas umschreiben. Unser Freiberufler-Team wuchs ziemlich aktiv. Einer unserer Projektmanager sammelte Aufgaben aus verschiedenen Projekten und verteilte sie an die Freiberufler, basierend auf unserer vorhandenen Datenbank von Dienstleistern. Damals erschien uns das als gute Lösung: Wir entlasteten die Senior-Mitarbeiter und sie konnten wieder in vollem Umfang kreativ arbeiten, anstatt sich mit einfachen Aufgaben zu beschäftigen. Natürlich gab es Aufgaben, die aus Gründen der Geschäftlichkeitsgeheimnisse nicht an externe Dienstleister übergeben werden konnten, aber solche Fälle waren im Vergleich zur Masse der Aufgaben, die an Freiberufler abgegeben wurden, deutlich seltener.
Aber das konnte nicht ewig so weitergehen. Das Unternehmen stellte fest, dass die Freiberufler-Abteilung sich in ein unflexibles Ungeheuer verwandelt hatte. Die Anzahl der routinemäßigen einfachen Aufgaben wuchs mit den Projekten, und irgendwann gab es zu viele, als dass wir sie effektiv extern verteilen konnten. Zudem ist der Freiberufler nicht in die Spezifik der Projekte eingearbeitet, was ständige Zeitverluste bei der Einarbeitung bedeutet. Offensichtlich kann man, wenn man mehr als 100 professionelle Entwickler im Team hat, nicht einmal ein paar Dutzend Freiberufler einstellen und deren Tätigkeit effektiv steuern. Außerdem sind die Interaktionen mit Freiberuflern immer mit Risiken bezüglich termingerechter Lieferung und anderen organisatorischen Problemen verbunden.
Es ist wichtig zu betonen, dass ein Remote-Mitarbeiter und ein Freelancer zwei verschiedene Entitäten sind. Ein Remote-Mitarbeiter ist vollständig im Unternehmen angestellt, hat festgelegte Arbeitszeiten, ein Team, Vorgesetzte und so weiter. Ein Freelancer arbeitet projektbasiert, dessen Tätigkeiten hauptsächlich durch Deadlines geregelt sind. Im Gegensatz zu einem Remote-Mitarbeiter ist der Freelancer in der Regel auf sich allein gestellt und interagiert nur begrenzt mit dem Team. Daraus ergeben sich potenzielle Risiken bei der Zusammenarbeit mit solchen Auftragnehmern.
Wie wir zur Gründung der "Abteilung für einfache Aufgaben" gekommen sind und was wir erreicht haben
Nach Analyse der aktuellen Situation kamen wir zu dem Schluss, dass wir Mitarbeiter mit niedrigerer Qualifikation benötigen. Wir hatten keine Illusionen darüber, dass wir aus allen Junioren zukünftige Superstars heranbilden könnten oder dass die Einstellung von zehn Junioren uns nur ein kleines Budget kosten würde. Die Realität im Hinblick auf Junioren ist insgesamt folgende:
- Auf kurze Sicht ist es wirtschaftlich nicht vorteilhaft, sie einzustellen. Anstatt jetzt fünf bis zehn Junioren einzustellen, ist es besser, einen Senior zu engagieren und ihm Millionen für qualitativ hochwertige Arbeit zu zahlen, als Budgets für Anfänger auszugeben.
- Junioren haben eine lange Einarbeitungszeit im Projekt und benötigen umfassende Schulung.
- In dem Moment, in dem ein Junior etwas gelernt hat und beginnen sollte, die Investitionen in sich selbst in den ersten sechs Monaten seiner Arbeit "abzuleisten", muss er zum Middle befördert werden, oder er wechselt in eine andere Firma. Daher eignet sich die Einstellung von Junioren nur für reife Organisationen, die bereit sind, ohne Gewähr auf kurzfristigen Profit in sie zu investieren.
Aber wir sind mittlerweile auf die Größe angewachsen, bei der wir nicht ohne Junioren im Team auskommen: Die Anzahl der Routineaufgaben steigt, und es wäre einfach ein Verbrechen, erfahrene Profis dafür einzusetzen. Genau aus diesem Grund haben wir die Abteilung speziell für Junior-Entwickler gegründet.
Die Dauer der Arbeit in der Abteilung für einfache Aufgaben ist auf drei Monate begrenzt – das ist die Standardprobezeit. Nach drei Monaten bezahlter Arbeit wird der Neue entweder in das Team geschickt, das ihn als Junior-Entwickler sehen möchte, oder wir trennen uns von ihm.
An erfahrener PM leitet die von uns gegründete Abteilung und ist verantwortlich für die Zuweisung von Aufgaben an die Juniors sowie deren Zusammenarbeit mit anderen Teams. Der Junior erhält eine Aufgabe, führt sie aus und erhält Feedback sowohl vom Team als auch von seinem Manager. In der Phase, in der die Abteilung einfache Aufgaben hat, werden die Neulinge nicht spezifischen Teams und Projekten zugewiesen – sie haben Zugang zu allen Aufgaben in Übereinstimmung mit ihren Fähigkeiten (derzeit stellen wir Front-End-Entwickler für AngularJS, Back-End-Entwickler für PHP ein oder suchen nach Kandidaten für die Position eines Webentwicklers, die beide Sprachen beherrschen) und können an mehreren Projekten gleichzeitig arbeiten.
Die Einstellung von Juniors ist jedoch nicht alles – es müssen auch akzeptable Arbeitsbedingungen für sie geschaffen werden, was eine völlig andere Aufgabe ist.
Erstens haben wir uns auf freiwilliges Mentoring in angemessenem Umfang geeinigt. Das heißt, niemand wird unter Druck gesetzt, einen Neuling zu mentorieren, und es wurde klar festgelegt, dass die Ausbildung des Neulings nicht die Hauptarbeit ersetzen sollte. Kein „50% der Zeit arbeiten, 50% den Junioren unterrichten“. Um eine klare Vorstellung davon zu bekommen, wie viel Zeit für das Mentoring benötigt wird, wurde ein kleiner "Lehrplan" erstellt: eine Liste von Aufgaben, die jeder Mentor mit seinem Schützling erfüllen sollte. Das Gleiche galt auch für den Projektmanager der Juniors, und schließlich erhielten wir ein sehr reibungsloses und verständliches Szenario für die Vorbereitung der Neulinge und ihr Einarbeiten in die Arbeit.
Wir haben folgende Punkte vorgesehen: Überprüfung des theoretischen Wissens, Vorbereitung eines Materialsatzes, falls der Junior etwas nachlernen muss, und Genehmigung eines einheitlichen Ansatzes für Code-Reviews für die Mentoren. In jeder Phase geben die Führungskräfte Feedback an den Neuling, was äußerst wichtig für Letzteren ist. Der junge Mitarbeiter versteht, in welchen Aspekten er stark ist und in welchen er aufmerksamer sein sollte. Um den Lernprozess für Juniors und erfahrene Entwickler zu vereinfachen, wurde ein gemeinsamer Chat in Slack eingerichtet, sodass sich andere Mitglieder des Teams statt des Mentors am Lernprozess beteiligen und Fragen beantworten können. All dies macht die Arbeit mit Juniors zu einem recht vorhersehbaren und, was wichtig ist, kontrollierbaren Prozess.
Nach dem Ende der dreimonatigen Probezeit führt der Mentor ein abschließendes technisches Interview mit dem Junior durch, dessen Ergebnis darüber entscheidet, ob der Junior in ein festes Team übernommen wird oder nicht.
Insgesamt
Auf den ersten Blick wirkt unsere Abteilung für Junioren wie ein Inkubator oder eine speziell geschaffene Sandkiste. In Wirklichkeit ist es jedoch eine echte Abteilung mit allen Merkmalen eines vollwertigen Teams, das reale und keine Trainingsaufgaben löst.
Das Wichtigste ist jedoch, dass wir den Menschen einen klaren Horizont bieten. Die Abteilung für einfache Aufgaben ist kein endloser Zwischenzustand, in dem man für immer stecken bleiben kann. Es gibt einen klaren Zeitraum von drei Monaten, in dem der Junior einfache Aufgaben in Projekten übernimmt, aber auch die Möglichkeit hat, sich zu beweisen und in ein Team überzutreten. Die von uns eingestellten Neulinge wissen, dass sie ihren eigenen Projektmanager, einen Mentor aus den Senior-Entwicklern (oder sogar mehrere) haben werden und die Möglichkeit, sich vollständig in das Team zu integrieren, wo sie willkommen sind und erwartet werden.
Seit Anfang des Jahres wurden 12 Juniors in die Abteilung für einfache Aufgaben eingestellt, nur zwei haben die Probezeit nicht bestanden. Ein anderer Kollege hat sich im Team nicht wohl gefühlt, aber da er in der Arbeit sehr fähig ist, wurde er für eine neue Frist wieder in die Abteilung für einfache Aufgaben zurückgebracht, in der Hoffnung, dass er ein neues Team finden wird. Die Arbeit mit den Juniors hat sich auch positiv auf unsere erfahrenen Entwickler ausgewirkt. Einige von ihnen haben nach der Mentorzeit in sich Fähigkeiten und den Wunsch entdeckt, sich als Teamleiter zu versuchen, während andere, inspiriert von den Juniors, ihr eigenes Wissen aufgefrischt haben und von einer Mid-Level- zu einer Senior-Position gewechselt sind.
Wir werden unsere Praxis zur Einstellung junger Entwickler nur ausbauen, da dies zahlreiche Vorteile für das Team bietet. Juniors erhalten die Möglichkeit zur vollwertigen Remote-Arbeit, unabhängig von ihrem Wohnort: Die Mitglieder unserer Entwicklungsteams leben von Riga bis Wladiwostok und meistern die Zeitunterschiede dank der optimierten Prozesse innerhalb des Unternehmens. All dies öffnet talentierten Menschen, die in abgelegenen Städten und Dörfern leben, die Türen. Dabei geht es nicht nur um ehemalige Schüler und Studenten, sondern auch um Personen, die aus bestimmten Gründen ihre Berufung wechseln möchten. Unserem Junior könnte ebenso gut 18 wie 35 Jahre alt sein, denn Junior ist eine Frage von Erfahrung und Fähigkeiten, nicht von Alter.
Wir sind überzeugt, dass unser Ansatz auch auf andere Unternehmen, die das Modell der Remote-Entwicklung nutzen, problemlos übertragen werden kann. Er ermöglicht es gleichzeitig, gezielt talentierte Juniors aus jedem Winkel Russlands oder der GUS einzustellen und dabei die Mentoring-Fähigkeiten erfahrener Entwickler auszubauen. Finanziell betrachtet ist diese Geschichte äußerst kostengünstig, sodass alle profitieren: das Unternehmen, unsere Entwickler und natürlich die Juniors, die nicht in große Städte oder Hauptstädte umziehen müssen, um Teil eines erfahrenen Teams zu werden und an spannenden Projekten zu arbeiten.
Quelle: habr.com
