Jakich umiejętności miękkich potrzebuje programista? Opinie Yandex

Już niedługo rozpocznie się wielka olimpiada uczniów „Jestem profesjonalistą”. Od kilku lat działa online i offline. W zajęciach mogą brać udział studenci różnych specjalności, w tym technicznych. Organizatorami Olimpiady jest 26 wiodących uniwersytetów: Państwowy Uniwersytet Badawczy Wyższa Szkoła Ekonomii, Moskiewski Uniwersytet Państwowy, Moskiewski Państwowy Uniwersytet Techniczny, Moskiewski Instytut Fizyki i Technologii, MEPhI, Uniwersytet Państwowy w Petersburgu, Uniwersytet ITMO i inne.

Yandex jest partnerem technicznym projektu. Dla nas „Jestem profesjonalistą” już drugi rok z rzędu stało się dobrą okazją do rozmowy o znaczeniu kompetencji miękkich (miękkich) w pracy programistów i innych specjalistów. Rok temu w naszym moskiewskim biurze odbyło się spotkanie dla uczestników Olimpiady poświęcone umiejętnościom miękkim. Mówił o nich także szef biura rozwojowego Yandex w Nowosybirsku Siergiej Brażnik, wypowiadając się na szkoleniu w ramach programu „Jestem profesjonalistą”. Dziś Siergiej i dwóch innych menedżerów w Yandex - Anna Fedosova i Oleg Mokhov Olegbl4 — opowiedzą Habrowi o kompetencjach miękkich: czym są, jakich potrzebuje programista, gdzie je zdobyć i jak ich obecność wpływa na rozwój firmy.

Sergey Brazhnik, szef biura rozwoju w Nowosybirsku, dyrektor ds. rozwoju regionalnych projektów edukacyjnych

Jakich umiejętności miękkich potrzebuje programista? Opinie Yandex

— Dla programisty ważne są „4K”: krytyczne myślenie, kreatywność, współpraca i komunikacja. Powszechnie przyjmuje się, że komunikacja w tym zawodzie nie jest ważną umiejętnością, ale jeśli się nad tym zastanowić, jest ona niezbędna do rozwoju zawodowego: trzeba umieć zadawać pytania, słuchać i słyszeć rozmówcę, wyjaśniać swój punkt widzenia i zaakceptować czyjeś, rozmawiać i negocjować. Stażysta może nie umieć pracować w zespole ani krytycznie myśleć – i jest to normalne, bo nie ma jeszcze takiego przygotowania.

Jeżeli na rozmowę przychodzi do nas dojrzały już specjalista, wówczas podczas rozmowy oceniamy wszystkie te umiejętności. Patrzymy, jak dana osoba mówi o sobie. Po drodze zadajemy naprowadzające pytania i wiele wyjaśniamy. Testujemy krytyczne myślenie za pomocą problemów. Z jednej strony jest dla nas ważne, żeby je rozwiązał, z drugiej strony patrzymy, jak dokładnie je rozwiązuje.

Dla programisty, który już pracuje w firmie, są dwa sposoby na określenie, jakich umiejętności mu brakuje. Pierwszym z nich jest poproszenie przełożonego o informację zwrotną. Jeśli nic Ci nie mówią, nie oznacza to, że wszystko jest w porządku. Jeśli w to wątpisz, zapytaj ponownie. W pośpiechu bieżących zadań i celów biznesowych menedżerowie mogą zapomnieć o kierunku oprogramowania – warto im o tym przypominać. Drugi sposób to próba oceny siebie na tle innych kolegów w zespole, na przykład podczas burzy mózgów, kiedy wszyscy rzucają pomysłami, a następnie je dyskutują i krytykują.

Załóżmy, że rozumiesz, jakich umiejętności Ci brakuje. To pierwszy i najważniejszy krok – uświadomienie sobie, że tak, rzeczywiście, coś tu jest ze mną nie tak. Następnie najlepiej znajdź mentora – przynajmniej przyjaciela, który rozwinął te umiejętności. Możesz po prostu obserwować przyjaciela. A jeśli znajdziesz mentora, będzie on mógł udzielać porad i monitorować Twój rozwój. Mentorem może być Twój współpracownik (od razu wiadomo, dlaczego potrzebuje nadzoru – pracujesz nad tym samym celem), a czasami nawet ekspert zewnętrzny (ale zazwyczaj jest to ktoś, kogo znasz, w przeciwnym razie jego motywacja nie jest jasna). Książki, wykłady, szkolenia też są opcją, ale w ten sposób zdobędziesz tylko wiedzę. Aby wiedza przekształciła się w umiejętność, konieczna jest regularna praktyka.

Umiejętności komunikacyjne znacznie się poprawiają podczas stand-upów – codziennych krótkich spotkań planistycznych, podczas których każdy członek zespołu opowiada, nad czym aktualnie pracuje. Każde wystąpienie publiczne też pomaga. Staraj się częściej komunikować ze współpracownikami i dzielić się doświadczeniami w zespole.

Jeśli trzeba wybrać lidera zespołu pomiędzy technicznym kierownikiem projektu a programistą, nie ma jednoznacznej odpowiedzi, który z nich jest lepszy. W Yandex nawet projekt z reguły może pisać kod. Dlatego najpierw porównałbym menedżera i programistę pod kątem kilku parametrów: tego, jak wiedzą, jak wyznaczać zadania i kontrolować ich wykonanie, jak napędzają zespół i ogólnie, jakie relacje mają z zespołem. Zdarza się, że ktoś dobrze wyznacza zadania i dotrzymuje terminów, ale jednocześnie gorzej dogaduje się z zespołem. Wszystko zależy też od tego, kto podejmuje decyzję. Osoba, która sama była programistą, a nie menadżerem, chętniej wybierze na stanowisko menadżera innego programistę.

Mając tylko twarde umiejętności, możesz zostać liderem zespołu - zdarzały się przypadki. Ale menadżerów, którzy awansują taką osobę na stanowisko lidera zespołu, trzeba poklepać po ramieniu. Bo on, ucząc się na bieżąco, narobi tyle bałaganu, że zespół straci motywację. Wszystko zależy od tego, jak silni są chłopaki. Albo poczekają, aż dana osoba dorośnie i zorientuje się, co się dzieje. Albo nie zaczekają i nie zaczną uciekać.

Jeśli nadal chcesz uczynić z hardkorowego programisty menedżera, najpierw musisz go dokładnie przygotować, a następnie zapewnić mu mentoring przez pierwsze trzy do sześciu miesięcy.

Anna Fedosova, kierownik działu szkoleń i rozwoju

Jakich umiejętności miękkich potrzebuje programista? Opinie Yandex

— Trudno jest sporządzić pełną listę umiejętności. Stąd model kompetencji Lomingera obejmuje 67 pozycji. W Yandex umiejętności dzielimy na uniwersalne i te, których potrzebują menedżerowie.

Umiejętności uniwersalne związane z efektywnością osobistą i interakcją z innymi. Efektywność osobista jest kojarzona m.in. z umiejętnością zarządzania sobą, swoim czasem, procesami pracy, orientacją na wyniki, krytycznym myśleniem i umiejętnością uczenia się. Tym, co odróżnia współczesną gospodarkę od gospodarki sprzed trzydziestu lat, jest to, że jest mało prawdopodobne, że będziesz robił to samo przez całe życie. Najprawdopodobniej coś się zmieni i trzeba się na to przygotować.

Kolejna grupa umiejętności uniwersalnych związana jest z komunikowaniem się z innymi ludźmi. Nie żyjemy już w czasach produkcji taśmowej. Cokolwiek zrobisz, najprawdopodobniej będziesz musiał negocjować i omawiać to z innymi ludźmi. Proces komunikacji w tym przypadku staje się bardzo ważny. W firmach IT, gdzie horyzont planowania jest bardzo krótki ze względu na ciągły rozwój technologii, nawet specjaliści techniczni muszą podejmować wiele wspólnych decyzji, które rodzą się w procesie dyskusji. Pracownicy nie mogą pozwolić, aby negocjacje znalazły się w ślepym zaułku, w przeciwnym razie praca po prostu się zatrzyma.

Oddzielna duża warstwa to umiejętności dla menedżerów. Należą do nich umiejętność wyznaczania i oceniania zadań, motywowania innych i rozwijania się, bycia liderem, budowania zespołu i interakcji z innymi zespołami.

W Yandex programy szkoleniowe w zakresie umiejętności miękkich są zaprojektowane tak, aby pracownicy mogli pracować w różnych sytuacjach w bezpiecznym środowisku. Mogą to być sytuacje, z którymi się wcześniej nie spotkali, lub konkretne przypadki z własnego doświadczenia, w których chcieliby uzyskać lepszy wynik. Jest wiele rzeczy, które można rozwiązać, począwszy od zatrudniania nowych ludzi i wyznaczania celów, po konflikty interesów i kwestie motywacji. Z reguły sytuacje nieporozumień pomiędzy pracownikiem a menadżerem są trudne dla obu stron, ale można nauczyć się sobie z nimi radzić.

Można stosować różne metody nauczania. Dlatego dość trudno jest nauczyć się pracy zespołowej. W szkole uczymy się pracy indywidualnej, oceny są przyznawane za osobiste sukcesy w nauce. Ale to w zespole ludzie uczą się brać odpowiedzialność, rozdzielać role między sobą i uzgadniać wspólne cele i wyniki. A często okazuje się, że tego trzeba się uczyć już jako dorosły w pracy. Obecnie niektóre szkoły praktykują naukę metodą projektów i wspólną realizację zadań. Powinno to pomóc w nauce pracy zespołowej od dzieciństwa.

Jak uczyć dorosłych samodzielnego uczenia się i zdobywania wiedzy? Czasem pomaga doświadczenie zdobyte na studiach wyższych. Studia magisterskie i podyplomowe uczą, jak zrozumieć, co jest ważne, a co nie, i gdzie szukać odpowiedniej wiedzy. Ale często musisz to opanować już w trakcie pracy. Nic dziwnego, że jeden z najpopularniejszych kursów na Coursera nosi nazwę Nauka uczenia się.

Nie ma nic bardziej przydatnego w nauce niż lepsze poznanie siebie: spojrzenie na siebie z zewnątrz przy pomocy informacji zwrotnej otrzymanej od współpracowników, ponowne przemyślenie, co działa dobrze, a co nie, znalezienie ludzi, którymi chcesz być, i porównaj się z nimi.

Należy pamiętać, że motywacja jest podstawą wszystkiego. Jeśli zrozumiesz, że jesteś nietowarzyski, ale musisz to zmienić, na przykład jest to ważne dla zespołu, wtedy pojawi się zarówno motywacja, jak i potrzeba zmiany. Jeśli nie musisz się z nikim komunikować w pracy, po co się przechwalać?

Oleg Mokhov, szef rozwoju projektów HR i serwisu Yandex.Contest, w którym odbywa się internetowa część Olimpiady

Jakich umiejętności miękkich potrzebuje programista? Opinie Yandex

— Programiści bez ambicji przywództwa zespołu tak naprawdę nie potrzebują umiejętności miękkich. Ważne jest, aby móc zadawać pytania, słuchać i przekazywać swoje myśli. Aby doskonalić te umiejętności, możesz wygłosić referat na konferencji lub przeczytać wykłady na uniwersytecie. Każdy z nas kiedyś się uczył, co oznacza, że ​​sami możemy kogoś uczyć. Studenci szaleją i zadają najbardziej ukryte pytania. Umiejętność szybkiego odpowiadania na nie i zwieszania języka pomaga zachować spokój w gorących dyskusjach.

Książki nie pomagają w rozwijaniu umiejętności miękkich. Szkolenia pomogą tylko wtedy, gdy będziesz na nie regularnie uczęszczać. Ale bardzo przydatne jest przybycie na konferencję i zajęcie aktywnego stanowiska. Wystarczy zadać pytania prelegentowi.

Podczas rozmów kwalifikacyjnych czasem kwestionuję nawet poprawną odpowiedź kandydata – patrzę, jak myśli. Ale to działa tylko wtedy, gdy dana osoba jest pewna siebie. Ogólnie rzecz biorąc, lepiej jest analizować umiejętności miękkie podczas końcowych rozmów kwalifikacyjnych. Proszę np. o opowiedzenie o najciekawszym zadaniu, które wykonał kandydat. W ten sposób możesz dowiedzieć się, co jest dla danej osoby bardziej interesujące - kodowanie, badanie, uzyskiwanie wyników czy komunikacja.

Wiele osób o szalenie rozwiniętych umiejętnościach miękkich zostaje wysokiej rangi menedżerami, których cały dzień składa się ze spotkań. Jak utrzymać swoje umiejętności kodowania? Mówisz sobie: Programuję od dwóch godzin. Wyłącz wszystkie powiadomienia i telefon, to jedyny sposób. Znam liderów, którzy tak robią. Cóż, wywiady i sekcje techniczne również pomagają rozwijać mózg. W Yandex właśnie przestałeś być juniorem, a już zostaniesz zaproszony na rozmowę kwalifikacyjną. To jak podatek od tego, że pracujesz w dużej firmie.

Jeśli musisz wybrać lidera zespołu między menedżerem a programistą, wszystko zależy od przyszłych obowiązków lidera. Co innego, jeśli menadżer sam był kiedyś programistą. Ma wtedy większe szanse. Inaczej jest, jeśli jest to kombi projektowe. Współpracuje z zespołami backendowymi i frontendowymi, projektantami i analitykami. Ale nie wie, jak dana biblioteka działa we frontendzie, nie zna programowania asynchronicznego w backendzie i nie rozumie, dlaczego jest to trudne. Rozwój programistów polega na głębszym nurkowaniu. A istotą zarządzania jest zebranie warstwy wierzchniej, zrozumienie problemu i ustawienie powiązań i procesów. Dlatego uważam, że menedżer najprawdopodobniej nie będzie w stanie poprawić umiejętności rozwojowych ludzi.

W zespole może rozwinąć się wrogość wobec osoby z zewnątrz. Wybrałbym więc lidera spośród samych deweloperów, a być może nie wybrałbym najsilniejszego z nich. Załóżmy, że ktoś pracował przez pięć lat, teraz jest starszym programistą, ale w ciągu tych pięciu lat urósł tylko sprzęt twardy, a oprogramowanie nie. W takim razie nie mogę oczekiwać, że gwałtownie wzrosną, jeśli dam mu stanowisko. Ale kiedy programista pracuje już rok, ale widzę, że ma dobry język, komunikuje się, potrafi połączyć kilka osób, rozwiązać konflikty między nimi – to dla mnie jest to lider zespołu, nawet jeśli nie jest starszym programistą .

Nie wierzę w historię, w której ktoś staje się liderem wyłącznie dzięki twardym umiejętnościom. Lider zespołu bez oprogramowania najprawdopodobniej nie spełnia gdzieś swojej funkcji. Kiedy to może zadziałać? Kiedy podwładni są samowystarczalni. Mam powiedzonko dla nowych menedżerów: koty są łatwe w zarządzaniu. Liderzy zespołów denerwują się, gdy mają trudne sprawy – jeden pracownik chce odejść, inny popada w depresję i zaczyna gorzej działać, trzeci ma konflikt. Mówię to liderowi ich zespołu – ciesz się, po raz pierwszy musisz pracować jako lider. Bo koty - miauczą, są miłe, wesołe - bardzo łatwo je opanować.

Źródło: www.habr.com

Dodaj komentarz