Di quali soft skills ha bisogno uno sviluppatore? Opinioni da Yandex

Le grandi Olimpiadi studentesche inizieranno presto "Sono professionale". Funziona online e offline ormai da diversi anni. Possono partecipare studenti provenienti da una varietà di specialità, comprese quelle tecniche. Le Olimpiadi sono organizzate da 26 università leader: Scuola superiore di economia dell'Università nazionale di ricerca, Università statale di Mosca, Università tecnica statale di Mosca, Istituto di fisica e tecnologia di Mosca, MEPhI, Università statale di San Pietroburgo, Università ITMO e altri.

Yandex è il partner tecnico del progetto. Per noi “I’m a Professional” è diventata una buona occasione per parlare per il secondo anno consecutivo dell’importanza delle soft skills (soft skills) nel lavoro degli sviluppatori e di altri specialisti. Un anno fa, la nostra sede di Mosca ha ospitato un incontro per i partecipanti alle Olimpiadi dedicato alle soft skills. Di loro ha parlato anche il capo dell'ufficio sviluppo Yandex di Novosibirsk, Sergei Brazhnik, intervenendo ad un corso di formazione inserito nel programma “I am a Professional”. Oggi Sergey e altri due manager di Yandex: Anna Fedosova e Oleg Mokhov Olegbl4 - parleranno ad Habr delle competenze trasversali: cosa sono, di quali ha bisogno uno sviluppatore, dove trovarle e in che modo la loro presenza influisce sulla crescita dell'azienda.

Sergey Brazhnik, capo dell'ufficio per lo sviluppo a Novosibirsk, direttore per lo sviluppo dei progetti educativi regionali

Di quali soft skills ha bisogno uno sviluppatore? Opinioni da Yandex

— Per uno sviluppatore sono importanti le “4K”: pensiero critico, creatività, cooperazione e comunicazione. È generalmente accettato che la comunicazione in questa professione non sia una competenza importante, ma se ci pensi è necessaria per la crescita professionale: devi essere in grado di porre domande, ascoltare e sentire il tuo interlocutore, spiegare il tuo punto di vista e accettare quello di qualcun altro, parlare e negoziare. Lo stagista potrebbe non essere in grado di lavorare in gruppo o di pensare in modo critico - e questo è normale, perché non ha ancora un tale background.

Se uno specialista già maturo viene da noi per un colloquio, valutiamo tutte queste competenze durante la conversazione. Guardiamo come una persona parla di se stessa. Lungo il percorso, poniamo domande importanti e chiariamo molto. Testiamo il pensiero critico utilizzando i problemi. Da un lato per noi è importante che li risolva, dall'altro guardiamo come li risolve esattamente.

Per uno sviluppatore che lavora già per un'azienda, ci sono due modi per determinare quali competenze gli mancano. Il primo è chiedere feedback al tuo manager. Se non ti dicono niente non vuol dire che va tutto bene. Se ne dubiti, chiedi di nuovo. Nel mezzo delle attività attuali e degli obiettivi aziendali, i manager potrebbero dimenticare la direzione del software: è importante ricordarglielo. Il secondo modo è provare a valutarti rispetto agli altri colleghi del team, ad esempio durante i brainstorming, quando tutti lanciano idee e poi le discutono e le criticano.

Diciamo che capisci quali competenze ti mancano. Questo è il primo e più importante passo: rendersi conto che sì, in effetti, qui c'è qualcosa che non va in me. Successivamente, trova idealmente un mentore, almeno un amico che ha sviluppato queste abilità. Puoi semplicemente guardare un amico. E se trovi un mentore, sarà in grado di darti consigli e monitorare la tua crescita. Un mentore può essere un tuo collega (è subito chiaro il motivo per cui ha bisogno di supervisione: stai lavorando per lo stesso obiettivo) o talvolta anche un esperto esterno (ma di solito è qualcuno che conosci, altrimenti la sua motivazione non è chiara). Anche libri, conferenze, corsi di formazione sono un'opzione, ma in questo modo acquisirai solo conoscenza. Affinché la conoscenza si trasformi in abilità, è necessaria una pratica regolare.

Le capacità comunicative vengono notevolmente migliorate durante gli stand-up: brevi riunioni di pianificazione quotidiane, in cui ogni membro del team racconta a cosa sta lavorando attualmente. Anche qualsiasi discorso in pubblico aiuta. E prova a comunicare di più con i colleghi e condividere esperienze all'interno del team.

Se devi scegliere un team leader tra un project manager tecnico e uno sviluppatore, non esiste una risposta chiara su quale sia il migliore. In Yandex, anche un progetto, di regola, può scrivere codice. Pertanto, confronterei innanzitutto il manager e lo sviluppatore in base a diversi parametri: come sanno impostare le attività e controllarne l'esecuzione, come guidano il team e in generale che tipo di rapporto hanno con il team. Succede che una persona imposta bene i compiti e monitora le scadenze, ma allo stesso tempo va peggio con la squadra. Tutto dipende anche da chi prende la decisione. Qualcuno che era uno sviluppatore piuttosto che un manager è più propenso a scegliere un altro sviluppatore come manager.

Con solo competenze difficili puoi diventare un team leader: ci sono stati casi. Ma i manager che promuovono una persona del genere alla leadership del team devono essere presi a schiaffi. Perché lui, imparando strada facendo, sbaglierà così tanto che la squadra sarà demotivata. Poi tutto dipende da quanto sono forti i ragazzi. Oppure aspetteranno finché la persona non crescerà e si renderà conto di cosa sta succedendo. Oppure non aspetteranno e inizieranno a scappare.

Se continui a trasformare uno sviluppatore hardcore in manager, devi prima prepararlo a fondo e poi assicurarti di guidarlo per i primi tre-sei mesi.

Anna Fedosova, capo del dipartimento di formazione e sviluppo

Di quali soft skills ha bisogno uno sviluppatore? Opinioni da Yandex

— È difficile stilare un elenco completo delle competenze. Pertanto, il modello di competenze di Lominger include 67 posizioni. All'interno di Yandex, dividiamo le competenze in universali e quelle di cui i manager hanno bisogno.

Competenze universali associati all’efficacia personale e all’interazione con gli altri. L’efficacia personale è associata, ad esempio, alla capacità di gestire se stessi, il proprio tempo, i processi lavorativi, l’orientamento al risultato, il pensiero critico e la capacità di apprendere. Ciò che distingue l’economia moderna da quella di trent’anni fa è che difficilmente si farà la stessa cosa per tutta la vita. Molto probabilmente, qualcosa cambierà e devi essere preparato.

Un altro gruppo di abilità universali è legato alla comunicazione con altre persone. Non viviamo più nell’epoca della produzione in catena di montaggio. Qualunque cosa tu faccia, molto probabilmente dovrai negoziarla e discuterne con altre persone. Il processo di comunicazione in questo caso diventa molto importante. Nelle aziende IT, dove l'orizzonte di pianificazione è molto breve a causa del costante sviluppo della tecnologia, anche gli specialisti tecnici devono prendere molte decisioni collettive che nascono nel processo di discussione. E i dipendenti non possono permettere che le trattative arrivino a un vicolo cieco, altrimenti il ​​lavoro semplicemente si fermerà.

C'è un grande strato separato competenze per i manager. Questi includono la capacità di impostare e valutare compiti, motivare gli altri e sviluppare te stesso, essere un leader, costruire la tua squadra e interagire con altri team.

In Yandex, i programmi di formazione sulle competenze trasversali sono progettati in modo che i dipendenti possano lavorare in varie situazioni in un ambiente sicuro. Potrebbero trattarsi di situazioni che non hanno mai incontrato prima o di casi specifici della loro esperienza in cui vorrebbero ottenere un risultato migliore. C’è molto che può essere risolto, dall’assunzione di nuove persone e la definizione di obiettivi, ai conflitti di interessi e ai problemi di motivazione. Di norma, le situazioni di incomprensione tra un dipendente e un manager sono difficili per entrambe le parti, ma puoi imparare ad affrontarle.

Possono essere utilizzati diversi metodi di insegnamento. Quindi è abbastanza difficile imparare il lavoro di squadra. A scuola ci viene insegnato a lavorare individualmente, i voti vengono assegnati per il successo accademico personale. Ma è in una squadra che le persone imparano ad assumersi la responsabilità, a distribuire i ruoli tra loro e a concordare obiettivi e risultati comuni. E spesso si scopre che devi impararlo da adulto al lavoro. Ora alcune scuole praticano l’apprendimento basato su progetti e il completamento congiunto dei compiti. Questo dovrebbe aiutare ad imparare il lavoro di squadra fin dall'infanzia.

Come insegnare agli adulti ad apprendere e acquisire conoscenze in modo indipendente? A volte l'esperienza nell'istruzione superiore aiuta. I master e i corsi post-laurea insegnano agli studenti a capire cosa è importante e cosa non lo è e dove cercare le conoscenze pertinenti. Ma spesso devi padroneggiarlo già nel processo di lavoro. Non sorprende che uno dei corsi più popolari su Coursera si chiami Imparare come imparare.

Non c'è niente di più utile per imparare che conoscersi meglio: guardarsi dall'esterno con l'aiuto dei feedback ricevuti dai colleghi, pensare ancora una volta a cosa funziona bene e cosa no, trovare le persone a cui si vorrebbe assomigliare, e confrontarti con loro.

Va ricordato che la motivazione è al centro di tutto. Se capisci di non essere socievole, ma devi cambiarlo, ad esempio, questo è importante per la squadra, allora appariranno sia la motivazione che la necessità di cambiare. Se non hai bisogno di comunicare con nessuno per lavoro, allora perché scavalcarti?

Oleg Mokhov, responsabile dello sviluppo dei progetti HR e del servizio Yandex.Contest, che ospita la parte online delle Olimpiadi

Di quali soft skills ha bisogno uno sviluppatore? Opinioni da Yandex

— Gli sviluppatori senza ambizioni di leadership del team non hanno realmente bisogno di competenze trasversali. È importante essere in grado di porre domande, ascoltare e trasmettere i propri pensieri. Per migliorare queste capacità, puoi tenere una relazione a una conferenza o leggere lezioni in un'università. Tutti abbiamo studiato prima o poi, il che significa che possiamo insegnare a qualcuno noi stessi. Gli studenti sono pazzi e fanno le domande più nascoste. La capacità di rispondere rapidamente e di tenere a freno la lingua ti aiuta a mantenere la calma nelle discussioni accese.

I libri non aiutano con le soft skills. I corsi di formazione aiutano solo se li frequenti regolarmente. Ma è molto utile venire alla conferenza e prendere una posizione attiva. Basta fare domande al relatore.

Durante i colloqui, a volte metto in dubbio anche la risposta corretta del candidato: guardo come pensa. Ma questo funziona solo se una persona ha fiducia in se stessa. In generale, è meglio analizzare le soft skills durante i colloqui finali. Ad esempio, ti chiedo di raccontarci il compito più interessante che il candidato ha svolto. In questo modo puoi scoprire cosa è più interessante per una persona: codificare, ricercare, ottenere risultati o comunicare.

Molte persone che hanno sviluppato competenze trasversali diventano manager di alto rango la cui intera giornata è composta da riunioni. Come mantenere le tue capacità di programmazione? Dici a te stesso: sto programmando da due ore. Disattiva tutte le notifiche, il tuo telefono, è l'unico modo. Conosco leader che lo fanno. Ebbene, anche le interviste e le sezioni tecniche aiutano a sviluppare il cervello. In Yandex, hai appena smesso di essere un junior e sarai già invitato a un colloquio. È come una tassa sul fatto che lavori per una grande azienda.

Se devi scegliere un team leader tra un manager e uno sviluppatore, tutto dipende dalle future responsabilità del leader. Una cosa è se il manager una volta era lui stesso uno sviluppatore. Allora avrà più possibilità. È diverso se si tratta di una station wagon a progetto. Interagisce con i team di backend e frontend, designer e analisti. Ma non sa come funziona una particolare libreria nel frontend, non ha familiarità con la programmazione asincrona nel backend e non capisce perché sia ​​difficile. La crescita degli sviluppatori implica andare più in profondità. E l'essenza della gestione è raccogliere lo strato superficiale, comprendere il problema e impostare connessioni e processi. Pertanto, credo che un manager molto probabilmente non sarà in grado di migliorare le capacità di sviluppo delle persone.

La squadra può sviluppare ostilità verso un estraneo. Quindi sceglierei un leader tra gli stessi sviluppatori, e forse non sceglierei il più forte di loro. Supponiamo che una persona abbia lavorato per cinque anni, ora è uno sviluppatore senior, ma durante questi cinque anni è cresciuto solo l'hardware rigido e il software non è cresciuto. Quindi non posso aspettarmi che salgano alle stelle se gli do un posto. Ma quando uno sviluppatore lavora da un anno, ma vedo che ha una buona lingua, comunica, può mettere in contatto più persone, risolvere conflitti tra loro - questo per me è un team leader, anche se non è uno sviluppatore senior .

Non credo in una storia in cui una persona diventa un leader basandosi solo sulle hard skills. Un team leader senza software molto probabilmente non svolge la sua funzione da qualche parte. Quando potrebbe funzionare? Quando i subordinati sono autosufficienti. Ho uno slogan per i nuovi manager: i gatti sono facili da gestire. I leader del team si arrabbiano quando devono affrontare casi difficili: un dipendente vuole licenziarsi, un altro è depresso e inizia a lavorare meno, il terzo ha un conflitto. Per questo dico al loro caposquadra: rallegrati, questa è la prima volta che devi lavorare come leader. Perché i gatti - miagolano, sono gentili, allegri - sono molto facili da controllare.

Fonte: habr.com

Aggiungi un commento