Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Ciao a tutti! Mi chiamo Katya Yudina e sono una responsabile del reclutamento IT presso Avito. In questo articolo ti dirò perché non abbiamo paura di assumere junior, come siamo arrivati ​​a questo e quali vantaggi ci portiamo a vicenda. L'articolo sarà utile alle aziende che vogliono assumere giovani, ma hanno ancora paura di farlo, così come alle risorse umane che sono pronte a guidare il processo di ricostituzione del pool di talenti.

Il reclutamento di sviluppatori junior e l'implementazione di programmi di tirocinio non è un argomento nuovo. Ci sono molti avvertimenti, trucchetti e casi già pronti al riguardo. Ogni (o quasi ogni) azienda IT più o meno grande si sforza di attirare specialisti alle prime armi. Adesso è il momento di parlare della nostra pratica.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Dal 2015, il numero dei dipendenti Avito è cresciuto del 20% circa su base annua. Prima o poi abbiamo dovuto affrontare problemi di assunzione. Il mercato non ha tempo per formare quadri intermedi e senior; le imprese ne hanno bisogno “qui e ora” ed è importante per noi rimanere efficaci ed efficienti nel coprire i posti vacanti, in modo che la qualità e la velocità dello sviluppo non ne risentano.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Vitaly Leonov, direttore dello sviluppo B2B: “Non assumiamo junior da sei o sette anni da quando l’azienda è stata fondata nel 2007. Poi cominciarono lentamente a prenderli, ma queste erano piuttosto eccezioni alla regola. Questa si è rivelata un'ottima storia sia per i principianti che per i nostri sviluppatori. Hanno agito come mentori, hanno formato i giovani e i nuovi arrivati ​​sono arrivati ​​in una grande azienda in posizioni iniziali e si sono formati su una serie di compiti sotto la supervisione di colleghi senior. E abbiamo deciso di continuare e sviluppare questa pratica”.

Formazione

Nella nostra selezione non ci limitiamo da tempo a Mosca, cerchiamo candidati in diverse città della Federazione Russa e in altri paesi. (Puoi leggere informazioni sul programma di trasferimento qui). Tuttavia, la delocalizzazione non risolve del tutto il problema della selezione del personale intermedio e senior: non tutti sono pronti (ad alcuni non piace Mosca, altri sono abituati a lavorare da remoto o part-time). Quindi abbiamo deciso di assumere giovani e avviare un programma di tirocinio nel dipartimento tecnico di Avito.

Innanzitutto ci siamo posti alcune semplici domande.

  • C’è davvero bisogno degli junior?
  • Quali problemi possono risolvere?
  • Abbiamo le risorse (sia materiali che tempo dei mentori) per il loro sviluppo?
  • Come sarà il loro sviluppo in azienda tra sei mesi o un anno?

Dopo aver raccolto le informazioni, ci siamo resi conto che esiste una necessità aziendale, abbiamo molti compiti e capiamo esattamente come svilupperemo i junior. Ogni junior e tirocinante che viene ad Avito sa come potrebbe essere la sua carriera in futuro.

Successivamente, abbiamo dovuto convincere i manager che il tempo che dedichiamo alla ricerca di "unicorni" già pronti, possiamo investire in modo molto più efficace nella formazione dei colleghi junior e in sei mesi o un anno avremo ingegneri indipendenti.

Ho la fortuna di lavorare in un team disposto a cambiare e ad affrontare varie questioni in modo più ampio, comprese le questioni relative alle assunzioni. Sì, quando si introducono tali tariffe è necessario essere preparati al fatto che non tutti saranno favorevoli. Un piano chiaramente formulato per lavorare con specialisti alle prime armi, mostrare casi reali quando si assume un junior è un vantaggio ed evidenziare tutti gli aspetti positivi di questo programma aiuterà a convincere i tuoi colleghi.
E, naturalmente, abbiamo promesso ai responsabili tecnici che avremmo reclutato solo i giovani più duri nei quali vediamo potenziale di sviluppo. La nostra selezione è un processo bidirezionale in cui sono coinvolti sia le risorse umane che gli ingegneri.

Запуск

È giunto il momento di definire il ritratto di un junior, decidere per quali compiti lo recluteremo e descrivere come avverrà il suo adattamento. Chi è junior per noi? Questo è un candidato che sarà in grado di mostrare lo sviluppo in un periodo di 6-12 mesi. Questa è una persona che condivide i nostri valori (maggiori informazioni su di essi - qui), che può e vuole imparare.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Vitaly Leonov, direttore dello sviluppo B2B: “Vogliamo vedere chi conosce bene la teoria, idealmente chi si è già cimentato nello sviluppo commerciale. Ma il requisito principale è una buona conoscenza tecnica. E insegneremo loro tutti i processi e le abilità pratiche”.

Il processo di selezione di uno sviluppatore junior non è molto diverso da un colloquio di livello intermedio. Testiamo anche la loro conoscenza di algoritmi, architettura e piattaforma. Nella prima fase i tirocinanti ricevono un compito tecnico (perché il candidato potrebbe non avere ancora nulla da mostrare). Possiamo darti il ​​compito di sviluppare un'API. Osserviamo come una persona affronta la questione, come formatta README.md, ecc. Poi arriva il colloquio con le risorse umane. Dobbiamo capire se questo particolare candidato si sentirà a suo agio nel lavorare in questa squadra e con questo mentore. A volte capita che un candidato non sia adatto allo sviluppo prodotto nella nostra azienda ed ha senso inviarlo al team della piattaforma, o viceversa. Dopo il colloquio con le risorse umane, teniamo un incontro finale con il responsabile tecnico o il mentore. Ti dà l'opportunità di approfondire gli aspetti tecnici e comprendere la tua area di responsabilità. Dopo aver completato con successo le fasi del colloquio, il candidato riceve un'offerta e, se la decisione è positiva, viene presso la nostra azienda.

Адаптация

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Vitaly Leonov, direttore dello sviluppo B2B: “Quando ho appena iniziato a lavorare nella mia prima azienda, avevo davvero bisogno di un mentore, una persona che mi mostrasse i miei errori, suggerisse modi di sviluppo e mi dicesse come farlo meglio e più velocemente. In effetti, ero l'unico sviluppatore e ho imparato dai miei errori. Questo non è stato molto positivo: mi ci è voluto molto tempo per svilupparlo e l'azienda ha impiegato molto tempo per formare un buon sviluppatore. Se ci fosse una persona che lavorasse regolarmente con me, osservasse gli errori e mi aiutasse, suggerisse modelli e approcci, sarebbe molto meglio.”

Ad ogni collega alle prime armi viene assegnato un mentore. Questa è una persona alla quale puoi e dovresti porre domande diverse e dalla quale riceverai sempre una risposta. Quando scegliamo un mentore, prestiamo attenzione a quanto tempo avrà effettivamente a disposizione per il junior/tirocinante e quanto sarà in grado di avviare correttamente e con competenza il processo di apprendimento.

Un collega senior imposta i compiti. Nella fase iniziale, un junior può iniziare analizzando i bug, per poi immergersi gradualmente nello sviluppo delle attività del prodotto. Il mentore monitora la loro implementazione, conduce revisioni del codice o partecipa alla programmazione in coppia. Inoltre, la nostra azienda ha una pratica comune di 1:1, che ci dà l'opportunità di tenere il passo con il polso e risolvere vari problemi il più rapidamente possibile.

Io, come risorse umane, monitoro il processo di adattamento del dipendente e il manager monitora il processo di sviluppo e "immersione" nei compiti. Se necessario, durante il periodo di prova elaboriamo un piano di sviluppo individuale e, una volta completato, identifichiamo le aree di ulteriore sviluppo.

risultati

Quali conclusioni abbiamo tratto dai risultati del programma?

  1. Un junior di solito non può lavorare in modo autonomo e risolvere tutte le attività lavorative in modo indipendente. I mentori dovrebbero dare loro abbastanza tempo per adattarsi rapidamente. Questo deve essere pianificato con i responsabili tecnici e il team.
  2. Devi essere preparato al fatto che gli ingegneri junior commettano errori. E va bene così.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Vitaly Leonov, direttore dello sviluppo B2B: “Tutti commettono errori: junior, intermedi e senior. Ma gli errori vengono rilevati rapidamente o non vengono rilevati affatto: abbiamo un processo di test ben strutturato, tutti i prodotti sono coperti da test automatici ed è prevista una revisione del codice. E, naturalmente, ogni junior ha un mentore che controlla anche tutti gli impegni.

Il programma per la selezione degli specialisti entry-level ci ha dato l'opportunità di risolvere diversi problemi contemporaneamente.

  1. Fai crescere un pool di talenti di dipendenti fedeli che si adatteranno al nostro stack.
  2. Sviluppare capacità di gestione e sviluppo del team tra i nostri dipendenti senior.
  3. Instillare l'amore per le tecnologie moderne e lo sviluppo di alta qualità nei giovani specialisti.

Ed è stata una vittoria per tutti. Ecco le recensioni dei miei colleghi che sono venuti ad Avito come junior e tirocinanti.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Davide Zgiatti, sviluppatore backend junior: “All’inizio non capivo affatto cosa stesse succedendo, ho ricevuto tantissime informazioni utili, ma il mio mentore e il mio team mi hanno supportato moltissimo. Per questo motivo, dopo due settimane ho già iniziato a lavorare con il backlog e dopo tre mesi mi sono unito gradualmente allo sviluppo del prodotto. Durante lo stage di sei mesi ho acquisito un'enorme quantità di esperienza e ho sempre cercato di fare ogni sforzo per imparare tutto dal programma e rimanere nel team in modo permanente. Sono arrivato ad Avito come stagista, ora sono già junior.”

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Alexander Sivtsov, sviluppatore front-end: “Lavoro in Avito da poco più di un anno. Sono arrivato da junior, ora sono già cresciuto fino alla metà. È stato un periodo molto interessante e ricco di eventi. Se parliamo delle attività eseguite, posso dire che non ci ho messo molto a correggere i bug (come tutti quelli arrivati ​​di recente) e ho ricevuto il primo incarico di sviluppo del prodotto a tutti gli effetti nel primo mese di lavoro .
Nel mese di giugno ho preso parte ad un importante lancio di rinnovo tariffario. Inoltre i ragazzi del team accolgono, sostengono e sviluppano le diverse iniziative che ho portato.
I ragazzi del team cercano di aiutare non solo a sviluppare le hard skills, ma anche a migliorare le soft skills. Gli incontri regolari con il manager aiutano molto in questo (non avevo mai avuto un'esperienza del genere prima e potevo solo indovinare dove stavo cedendo o a cosa valeva la pena prestare attenzione ora).
È molto comodo lavorare qui, ci sono molte diverse opportunità di sviluppo sia all'interno dell'azienda, frequentando tutti i tipi di corsi di formazione, sia all'esterno: dai viaggi alle conferenze a tutti i tipi di chicche nelle aziende partner. I compiti sono per lo più interessanti piuttosto che di routine. Posso dire che in Avito ai ragazzi vengono affidati compiti complessi e interessanti”.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Dima Afanasyev, sviluppatore backend: “Sapevo di voler entrare in una grande azienda, e con Avito è stato amore a prima vista: ho letto quasi tutto il blog su Habré, guardato reportage, scelto avito-tech github. Mi è piaciuto tutto: l'atmosfera, la tecnologia (== stack), l'approccio al problem solving, la cultura aziendale, l'ufficio. Sapevo che volevo entrare in Avito e ho deciso che non avrei provato nient'altro finché non avessi saputo con certezza se avrebbe funzionato.
Mi aspettavo che i compiti fossero difficili. Se crei un sito Web per tre persone, può funzionare per un'ora al giorno e gli utenti saranno felici. Con 30 milioni di persone, la semplice necessità di archiviare dati diventa un problema enorme ed entusiasmante. Le mie aspettative sono state soddisfatte; non riesco a immaginare una situazione in cui imparerei più velocemente.
Ora sono già stato promosso a livello centrale. In generale, sono diventato più fiducioso e convalido meno le mie decisioni, questo aiuta a fare le cose più velocemente. Dopotutto, in qualsiasi team, la velocità di consegna è molto importante e spesso riferisco a posteriori su tutte le decisioni prese nella mia area di responsabilità (attualmente ci sono due servizi). Ci sono state meno discussioni, ma in generale la complessità di ciò che veniva discusso è aumentata e i problemi sono diventati meno evidenti. Ma quello che voglio dire è anche questo: le buone soluzioni possono essere promosse a qualsiasi livello, indipendentemente dalla posizione”.

Sviluppatori junior: perché li assumiamo e come lavoriamo con loro

Sergey Baranov, sviluppatore front-end: “È successo che sono arrivato junior ad Avito da una posizione più alta, ma da una piccola azienda. Ho sempre cercato prima di assorbire più informazioni e poi di iniziare a fare qualcosa. Qui abbiamo dovuto iniziare a svolgere piccoli compiti, solo per capire quali prodotti esistono e come interagiscono tra loro. Ci sono voluti circa sei mesi per comprendere appieno tutto ciò che la mia unità stava facendo, ma a quel punto stavo già svolgendo compiti di media entità da solo senza alcun aiuto. Separatamente, vorrei sottolineare che, indipendentemente dalla tua posizione, sei un membro a pieno titolo del team, con piena responsabilità e fiducia in te come professionista. Tutte le interazioni avvengono su base assolutamente paritaria. Avevo anche sviluppato un piano di sviluppo insieme al mio manager e sapevo perfettamente cosa dovevo fare per lo sviluppo e la promozione. Ora sono già uno sviluppatore intermedio e sono responsabile dell'intero frontend nel mio team. Gli obiettivi sono diventati diversi, le responsabilità sono aumentate, così come le opportunità di ulteriore crescita”.

Quasi un anno dopo, vediamo i vantaggi che i ragazzi apportano al business e a team specifici. Durante questo periodo, diversi junior sono diventati intermedi. E alcuni stagisti hanno mostrato risultati eccellenti e si sono uniti ai ranghi dei junior: scrivono codice e risolvono problemi tecnici complessi, i loro occhi brillano e noi forniamo loro sviluppo professionale, un'atmosfera eccellente all'interno e li supportiamo in ogni modo possibile nei loro sforzi.

Fonte: habr.com

Aggiungi un commento