Jak pomóc programistom w rozwoju zawodowym - szkolenia, inwestycja w rozwój

Blokowanie rozwoju programistów. Jak pomóc programistom w rozwoju? Devdebata

Czy blokowanie rozwoju programistów jest problemem? Jak pomóc programistom w rozwoju? Przeczytaj devdebatę nt. blokowania rozwoju zawodowego programistów. – Najcenniejsze co można dać programiście, aby ten rozwijał się, to czas – powiedział nam Tomasz Smykowski.

W devdebacie udział wzięli:

  • Patryk Woziński, Senior Software Engineer w DocPlanner. Pasjonat programowania obiektowego, pragmatyzmu w programowaniu i socjotechnicznego podejścia do architektury. Specjalizuje się w temacie testów automatycznych i głównego tematu wielu konferencji czyli Domain-Driven Design.
  • Tomasz Smykowski, Senior Software Development Consultant. Programuje od 20 lat. Jest w TOP 2% użytkowników StackOverflow. Jego pytania na Quorze wyświetlono ponad milion razy. Obecnie pisze w Angularze, TypeScript, Ember, JavaScript, C#, PHP, MySQL.
  • Marcin Skrzypek, Lider techniczny w BGK. Ekspert IT z kilkunastoletnim doświadczeniem w wielu rolach (programista, lider techniczny, architekt, manager) zdobywanym w pracy dla dużych korporacji. Swoje doświadczenie zdobywał m.in. w branży: ubezpieczeniowej, medycznej i bankowości. Głównie zajmuje się programowaniem i projektowaniem architektury systemów korporacyjnych oraz zarządzaniem zespołami developerskimi.
  • Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC. Jego zamiłowanie do programowania zrodziło się jeszcze w gimnazjum, dzięki czemu dzisiaj łączy pracę z pasją. Największe doświadczenie ma w programowaniu aplikacji internetowych, choć obecnie najbardziej interesuje go tworzenie produktów opartych o AI. Łukasz bardzo chętnie dzieli się zdobytą wiedzą z innymi, prowadząc szkolenia, występując na konferencjach czy pisząc artykuły.

Jak pracodawcy blokują rozwój programistów?

Patryk Woziński, Senior Software Engineer w DocPlanner:

Blokowanie to takie nieładne słowo. Czasami po prostu zdarza się, że jakiś pracodawca nie ma odpowiednich możliwości albo/i chęci do dania gruntu do rozwoju pracownikom.

Wyjazdy na wszelkie konferencje, meetupy, warsztaty to jedno; całkowicie fajna sprawa, bo przecież każdy z nas po prostu też lubi takie integracje. Jednak o wiele ważniejsze jest umożliwienie pracownikowi rozwoju w czasie typowego dnia pracy. Przykładowo inicjatywa chyba dość dobrze znana w branży, która wiąże się z 20% czasu jaki pracownik może poświęcić na dowolny projekt. Tak naprawdę nikt nie jest w stanie pracować przez 100% czasu efektywnie, a jeżeli damy komuś opcję poświęcenia ⅕ na coś niezwiązanego z codziennością – wiele osób po prostu zrobi coś, co może nie ma tak dużego impactu na biznes, ale podniesie ich morale i umiejętności, bo często właśnie skorzystamy z jakiejś nowej technologii czy nowej metody pracy.

Kolejną z częstych blokad, które można zauważyć jest sytuacja, gdzie pracodawca nie chce i nie pozwala na przeprowadzenie małych “sesji refaktoringowych/optymalizacyjnych” – trochę to rozumiem, bo sam na słowo “refaktoring” dostaję ciarek i boje się, co z tego wyniknie, ale! Pamiętajmy, że dając możliwość wprowadzenia poprawek, zmian w swoim kodzie – ludzie poczują się lepiej, zrobią coś “fajnego” i to znacznie tańsze niż zamulenie się ludzi, odejścia i ponowne rekrutacje. Zabranianie programistom na wdrażanie własnych pomysłów też często prowadzi do zablokowania pracownikowi rozwoju nowych umiejętności.

Marcin Skrzypek, Tech Lead w BGK

Nie jestem pewien czy słowo “blokują” jest tutaj odpowiednie. Z mojego doświadczenia wynika, że raczej może się zdarzyć, że po prostu nie wspierają odpowiednio rozwoju zawodowego pracownika. Mam tutaj na myśli brak szkoleń, czy dużą ostrożność (czasem przesadną) w przeprowadzaniu zmian w systemach.

Takie benefity jak szkolenie pracownika opłacone przez pracodawcę, czy sfinansowane bilety na konferencje, oczywiście bardzo pomagają się rozwinąć, motywują i podnoszą morale pracownika, ale nie powinny być jedynym wyznacznikiem podnoszenia kompetencji przez programistę.

Kluczowe jest to by działać również we własnym zakresie, a tego na pewno, żaden pracodawca nie będzie blokował.

Tomasz Smykowski, Senior Software Development Consultant:

Jeśli chodzi o moje doświadczenie, to miałem szczęście spotkać wielu wybitnych mentorów, którzy kierowali mną. Dzięki temu osiągnąłem zawodowo tak dużo. Dzisiaj młodzi ludzie mają możliwości rozwoju na niespotykaną w historii skalę. Jako właściciele firm, liderzy, seniorzy, konsultanci powinniśmy umożliwić im maksymalnie wykorzystać ich talent i skoncentrować na jednym kierunku.

Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC:

Rozwój to kwestia indywidualna. Niektórzy, mimo najlepszych warunków, nie będą chcieli poszerzać swojej wiedzy. Inni natomiast, nawet w najbardziej niesprzyjającej do tego firmie, będą uczyli się nowych rzeczy przy każdej nadarzającej się okazji. Są to skrajności oczywiście, i każdy z nas samemu gdzieś się odnajdzie pomiędzy tymi postawami.

Spotkałem się natomiast z pracodawcą, który z jednej strony blokował projekty wewnętrzne pracowników i nie przeznaczał na nie budżetu, z drugiej zaś wyciągał konsekwencje wobec osób, które po godzinach rozwijały własne projekty, ponieważ w tym czasie mogliby rozwijać jeden z projektów który byłby zgodny ze strategią firmy.

Jak programista powinien zareagować na tego typu blokady?

Patryk Woziński, Senior Software Engineer w DocPlanner:

Wypracowanie jasnej i prostej komunikacji z przełożonym to bardzo ważna rzecz. Jeśli pracujemy w oparciu o wzajemne feedbacki to powinniśmy jak najszybciej zasyngnalizować braki, których doświadczamy i oczekiwania, którym stawić powinien się pracodawca. Jeśli pracujemy w firmie, w której nie ma jasnej architektury feedbacku – coś chyba jest nie tak.

Marcin Skrzypek, Tech Lead w BGK

Dużym błędem jest niekomunikowanie swoich potrzeb i celów zawodowych. Jeśli pracuję w firmie, w której brakuje mi budżetu szkoleniowego, należy jasno to komunikować, by pracodawca miał szansę na to zareagować. Myślę, że otwarta komunikacja w zespole, w tym ze swoim przełożonym, wychodzi wszystkim tylko na dobre.

Tomasz Smykowski, Senior Software Development Consultant:

Przede wszystkim powinien rozwijać umiejętności miękkie i liderskie. Posiadanie racji to 1% sukcesu, 99% to umiejętność ich przekazania i realizacji. Programista, który czuje, że jego rozwój zawodowy jest zablokowany. Jego inicjatywa w tym zakresie zawsze może przynieść pożytki nie tylko dla niego, ale i całej organizacji, w której uczestniczy.

Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC:

Pierwsza rzecz to oczywiście komunikacja, czyli zrozumienie z jednej strony, dlaczego pracownik chce się rozwijać w danym kierunku a z drugiej jakie pracodawca ma plany i potrzeby wobec niego. Czasami może okazać się, że nie możemy rozwijać się w tym kierunku, co chcemy, ale jest możliwość podjęcia innej, również interesującej ścieżki rozwoju, która będzie również dobra okiem pracodawcy.

Jeśli natomiast próby komunikacji czy znalezienia tej optymalnej ścieżki zawiodą, możemy zacząć rozwijać się w wolnym czasie, lub jeśli to niemożliwe – zmienić pracę.

Z czego Waszym zdaniem wynikają te blokady? Z niewiedzy pracodawców czy z oszczędności?

Patryk Woziński, Senior Software Engineer w DocPlanner:

Czasami takie blokady mogą wynikać z braku świadomości potrzeb ludzi w zespołach IT. Do tego wszystkiego tak jak wspomniałem wcześniej – niektórzy nie prowadzą otwartej polityki feedbacków i przez to obie strony są niedoinformowane o swoich potrzebach i celach zawodowych. Oszczędności to jedno – ale zapewnienie rozwoju nie zawsze musi być tak drogą inwestycją. Czasami po prostu pozwolenie na wyjazdy na różne małe meetupy, gdzie nie musimy inwestować w rozwój ogromnych środków zapewnia jakąś dawkę wsparcia rozwoju programisty.

Kolejną mniej oczywistą rzeczą jest to, że zatrudnianie dobrych specjalistów bardzo pozytywnie wpływa na rozwój i motywowanie zespołów. Często tacy ludzie potrafią dzielić się wiedzą i wspierają merytorycznie innych programistów. Moim zdaniem bardzo solidne możliwości rozwoju zawodowego można dać pracownikom nawet nie mając na ten cel żadnych większych funduszy – wystarczy odpowiednia świadomość potrzeb i odpowiednio ciekawe projekty w naszych zespołach, gdzie zawsze znajdzie się pole do umożliwienia rozwoju i nabycia nowych umiejętności.

Marcin Skrzypek, Tech Lead w BGK

Wszystko zależy. Może to wynikać z ograniczeń budżetowych, jeśli mówimy o zewnętrznych szkoleniach pracownika, konferencjach. Może wynikać z nieświadomości pracodawcy, że w zespole istnieje taka potrzeba, albo że potrzeba ta jest tak istotna, że determinuje czyjąś przyszłość w danej firmie. Dlatego właśnie wspomniałem o otwartej komunikacji.

Jeśli mówimy o użyciu nowych technologii, rozwiązań, tu również blokujący może być budżet, ale również czasem strach przed nowym. To co znamy, nawet jeśli już długu technicznym, może wydawać się bardziej bezpieczne niż wprowadzanie nowych technologii, których jeszcze nie mieliśmy okazji sprawdzić produkcyjnie w firmie.

Tomasz Smykowski, Senior Software Development Consultant:

Jeśli chodzi o polskie firmy mamy do czynienia z jednej strony z dynamicznym wzrostem firm zarządzanych nowocześnie, a z drugiej strony też z firmami zarządzanymi w starym stylu. Gdzie istniała silna hierarchia, z której ciężko było się wyrwać. Są też korporacje, które dają często iluzoryczne poczucie rozwoju. Jeśli takie status quo istnieje, to wysiłek oddolny na jego złamanie jest jak najbardziej wskazany. Pamiętajmy, że to też możliwość rozwijania się i wpływania na rzeczywistość.

Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC:

Zależy. Chociaż w gruncie rzeczy uważam, że problemy wynikają z braku komunikacji lub złej komunikacji i braku jakiejkolwiek chęci do pójścia na kompromisy czy wspólnego zrozumienia. Są osoby, zarówno po jednej, jak i po drugiej stronie, którzy przyjmują strategię “All or nothing”, zamykając się na jakiekolwiek alternatywy.

Budżet czy inne obawy/ograniczenia, które spotykamy na swojej drodze, są istotne ale do pokonania, o ile zarówno pracodawca, jak i pracownik nawiążą prawdziwą nić współpracy.

Jaki znasz najtańszy dla pracodawcy sposób na to, by wesprzeć programistę w rozwoju?

Patryk Woziński, Senior Software Engineer w DocPlanner:

W Docplannerze każdy zespół produktowy prowadzi swoje spotkania, na których opowiadają o nowych ficzerach czy rozwiązaniach jakie dają klientom końcowym. U nas na tym się nie kończy – mamy też dema techniczne. Każdy zespół może opowiedzieć o zmianach, które zrobił – w jaki sposób podszedł do rozwiązania jakiegoś problemu, jakich narzędzi używał i jak wyglądał research. To bardzo krótka i łatwa do wprowadzenia forma dzielenia się wiedzą między zespołami. 

Dodatkowo wydaje mi się, że patrząc długoterminowo – tanie jest zatrudnianie dobrych ludzi, którzy będą po prostu mentorami dla innych, przez co wprowadzimy taką ciągłość wymiany wiedzy. Kolejną istotną rzeczą moim zdaniem jest zachowanie zdrowej struktury zespołów – rekrutacja jedynie seniorów nie jest najlepszym rozwiązaniem. Czasami warto, by ci z większym doświadczeniem mieli kogo uczyć, motywować i wprowadzać w świat IT – przez to muszą skupić się na nauce dobrego przekazywania wiedzy, a to prowadzi do jeszcze lepszego zrozumienia tematów.

Marcin Skrzypek, Tech Lead w BGK

Każdy zespół to grupa ludzi o różnych kompetencjach, różnych doświadczeniach, różnych drogach zawodowych. Najtańszym, a jednocześnie według mnie bardzo wartościowym sposobem na rozwój zawodowy każdego programisty w zespole, jest czerpanie wiedzy od siebie wzajemnie.

Mam tu na myśli spotkania zespołowe, burze mózgów przy podejmowaniu decyzji projektowych, prezentacje i szkolenia wewnątrz zespołowe. Od programistów dla programistów. Czasem najwięcej możemy się nauczyć właśnie od kolegi siedzącego obok.

Tomasz Smykowski, Senior Software Development Consultant:

Podoba mi się, że pytanie mówi o “taniości” ponieważ może zachęcić pracodawców do wypróbowania czegokolwiek. Jednak jeśli chodzi o rozwój pracowników, to raczej pasuje ocena możliwości pod kątem zysku. Pamiętajmy, że automatyzacja, wydajność, produktywność, efektywność programisty to nie jest różnica kilku procent, ale rzędów wielkości. Dużym wyzwaniem jednak jest duża rotacja wśród początkujących programistów, którzy zamiast się rozwijać, przeskakują z firmy do firmy, pozostając wciąż na poziomie juniorskim. To duży problem, z którym boryka się rynek. Chociaż są też sukcesy na tym polu.

Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC:

Świetne pytanie! Najtańszym sposobem jest pozwolenie pracownikom działać samemu i okazanie im zaufania, jednocześnie komunikując wyraźnie czego oczekujemy i czego firma, jako ogół, potrzebuje. Jedni zorganizują hackathon wewnątrz firmy, inni będą chcieli zamienić się rolami, np. frontendowiec z backendowcem, inni zrobią prezentacje, aby podzielić się wiedzą itp. To są oczywiście koszta, ale zdecydowanie mniejsze niż rotacja pracowników albo utrzymywanie tzw. legacy. 

Jakie znasz inne sposoby na to, by przestać blokować programistów?

Patryk Woziński, Senior Software Engineer w DocPlanner:

Wydaje mi się, że wszystko powinno wychodzić od dołu. Jeśli programiści nie wiedzą czego nowego chcą się dowiedzieć, na czym im zależy i jak się rozwijać – to nie będzie łatwo firmie dać im nie wiadomo co. Generalnie jeżeli programista zauważy, że brakuje mu umiejętności na przykład tuningu zapytań bazodanowych, to powinien wprost powiedzieć o tym swojemu przełożonemu – czyli tak naprawdę zasygnalizować potrzebę, cel – później dopiero można takie coś pociągnąć dalej. Zebrać ludzi, którzy są zainteresowani tematem i dobrać odpowiednią formę zwiększenia kompetencji takiej grupy. Nie ma sensu często na siłę pchać ludzi na konferencje, warsztaty czy kursy skoro te tematy w ogóle nie interesują naszych inżynierów.

W skrócie? Poznajmy developerów, ich potrzeby i kierunek, w którym chcieliby się rozwijać a później wraz z nimi możemy dobrać odpowiednią metodę wsparcia i budowania kompetencji. Współpraca i feedback!

Marcin Skrzypek, Tech Lead w BGK

Tak jak wspomniałem wcześniej, nie spotkałem się z przypadkami blokowania czyjegoś rozwoju. Spotkałem się z przypadkami nie wspierania go.

Pracodawca dziś do dyspozycji wiele form i możliwości dokształcania pracowników:

  • dofinansowania szkoleń pracownika,
  • dofinansowania udziału w konferencji,
  • dofinansowanie do kursów certyfikacyjnych, lub samych egzaminów,
  • wykup licencji na platformę z kursami (np. Pluralsight),
  • wykup licencji na nowe narzędzia wspierające pracę programistów,
  • zmotywowanie zespołu do dzielenia się wzajemnie wiedzą (jak np prezentacje wewnątrz zespołowe),
  • zapewnienie odpowiedniego rozwoju swoich systemów, by zyskać benefity biznesowe ale i zainteresowanie programistów w pracy przy ich rozwoju.

Jakakolwiek z tych aktywności zostanie podjęta przez pracodawcę, na pewno będzie tylko dobrze postrzegana przez zespół programistów.

Tomasz Smykowski, Senior Software Development Consultant:

Najcenniejsze co można dać programiście, aby ten rozwijał się, to czas. Ponieważ czy weźmiemy pod uwagę webinary, czytanie książek, szkolenia, czy pisanie projektów rozwojowych, wspieranie open source – wszystko to wymaga czasu. Jakiś czas temu zapytałem się publicznie – dlaczego skoro firmy wymagają wkładu open source podczas rekrutacji, to nie dają swoim pracownikom czasu na taką aktywność? To wydaje się oczywiste, że powinni go dostać, ale tak nie zawsze jeszcze jest.

Łukasz Piłatowski, Embedded AI Developer w Luxonis LLC:

Z tego, co mi najbardziej pomogło na ścieżce rozwoju, to właśnie zaufanie. Podejmowałem się projektów, na które w danym momencie byłem technicznie za słaby, jednocześnie mając ambicje żeby nauczyć się i sprostać wyzwaniu. Na szczęście mogłem i wciąż mogę się takich projektów podejmować i jestem za to ogromnie wdzięczny.

Myślę, że w każdej firmie znajdą się programiści, ci bardziej ambitni lub doświadczeni, którzy wiedzą jak rozwijać siebie oraz mają pomysł jak rozwijać innych. Jeśli pracodawca pozwoli im działać i będzie wspierać ich inicjatywy, z pewnością przełoży się to na wzrost wiedzy i zadowolenia wśród pracowników.


Zdjęcie główne artykułu pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
historia cd-action
Jak powstało CD-Action? Wywiad z Jerzym “Mac Abrą” Poprawą