Vi opretter en afdeling af juniorer til hjælp for de primære teams, kun ved hjælp af Slack, Jira og blå tape.

Vi opretter en afdeling af juniorer til hjælp for de primære teams, kun ved hjælp af Slack, Jira og blå tape.

Næsten hele udviklingsteamet hos Skyeng, som består af mere end 100 personer, arbejder eksternt, og kravene til specialister har altid været høje: vi har søgt seniorer, fullstack-udviklere og mid-level udviklere. Men i begyndelsen af 2019 ansatte vi for første gang tre juniorer. Dette blev gjort af flere grunde: ansættelse af kun super-specialister løser ikke alle problemer, og for at skabe en sund atmosfære i udviklingen er der behov for folk på forskellige niveauer af professionalisme.

Når man arbejder eksternt, er det yderst vigtigt, at en person kommer ind på projektet og straks begynder at bidrage, uden lange trænings- og opstartsprocesser. Dette fungerer ikke med juniorer, plus at der udover træning også kræves en korrekt integration af nykommeren i teamet, da alt er nyt for dem. Og det er allerede en separat opgave for teamlederen. Derfor var vi koncentreret om at finde og ansætte mere erfarne og etablerede udviklere. Men med tiden viste det sig, at teams bestående kun af seniorer og fullstack-udviklere har deres egne problemer. For eksempel, hvem vil tage sig af de rutinemæssige, men nødvendige opgaver, der ikke kræver super-kvalifikationer eller særlig viden?

Tidligere, i stedet for at ansætte juniorer, beskæftigede vi os med freelancere.

Indtil opgaverne var få, tog vores seniorer halvdårligt de kedelige opgaver, fordi udviklingen skal fremad. Men det kunne ikke fortsætte sådan i længden: projekterne voksede, og antallet af rutinemæssige, simple opgaver steg. Situationen begyndte mere og mere at minde om en vits, hvor søm bankes med et mikroskop i stedet for en hammer. For at illustrere kan vi se på aritmetikken: hvis du tiltrækker en person, hvis rate er omkring $50/time til opgaver, som en medarbejder med en rate på $10/time kan klare, så har du problemer.

Det vigtigste, vi har lært af denne situation, er, at den nuværende ansættelsesparadigme, som kun fokuserer på at finde top-specialister, ikke løser vores problemer med rutineopgaver. Vi har brug for nogen, der er villig til at udføre det arbejde, som erfarne seniorer ser som en straf, og som det simpelthen er ineffektivt at tildele dem. For eksempel at skrive bots til Slack-chatter for vores undervisere og kursusforfattere eller håndtere mindre forbedringsprojekter til interne behov, som udviklerne konstant mangler tid til, men som ville gøre livet meget mere behageligt.

I dette øjeblik blev der udviklet en midlertidig løsning. Vi begyndte at inddrage freelancere i arbejdet med vores projekter. Det var netop sådanne outsourcingsopgaver, der blev sendt til freelancere: at rette op på et eller andet, at kontrollere noget, at omskrive noget. Vores freelanceteam voksede ret aktivt. En af vores projektledere indsamlede opgaver fra forskellige projekter og fordelte dem til freelancere, baseret på den eksisterende database af udførere. Dengang syntes det at være en god løsning: vi lettede belastningen på seniorerne, så de kunne igen være kreative og arbejde på fuld kapacitet i stedet for at rode med nogle elementære opgaver. Selvfølgelig fandtes der opgaver, som på grund af forretningshemmeligheder ikke kunne overdrages til eksterne udførere, men sådanne sager var, i forhold til det store antal opgaver, der gik til freelancere, meget færre.

Men det kunne ikke fortsætte for evigt. Virksomheden stod over for, at freelanceafdelingen var blevet til et klodset monster. Antallet af rutineopgaver voksede sammen med projekterne, og på et tidspunkt blev der for mange til effektiv distribution blandt eksterne udførere. Desuden er freelanceren ikke dybt involveret i projektets specifik, hvilket konstant kræver tid til onboarding. Det er indlysende, at når dit team har 100+ professionelle udviklere, kan du ikke ansætte engang halvtreds freelancere til at hjælpe dem og effektivt styre deres aktiviteter. Desuden er samarbejde med freelancere altid forbundet med visse risici for forsinkelser og andre organisatoriske problemer.

Det er vigtigt at understrege, at en fjernarbejder og en freelancer er to forskellige enheder. En fjernarbejder er fuldt ud ansat i virksomheden, har en defineret arbejdstid, et team, ledelse osv. En freelancer arbejder projektbaseret, hvilket primært reguleres af deadlines. Freelancer, i modsætning til en fjernarbejder, er stort set selvforsynende og interagerer sjældent med teamet. Derfor er der potentielle risici ved at arbejde med sådanne aktører.

Hvordan vi kom til at skabe 'afdelingen for enkle opgaver', og hvad vi har opnået

Efter at have analyseret den eksisterende situation konkluderede vi, at vi havde brug for medarbejdere med lavere kvalifikationer. Vi havde ikke illusioner om, at vi ville udvikle kommende superstars ud af alle juniorer, eller at ansættelse af et dusin juniorer ville koste os en formue. Generelt er virkeligheden med juniorer sådan:

  1. På den korte bane er det økonomisk ufordelagtigt at ansætte dem. I stedet for fem til ti juniorer 'lige nu', er det bedre at ansætte en senior og betale ham millioner for kvalitetsarbejde, end at bruge budgetter på begyndere.
  2. Juniorer har en lang indlæringstid i projektet.
  3. I det øjeblik, en junior lærer noget og tilsyneladende skal begynde at 'afsætte' investeringen i sig selv efter de første seks måneder af arbejdet, skal han opgraderes til mid-level, ellers forlader han til en stilling i en anden virksomhed. Så ansættelse af juniorer passer kun til etablerede organisationer, der er villige til at investere i dem uden garantier for kortsigtet profit.

Men vi er nået til et punkt, hvor vi ikke kan undvære juniorer i teamet: antallet af daglige opgaver vokser, og det er simpelthen en forbrydelse at bruge veteranprofessionelles arbejdstid på dem. Derfor har vi skabt en afdeling specifikt for juniorudviklere.

Arbejdsperioden i afdelingen for enkle opgaver er begrænset til tre måneder – det vil sige, det er den standard prøvetid. Efter tre måneders fuldt betalt arbejde enten bliver nybegynderen sendt til det team, der ønsker at have ham som juniorudvikler, eller vi afslutter samarbejdet med ham.

I spidsen for den afdeling, vi har oprettet, står en erfaren PM, der har ansvaret for fordelingen af arbejdsopgaver til juniorer og deres interaktion med andre teams. Junioren får en opgave, udfører den, og modtager feedback fra både teamet og sin leder. I vores afdeling for enkle opgaver knytter vi ikke nyansatte til specifikke teams og projekter — de har adgang til hele puljen af opgaver i forhold til deres færdigheder (aktuelt ansætter vi frontend-udviklere med AngularJS, backend-udviklere med PHP eller leder efter kandidater til stillingen som webudvikler med begge sprog) og kan arbejde på flere projekter samtidigt.

Men rekrutteringen af juniorer stopper ikke der — der skal også skabes acceptable arbejdsvilkår, hvilket er en helt anden opgave.

Det første, vi har besluttet, er frivillig mentoring i rimelige omfang. Det vil sige, at vi ikke tvinger nogen eksisterende specialister til at være mentorer, og det er klart angivet, at træning af en ny medarbejder ikke skal erstatte deres primære arbejde. Ingen «50% af tiden arbejder vi, 50% lærer junioren». For at have en klar idé om, hvor meget tid der vil gå til mentoring, blev der udarbejdet en lille «uddannelsesplan»: en liste over opgaver, som hver mentor skulle udføre med deres mentee. Det samme blev gjort for project managerne for juniorerne, og i sidste ende fik vi et meget glat og forståeligt scenarie for forberedelse af nyansatte og deres integration i arbejdet.

Vi har overvejet følgende punkter: kontrol af teoretisk viden, forberedt et sæt materialer, hvis junioren har brug for at lære noget, og godkendt en ensartet procedure for kodereview for mentorer. På hvert trin giver lederne feedback til nykommeren, hvilket er ekstremt vigtigt for dem. Den unge medarbejder forstår, hvilke aspekter han/hun er stærk i, og hvor der skal være mere opmærksomhed. For at forenkle træningsprocessen for juniorer og erfarne udviklere er der oprettet en fælles chat i Slack, så andre medlemmer af teamet også kan deltage i undervisningen og besvare spørgsmål i stedet for mentorerne. Alt dette gør arbejdet med juniorerne til en ret forudsigelig og, hvad der er vigtigt, kontrollerbar proces.

Efter afslutningen af den tre måneder lange prøvetid afholder mentoren et slut teknisk interview med junioren, hvorefter der besluttes, om junioren kan overgå til en permanent stilling i et af teamene.

I alt

Ved første øjekast ligner vores afdeling for juniors et inkubator eller en slags specielt designet sandkasse. Men i virkeligheden er det en virkelig afdeling med alle egenskaberne af et fuldt fungerende kampteam, der løser reelle opgaver i stedet for kun træningsopgaver.

Men det vigtigste er, at vi giver folk en konkret horisont. Afdelingen for enkle opgaver er ikke et uendeligt limbo, hvor man kan sidde fast for altid. Der er en klar periode på tre måneder, hvor junioren løser enkle opgaver i projekter, men også kan vise sig frem og overgå til et af teamene. De nyansatte, vi ansætter, ved, at de får en projektleder, en mentor fra seniorerne (eller måske flere) og muligheden for fuldt at integrere sig i et team, hvor de vil blive budt velkommen og ventet på.

Siden begyndelsen af året er der blevet ansat 12 juniors i afdelingen for enkle opgaver, og kun to er ikke bestået prøvetiden. En anden fyr kunne ikke tilpasse sig gruppen, men eftersom han i arbejdet er meget dygtig — blev han sendt tilbage til afdelingen for enkle opgaver for en ny prøveperiode, hvor vi håber, han finder sit nye team. Arbejdet med juniorer har også haft en positiv indvirkning på vores erfarne udviklere. Nogle af dem, efter mentorperioden, har opdaget nye kræfter og lyst til at prøve sig som teamledere, mens andre, ved at se på juniorerne, har opdateret deres egen viden og overgået fra mid-level til senior.

Vi vil kun udvide vores praksis med ansættelse af unge udviklere, da det giver mange fordele for teamet. Juniorer får mulighed for fuldtids fjernarbejde uafhængigt af deres opholdsregion: vores udviklingsteams lever fra Riga til Vladivostok og klarer tidsforskellene glimrende takket være veludviklede processer i virksomheden. Alt dette åbner døre for talentfulde personer, der bor i små byer og landsbyer. Og vi taler ikke kun om nyuddannede skoleelever og studerende, men også om personer, der af forskellige grunde har besluttet at skifte karriere. Vores junior kan være lige så succesfuld i en alder af 18 som i 35, for en junior handler om erfaring og færdigheder, ikke om alder.

Vi er overbeviste om, at vores tilgang kan anvendes af andre virksomheder, der benytter en model for fjernudvikling. Den giver mulighed for strategisk at ansætte talentfulde juniorer fra enhver del af Rusland eller CIS, samtidig med at erfarne udviklere kan udvikle deres mentorskabskompetencer. Økonomisk set er denne løsning også meget overkommelig, så alle gevinster: virksomheden, vores udviklere, og selvfølgelig juniorerne, der ikke behøver at flytte til større byer eller hovedstæder for at blive en del af et erfarent team og arbejde på interessante projekter.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster