Jakie wyzwania podejmujesz i w jaki sposób rozwijasz swoje umiejętności? Takie pytanie zadaliśmy developerom w kolejnej odsłonie cyklu pt. Seniorzy odpowiadają. Jedni eksperymentują z nieznanymi technologiami, drudzy oglądają materiały na YT z konferencji, a jeszcze inni biorą udział w meetupach. Zobaczcie, jak seniorzy, których zaprosiliśmy, rozwijają swoje umiejętności.

 

Odpowiada Patryk Święczkowski, Tech Leader / Senior PHP Magento Developer w Sii Poland:

 

O ile algorytmy i wzorce projektowe nie zmieniają się, to „software development” tak. Zawsze wyjdzie kolejna wersja narzędzia, frameworka, z którego korzystamy. Pojawią się nowe, bardziej wydajne opcje itp. Pytanie tylko, czy nam się chce, czy podejmiemy wyzwanie i spróbujemy otworzyć się na zmiany? A może zamykamy się w naszej strefie komfortu, zostając klepaczami kodu przez X lat?

Ważnym też jest rozwój osobisty, poprzez wyciąganie wniosków z ukończonych projektów. Za każdym razem można coś ulepszyć, podejść do tematu z innej strony, optymalizować wydajność i uczyć się na błędach. Mam taki nawyk, że regularnie prowadzę notatki w Evernote (tzw. „tajne notatki”), z różnych dziedzin, aby nie odkrywać potem koła na nowo.

Jeśli chodzi o umiejętności, to w Sii Polska mam dostęp do wewnętrznych szkoleń, zarówno soft jak i hard skill. Nie będzie to może odkrywcze, ale nasze horyzonty możemy poszerzyć na wszelkiego rodzaju konferencjach branżowych, meetup’ach oraz wymianie wiedzy z innymi zespołami. Każdy coś nowego zastosuje, sprawdzi dane rozwiązanie.

Super, jeśli możemy wypróbować w naszej pracy zastosowania różnych narzędzi, frameworków. Może dla odmiany spróbujmy napisać coś w Pythonie, Ruby a nie PHP, jeśli ma to sens?

Na sam koniec, literatura — od poprawy jakości kodu, projektowaniu lepszych rozwiązań, po zarządzaniu czasem — polecam tu książkę „4 godzinny tydzień pracy” T.Ferriss’a. Do tego wszystkiego blogi tematyczne (Magento/eCommerce) np. https://alanstorm.com/ jak również grupy tematyczne na FB.

 

Odpowiada Tomasz Szepczyński, Senior Software Developer w SportsBroker:

 

Z wielu gałęzi wiedzy, które można rozwijać w IT dla mnie najbardziej profitowe jest poznawanie rzeczy, o których nie miałem wcześniej pojęcia. Warto czasem wyjść z technologii, w której pracuje się na co dzień i podpatrzeć coś zupełnie innego.

Przykładowo ja od czasu do czasu lubię sobie włączyć słabiej zabezpieczoną stronę / aplikację i szukać luk w zabezpieczeniach, czy popisać shadery na kartę graficzną tworząc ciekawe efekty 3D.

Ponadto warto popisać chwilę w innych językach i frameworkach, by potem w rozmowie z innym developerem, móc się dogadać na zasadzie „a w Angularze to rozwiązywali w ten sposób” albo  „To działa tak jak enumerator w C#”. Mając znajomość różnych podejść do danego problemu można dużo łatwiej wybrać to odpowiednie.

Do najbardziej rozwijających opcji mogę na pewno również zaliczyć rozmowę z bardziej doświadczonymi developerami, code review, dyskusje na temat architektury oraz zaglądanie do kodu w bliźniaczych projektach.

 

Odpowiada Maciej Król, Senior Java Developer w Australian Innovation Centre:

 

Najważniejsi dla naszego rozwoju są ludzie z jakimi się stykamy. Bez nich możemy spędzać mnóstwo czasu na czytaniu artykułów, książek czy nawet ćwiczeniu implementacji nowych rozwiązań, ale będzie to czas wykorzystany mało efektywnie. Samemu niemożliwością jest ocena swoich faktycznych umiejętności. Tylko drugi człowiek będzie w stanie zakwestionować nasz punkt widzenia, ujawnić braki czy pozwolić dostrzec alternatywne sposoby myślenia.

Myślę, że nawet największy pasjonat większość czasu przy komputerze spędza jednak w pracy. Ważne więc, aby oprócz pensji i benefitów było to środowisko rozwojowe. Osobiście szczerze zgadzam się i kieruję stwierdzeniem, że „jeśli jesteś najmądrzejszą osobą w pokoju to znaczy, że jesteś w złym pokoju”. Na pewno łatwiej jest być tym, którego wszyscy się o wszystko pytają i nic nie stanowi trudności, ale właśnie w tym tkwi pułapka. W takim środowisku Twoje umiejętności na pewno nie wzrosną. Może nawet się zmniejszą! Dlatego jeśli rozważasz zmianę pracy szukaj miejsca, gdzie pracuje jak najwięcej lepszych od Ciebie i w którym czeka Cię mnóstwo wyzwań. Najlepszej firmy do jakiej jesteś w stanie się w danej chwili dostać. Lepiej jest być kimkolwiek w Google niż Extra Leadem w jednoosobowym start-up’ie.

A co jeśli z jakiegokolwiek powodu nie zamierzasz zmieniać aktualnej pracy? Jeśli kilka możliwości. Przychodź na meet-up’y, ale nie po to żeby biernie oglądać prezentacje. Porozmawiaj z ludźmi. Rozważ też udział w projektach Open Source, możesz przecież zawsze zacząć od czegoś małego.

 

Odpowiada Iwona Jóźwiak, PHP Developer, magento developer w Divante.pl:

 

Podnoszenie kwalifikacji jest chlebem powszednim dla każdego specjalisty. Niezależnie od zawodu i stanowiska, stale musimy nadążać za bieżącymi trendami, rozwiązaniami czy technologią. Dotyka to również sfery developmentu.

Jestem z natury bardziej praktykiem niż teoretykiem i przeczytanie kolejnej książki, bez możliwości sprawdzenia tego „w praniu” nie przynosi zadowalających mnie efektów. Często też bywa, że opracowania wydawnicze pojawiają się na długo później niż potrzeba zastosowania jakiejś „nowinki”. Najczęściej więc wybieram naukę poprzez praktykę i bieżące ścieranie się z problemami. Niestety nie od dziś wiadomym jest, że projekty nie zawsze dają możliwość poznania tego, co nas interesuje. Staram się więc stawiać przed sobą wyzwania, w których to sama zakładam, że wykorzystam konkretne rozwiązanie czy też bibliotekę lub algorytm, w celu zaspokojenia wymyślonej przeze mnie potrzeby biznesowej. Brzmi to skomplikowanie, ale w rzeczywistości jest bardzo prostym sposobem na przetestowanie nowych rozwiązań w zderzeniu z rzeczywistymi, a nie akademickimi potrzebami. Tak naprawdę bowiem to one (potrzeby) będą determinować architekturę tworzonych przeze mnie teraz i w przyszłości rozwiązań. Skąd czerpię inspirację? Z życia! Po 13 latach w tym fachu widziałam mnóstwo tzw. „work around’ów”.

Długo nie doceniałam możliwości, jakie niosą ze sobą konferencje i meetupy. Jednak po tym, jak zjawiłam się na kilku takich eventach, zmieniłam zdanie. Nie jest to miejsce, gdzie można nauczyć się używać biegle czegoś nowego, jednak stanowi doskonałą okazję dla „degustacji”. Dzięki ostatniemu Talk&Tech zobaczyłam niesamowitą moc AI w zestawieniu z obszarem działalności testerów. Wychodząc z konferencji pomyślałam „Kurczę, dlaczego wszyscy testerzy z tego nie korzystają?”. Zastanawiałam się też, czy jeśli znajdę czas i zgłębię ten temat, to mogę wnieść nową jakość do e-commerce? To pytanie na razie pozostaje otwarte.

Dość ciekawymi eventami są hackathony. Na razie nie udało mi się w żadnym wziąć udziału z uwagi na fakt, że więcej rzeczy próbuję zrobić niż mam wolnego czasu. Niemniej jest to na mojej liście TO DO zaplanowane na przyszły rok. Robiąc bowiem wszystko naraz, nie zrobi się nic dokładnie.

Ważnym dla mnie aspektem jest budowanie kompetencji miękkich, jak i technicznych w miarę równolegle. Uważam wręcz, że miękkie bywają cenniejsze. Dróg rozwoju w tym zakresie jest wiele, jedną z najbanalniejszych jest uważne słuchanie i obserwacja. Życie na każdym kroku pokazuje dwie strony medalu każdej sytuacji. Każdy członek zespołu, bądź klient jest inny i stałe ćwiczenie się w próbie spojrzenia oczami drugiej osoby, rozwija we mnie empatię i zrozumienie dla obszarów niekoniecznie stricte technicznych. Każda linijka kodu bowiem ma odzwierciedlenie w realnym biznesie i procesach w nim zachodzących. Warto więc czasami zadać proste pytanie „Dlaczego?”, aby zrozumieć jak widzi dany problem ta druga strona.

Staram się też tworzyć pozytywną atmosferę w projekcie. Pokazywać, że odpowiednie nastawienie na cel (np. rozwiązanie problemu), pozwala szybciej go osiągnąć. Uważam, że przysłowiowy „ping-pong” komunikacyjny należy gasić w zarodku. Wymaga to czasem skomunikowania ze sobą wielu stron i jest to niezłym treningiem sposobów negocjacji.

Kiedy dwie strony rozprawiają o czymś bardzo zawiłym, nietrudno o nieporozumienia bądź niedopowiedzenia. Prócz znalezienia wspólnego języka, dobrą praktyką jest rozrysowywanie rozwiązań, przyrównywanie ich do realnych sytuacji/przedmiotów z życia, podsumowywanie ustaleń. Wszystko to co działa na naszą wyobraźnię, sprawia że lepiej odnajdujemy się podczas rozwiązywania problemów czy planowania nadchodzących zadań. Bardzo przydatnym narzędziem w tym obszarze są dla mnie narzędzia: draw.io czy BPMN. Staram się też znaleźć chwilę, by podsumować bieżące zadania. Czasami bywa, że któreś utknie i zwyczajnie przez natłok obowiązków, nikt nie zwraca na nie uwagi. Dobrze znaleźć taką chwilę by zweryfikować, czy o czymś nie zapomnieliśmy.

Lubię przyglądać się pracy PM-ów i managerów. Niejednokrotnie czerpiąc z nich wzorce, staram się, by komunikacja z klientem była bardziej profesjonalna. Staram się nie stosować niepotrzebnych zwrotów technicznych, by nie zakłócać ogólnego sensu komunikatu. Podobnie jak developerzy PM-i czy managerowie również mają swoje eventy i warsztaty. Wiele ciekawych materiałów można znaleźć na YouTube. Wszystkim developerom polecam też lekturę „Porozumienie bez przemocy” Marshalla B. Rosenberga.

Bardzo mi zależy na tym, by łączyć w sobie rolę project managera i developera. Dlatego też zawsze tam, gdzie tylko mogę, staram się być maksymalnie samodzielna – nie pozostaje to bez uznania u PM-ów. Podziwiam też ludzi, którzy wytwarzają swoje małe startupy. Na pewno prędzej czy później i ja podążę tą drogą, ale to nie jest jeszcze dla mnie dobry moment. Mam jednak pewną wizję tego, co chciałabym robić za 10-15 lat i konsekwentnie zdobywam potrzebną wiedzę i doświadczenie z wybranych przeze mnie obszarów.

Planuję też większą wagę przyłożyć do podniesienia swoich umiejętności we władaniu językiem angielskim. Aby się bardziej zmotywować, wybrałam się na kilkudniową wycieczkę do Londynu. Zachłysnęłam się wręcz energią miasta. Będąc tam, korzystałam na każdym kroku z możliwości porozmawiania w języku angielskim. W domu staram się w tym języku oglądać różne materiały na You Tube związane z Magento 2. Dzięki temu rozwijam swoją wiedzę na temat tego silnika i podnoszę umiejętności językowe.

Z pewnością jeszcze przede mną wiele pracy na każdym z obranych frontów. Jednak by nie zbłądzić w tym, co chciałabym osiągnąć, jak już wcześniej pisałam – planuję cele na każdy rok. To pozwala zachować pewien porządek. Swoje bieżące boje staram się dokumentować na moim blogu, który prowadzę razem z mężem fb.com/devVsAdmin. Prowadzenie go mobilizuje mnie do tego, by nie stać w miejscu. Blog pozwala mi też dzielić się tym co już potrafię z tymi, którzy dopiero szukają odpowiedzi. Możliwość dzielenia pasji z mężem i uzupełnianie się wiedzą, też uczy mnie pokory do moich umiejętności. Aż nazbyt często przekonuję się, że nie zawsze winna jest konfiguracja serwera, ale i nie zawsze winna jest logika kodu. To wszystko sprawia, że motywacja do pracy nad sobą rośnie.

 

Odpowiada Mariusz Walczak, Tech lead w Softfin:

 

Uwielbiam robić sobie doświadczenia. Często wymyślam zadanie, które z pozoru jest trywialne i do rozwiązania w kilka chwil. Następnie rozwiązuje je kilka razy, na kilka różnych metod. Staram się zaobserwować, które podejście do tego zadania jest lepsze. Sprawdzam, które szybciej mi się pisało, które rozwiązanie daje łatwiejsze możliwości rozwoju. Staram się eksperymentować na wszystkie możliwe sposoby. Przez to chyba jestem jedynym twórcą kalkulatora w architekturze SOA. Przynajmniej na tym prostym przykładzie poznałem z czym to się je. Dodatkowo dużo czytam i znów eksperymentuje z tym co czytam, starając się przyjrzeć się rozwiązaniom z każdej strony, przyjrzeć się im jak najlepiej.

Kiedyś nawet robiłem eksperymenty z nazwami metod i zmiennych. Dzięki serii eksperymentom, udało mi się wypracować mój własny prywatny algorytm nazywania ich, tak by było mi najwygodniej potem to odczytywać. Cieszę się, że ten sposób spodobał się wszystkim, z którymi współpracowałem i współpracuję. Miło jest usłyszeć: stary wdrożyłem się w Twój kod w chwile i zrobiłem błyskawicznie zadanie.

Także, moim przepisem na dojście do doskonałości, to doświadczenia, próbowanie różnych podejść do rozwiązania tego samego problemu, a następnie porównanie efektów. Wyszedłem kiedyś z założenia, że wszelkie zasady, to tylko drogowskazy, my musimy wypracować sami swoje metody i wykuć swój warsztat. Projekty są różne i nie ma złotego środka, dlatego warto znać różne podejścia i wiedzieć jakie są ich wady i zalety.

Zapraszamy do dyskusji
Nie ma więcej wpisów

Send this to a friend