Wir schaffen eine Abteilung für Junioren zur Unterstützung der Hauptteams, indem wir nur Slack, Jira und blauen Klebeband verwenden.

Wir schaffen eine Abteilung für Junioren zur Unterstützung der Hauptteams, indem wir nur Slack, Jira und blauen Klebeband verwenden.

Fast die gesamte Entwicklungsabteilung von Skyeng, die aus mehr als 100 Personen besteht, arbeitet remote, und die Anforderungen an die Spezialisten waren immer hoch: Wir suchten nach Senior-Entwicklern, Fullstack-Entwicklern und Mid-Level-Programmierern. Doch Anfang 2019 haben wir zum ersten Mal drei Junior-Entwickler eingestellt. Dies geschah aus mehreren Gründen: Die Einstellung nur von Super-Spezialisten löst nicht alle Probleme, und für eine gesunde Atmosphäre in der Entwicklung braucht man Menschen mit unterschiedlichem Professionalitätslevel.

Wenn Sie remote arbeiten, ist es äußerst wichtig, dass eine Person sofort ins Projekt einsteigt und einen Mehrwert bringt, ohne lange Einarbeitungsprozesse. Das klappt mit Juniors nicht, zusätzlich ist eine geschickte Integration des Neuen ins Team erforderlich, da alles neu für ihn ist. Und das ist bereits eine separate Aufgabe für den Teamleiter. Daher haben wir uns darauf konzentriert, erfahrenere und etablierte Entwickler zu finden und einzustellen. Im Laufe der Zeit stellte sich jedoch heraus, dass es auch in Teams, die ausschließlich aus Seniors und Fullstack-Entwicklern bestehen, Probleme gibt. Zum Beispiel, wer kümmert sich um die routinemäßigen, aber notwendigen Aufgaben, die keine Superqualifikationen oder spezielles Wissen erfordern?

Früher haben wir anstelle der Einstellung von Juniors mit Freelancern herumexperimentiert.

Bisher waren es nur wenige Aufgaben, die unsere Senior-Entwickler, mit zusammengebissenen Zähnen, übernommen haben, auch wenn diese für sie uninteressant waren – die Entwicklung muss schließlich weitergehen. Doch so konnte es nicht lange weitergehen: Die Projekte nahmen zu, und die Anzahl der routinemäßigen, einfachen Aufgaben wuchs. Die Situation begann mehr und mehr wie ein Witz zu wirken, in dem Nägel mit einem Mikroskop statt mit einem Hammer eingeschlagen werden. Zum besseren Verständnis kann man die Mathematik anführen: Wenn Sie jemanden mit einem Stundensatz von 50 $ an Aufgaben einsetzen, die auch ein Mitarbeiter mit einem Stundensatz von 10 $ bewältigen kann, haben Sie ein Problem.

Das Wichtigste, was wir aus dieser Situation gelernt haben, ist, dass das derzeitige Paradigma, nur die besten Fachkräfte einzustellen, unsere Probleme mit routinemäßigen Aufgaben nicht löst. Wir brauchen jemanden, der bereit ist, die Arbeiten zu erledigen, die erfahrene Senior-Entwickler als Strafe empfinden und deren Übertragung an sie einfach ineffizient ist. Zum Beispiel das Schreiben von Bots für die Slack-Chats unserer Lehrer und Kursanbieter oder kleinere Verbesserungsprojekte für interne Bedürfnisse, für die den Entwicklern ständig die Zeit fehlt, was das Leben jedoch erheblich angenehmer machen würde.

In diesem Moment wurde eine vorläufige Lösung entwickelt. Wir begannen, Freiberufler in die Arbeit an unseren Projekten einzubeziehen. Genau für solche Outsourcing-Projekte wurden einfache und nicht dringende Aufgaben abgegeben: hier etwas anpassen, dort etwas überprüfen, etwas umschreiben. Unsere Freiberuflerabteilung wuchs ziemlich schnell. Einer unserer Projektmanager sammelte Aufgaben aus verschiedenen Projekten und verteilte sie an die Freiberufler, basierend auf der vorhandenen Datenbank von Ausführenden. Damals schien uns das eine gute Lösung zu sein: Wir entlasteten die Senior-Mitarbeiter, sodass sie wieder kreativ arbeiten konnten, anstatt sich mit trivialen Dingen herumzuschlagen. Natürlich gab es Aufgaben, die aufgrund von Geschäftsgeheimnissen nicht an externe Dienstleister übertragen werden konnten, aber solche Fälle waren im Vergleich zur Masse der Aufgaben, die an Freiberufler vergeben wurden, deutlich weniger.

Doch diese Situation konnte nicht ewig anhalten. Das Unternehmen sah sich zunehmend mit der Herausforderung konfrontiert, dass die Freiberuflerabteilung zu einem unbeweglichen Monster geworden war. Die Anzahl der routinemäßigen, einfachen Aufgaben stieg zusammen mit den Projekten und irgendwann gab es so viele davon, dass sie nicht mehr effektiv an externe Auftragnehmer verteilt werden konnten. Zudem ist ein Freiberufler nicht in die spezifischen Anforderungen der Projekte eingearbeitet, was kontinuierlich Zeit für das Onboarding kostet. Offensichtlich kann man, wenn man über 100 professionelle Entwickler im Team hat, nicht einfach ein paar Dutzend Freiberufler einstellen und deren Tätigkeiten effektiv verwalten. Außerdem birgt die Zusammenarbeit mit Freiberuflern immer gewisse Risiken bezüglich der Einhaltung von Fristen und andere organisatorische Probleme.

Hier ist es wichtig zu betonen, dass ein Remote-Mitarbeiter und ein Freelancer zwei verschiedene Entitäten sind. Ein Remote-Arbeiter ist vollständig im Unternehmen integriert, hat festgelegte Arbeitszeiten, ein Team, Vorgesetzte usw. Ein Freelancer arbeitet hingegen projektbezogen und unterliegt hauptsächlich nur den Fristen. Im Gegensatz zu einem Remote-Mitarbeiter ist ein Freelancer größtenteils auf sich allein gestellt und hat wenig Interaktion mit dem Team. Daraus ergeben sich potenzielle Risiken bei der Zusammenarbeit mit solchen Auftragnehmern.

Wie wir zur Schaffung der "Abteilung für einfache Aufgaben" kamen und was wir erreicht haben

Nach der Analyse der aktuellen Situation sind wir zu dem Schluss gekommen, dass wir Mitarbeiter mit niedrigerer Qualifikation benötigen. Wir haben uns keine Illusionen darüber gemacht, dass wir aus allen Junioren zukünftige Superstars heranziehen können oder dass die Einstellung von zehn Junioren uns nur ein paar Groschen kosten würde. Die Realität bezüglich Junioren sieht jedoch so aus:

  1. Auf kurze Sicht ist es wirtschaftlich nicht rentabel, sie einzustellen. Statt fünf bis zehn Junioren "sofort" ist es besser, einen Senior einzustellen und ihm Millionen für qualitativ hochwertige Arbeit zu zahlen, als Budgets für Anfänger auszugeben.
  2. Junior-Entwickler haben eine lange Eingewöhnungszeit und Schulungsphase.
  3. Wenn ein Junior etwas gelernt hat und im Grunde beginnen sollte, die Investitionen in sich selbst in den ersten sechs Monaten zurückzugeben, muss er zum Mid-Level befördert werden, oder er wechselt in eine andere Firma auf diese Position. Daher eignet sich die Einstellung von Juniors nur für reife Organisationen, die bereit sind, in sie zu investieren, ohne kurzfristige Gewinnzusagen.

Aber wir haben die Größe erreicht, in der wir ohne Junioren im Team nicht auskommen können: Die Anzahl der einfachen Aufgaben wächst, und es ist einfach ein Verbrechen, dafür die Arbeitsstunden erfahrener Fachkräfte zu verschwenden. Aus diesem Grund haben wir eine Abteilung speziell für Junior-Entwickler gegründet.

Die Tätigkeit in der Abteilung für einfache Aufgaben ist auf drei Monate begrenzt – das heißt, das ist die Standardprobezeit. Nach drei Monaten bezahlter Arbeit wird der Neuling entweder in ein Team geschickt, das ihn als Junior-Entwickler haben möchte, oder wir trennen uns von ihm.

An der Spitze unserer Abteilung steht ein erfahrener PM, der für die Zuweisung von Arbeitsaufgaben an Junior-Entwickler und deren Zusammenarbeit mit anderen Teams verantwortlich ist. Der Junior erhält eine Aufgabe, führt sie aus und erhält Feedback sowohl vom Team als auch von seinem Manager. In der Anfangsphase im Team binden wir Neueinsteiger nicht an bestimmte Teams oder Projekte — sie haben Zugang zu allen Aufgaben entsprechend ihren Fähigkeiten (derzeit suchen wir Front-End-Entwickler mit AngularJS, Backend-Entwickler mit PHP oder Kandidaten für die Position eines Webentwicklers mit beiden Sprachen) und können gleichzeitig an mehreren Projekten arbeiten.

Doch die Einstellung von Junioren ist nicht alles — es müssen auch angemessene Arbeitsbedingungen geschaffen werden, und das ist bereits eine ganz andere Herausforderung.

Zuerst haben wir uns darauf geeinigt, dass es ein freiwilliges Mentoring in angemessenem Umfang geben sollte. Das bedeutet, dass wir niemanden aus den bestehenden Fachleuten zum Mentoring gezwungen haben, und es wurde klar festgelegt, dass die Ausbildung von Neulingen nicht als Ersatz für die Hauptarbeit dienen darf. Es gibt kein "50 % der Zeit arbeiten, 50 % der Zeit Juniors ausbilden". Um eine klare Vorstellung davon zu haben, wie viel Zeit für das Mentoring benötigt wird, wurde ein kleiner "Lehrplan" erstellt: eine Liste von Aufgaben, die jeder Mentor mit seinem Mentee erledigen muss. Dasselbe wurde für die Projektmanager der Juniors gemacht, und am Ende erhielten wir ein sehr reibungsloses und verständliches Szenario für die Ausbildung von Neulingen und deren Integration in die Arbeit.

Wir haben folgende Punkte vorgesehen: Überprüfung des theoretischen Wissens, Vorbereitung eines Materialpakets für den Fall, dass der Junior noch etwas nachlernen muss, und eine einheitliche Vorgehensweise für Code-Reviews durch die Mentoren festgelegt. In jeder Phase erhalten die Führungskräfte Feedback vom neuen Mitarbeiter, was für diesen äußerst wichtig ist. Der junge Mitarbeiter versteht, in welchen Bereichen er stark ist und wo er vorsichtiger sein sollte. Um den Lernprozess für Junioren und erfahrene Entwickler zu vereinfachen, wurde ein gemeinsamer Chat in Slack eingerichtet, sodass andere Teammitglieder an der Schulung teilnehmen und Fragen beantworten können, statt nur der Mentor. All dies macht die Arbeit mit Junioren zu einem recht vorhersehbaren und, was besonders wichtig ist, kontrollierbaren Prozess.

Nach dem Ende der dreimonatigen Probezeit führt der Mentor mit dem Junior ein abschließendes technisches Interview durch, auf dessen Grundlage entschieden wird, ob der Junior in eines der Teams übernommen werden kann oder nicht.

Gesamt

Auf den ersten Blick ähnelt unsere Abteilung für Junioren einem Inkubator oder einer speziell geschaffenen Spielwiese. Faktisch handelt es sich jedoch um eine richtige Abteilung mit allen Attributen eines vollwertigen Kampfteams, das reale, keine Übungsaufgaben löst.

Das Wichtigste ist jedoch, dass wir den Menschen einen konkreten Horizont bieten. Die Abteilung für einfache Aufgaben ist kein endloses Zwischenreich, in dem man für immer steckenbleiben kann. Es gibt einen klaren Zeitraum von drei Monaten, in dem ein Junior einfache Aufgaben in Projekten übernehmen kann, während er sich auch beweisen und in ein Team wechseln kann. Die von uns eingestellten Neulinge wissen, dass sie einen eigenen Projektmanager, einen Mentor aus den Senior-Programmierern (vielleicht sogar mehrere) sowie die Möglichkeit haben, sich vollständig ins Team zu integrieren, wo sie willkommen geheißen werden und erwartet werden.

Seit Jahresbeginn wurden im Bereich einfacher Aufgaben 12 Juniorentwickler eingestellt, von denen nur zwei die Probezeit nicht bestanden haben. Ein anderer Kollege hat sich im Team nicht wohlgefühlt, aber da er in Bezug auf die Arbeit sehr fähig ist, wurde er für eine neue Probezeit in den Bereich einfacher Aufgaben zurückgebracht, während derer er hoffentlich ein neues Team finden wird. Die Zusammenarbeit mit den Junioren hat sich auch positiv auf unsere erfahrenen Entwickler ausgewirkt. Einige von ihnen haben nach einer Mentorenzeit neue Kräfte und den Wunsch entdeckt, sich als Teamleiter zu versuchen, während andere, inspiriert von den Juniors, ihre eigenen Kenntnisse verbessert und von der Mid-Level-Position zur Senior-Position gewechselt sind.

Wir werden unsere Praxis zur Einstellung junger Entwickler weiter ausbauen, da dies unserer Team zahlreiche Vorteile bietet. Junior-Entwickler haben die Möglichkeit, unabhängig von ihrem Wohnort vollwertig remote zu arbeiten: Die Mitglieder unserer Entwicklungsteams wohnen von Riga bis Wladiwostok und kommen hervorragend mit den Zeitunterschieden zurecht, dank der optimierten Prozesse innerhalb des Unternehmens. All dies eröffnet talentierten Menschen, die in abgelegenen Städten und Dörfern leben, neue Chancen. Dabei handelt es sich nicht nur um frischgebackene Schulabgänger und Studenten, sondern auch um Personen, die aus bestimmten Gründen einen Berufswechsel angestrebt haben. Unserem Junior kann genauso gut 18 wie auch 35 Jahre alt sein, denn Junior steht für Erfahrung und Fähigkeiten, jedoch nicht für das Alter.

Wir sind überzeugt, dass unser Ansatz auch auf andere Unternehmen, die das Modell der Remote-Entwicklung nutzen, leicht übertragbar ist. Er ermöglicht gleichzeitig die gezielte Einstellung talentierter Juniors aus ganz Russland oder den GUS-Staaten und fördert dabei die Mentoring-Fähigkeiten erfahrener Entwickler. Finanzielle gesehen ist dieses Modell ä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

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster