Konsultant IT - co robi, zalety i wady tej roli? Devdebata

Konsultant IT – rzeczywiste spojrzenie polskich programistów. Devdebata

Jakie są zalety pracy konsultanta? Paweł Zagrobelny, Freelance Fullstack Web Developer, mówi, że jego zdaniem największą zaletą jest możliwość szerszego spojrzenia na produkt. – Programiści, zwłaszcza w większych firmach/software house’ach, bardzo często są tylko częścią wielkiej machiny – dodaje.

O rzeczywistości polskich konsultantów opowiedzieli nam:

Radek Maziarka, Technical Product Owner i Solution Architect w obszarze .NET prowadzący prezentacje i szkolenia, a także organizujący konferencje programistyczne. Po pracy prowadzi konsultacje dla firm oraz wspomaga technologicznie organizacje pozarządowe. Zwolennik dostarczania wartości małymi krokami. Można go złapać na blogu radekmaziarka.pl i Twitterze @RadekMaziarka.

Paweł Zagrobelny, Freelance Fullstack Web Developer, mentor i kreatorów kursów w szkole programowania Kodilla. Stara się dzielić swój czas na pół. W jednej części wciąż będąc aktywnym programistą, często łącząc to z rolą product ownera, a w drugiej odnajdując się jako edukator i konsultant. Na stałe mentoruje grupie początkujących w szkole programowania Kodilla, współpracując z nią również jako konsultant dbający nad merytoryką kursów web i tworząc osobiście dużą część ich treści. Czasami pisze również krótsze formy. Jego artykuły były publikowane m.in. na branżowych portalach sitepoint.com oraz Tuts+. Można go znaleźć na Twitterze @PawelZagrobelny.

Grzegorz Twardowski, Full-stack JS Contractor, Mentor bootcampów programistycznych, od dwóch lat również Scrum Master, Agile Evangelist. Doświadczony (choć samouk) “inżynier technologii webowych” z 16-letnim stażem (w tym również ok. 10 lat w branży poligraficzno-reklamowej). Znający świat korporacyjny oraz małe i średnie przedsiębiorstwa; kibicujący gorąco wszystkim mikro-przedsiębiorcom.

Kiedy zacząłeś pracować jako konsultant IT? Jaki był Twój ówczesny poziom wiedzy: junior, mid czy senior?

Radek Maziarka, Technical Product Owner / Solution Architect: Pierwsze projekty na zamówienie zacząłem tworzyć już w 2014 roku. Jednak bezpośrednio jako konsultant IT zacząłem pracować około 2018 roku, równocześnie z objęciem stanowiska Technical Development Managera. Wtedy nabrałem odpowiedniej ilości wiedzy oraz umiejętności miękkich by szkolić inne osoby i rozwiązywać ich problemy. Praca jako konsultant IT wymaga szerokiej wiedzy, zarówno technicznej, jak i biznesowej w różnych obszarach pracy. Bez tych umiejętności działamy bardziej jako wytwórca, a nie jako konsultant.

Paweł Zagrobelny, Freelance Fullstack Web Developer: W branży jestem już od prawie 10 lat. Na początku jednak zajmowałem się tylko i wyłącznie wytwarzaniem kodu. W trochę innej roli zacząłem odnajdować się dopiero po kilku latach, gdy zauważyłem dużo zalet dzielenia się wiedzą. Wtedy powoli zacząłem patrzeć na świat IT w trochę szerszej perspektywie, rozpocząłem współpracę z kilkoma serwisami, a także zacząłem zdobywać klientów, z którymi pracowałem również na etapie planowania produktu. 

Znacznie częściej pomagałem też w planowaniu architektury aplikacji, nie zawsze bezpośrednio uczestnicząc w pisaniu kodu. Tematem na poważnie zająłem się jednak dopiero w momencie rozpoczęcia współpracy z Kodillą, w której jednym z zadań stało się merytorycznie wsparcie przy realizacji kursów. Był więc to etap, kiedy zdecydowanie mogłem określać się jako mid/senior. I szczerze, ciężko nawet wyobrazić mi sobie, aby mogło być inaczej. Praca konsultanta wymaga dużej wiedzy technicznej. I to w bardzo szerokim ujęciu. Dobry programista, to nie zawsze dobry konsultant. Potrzebne kwalifikacje zdobywa się najczęściej przez doświadczenie i pracę w różnorodnych środowiskach. Tego nie da się przeskoczyć.

Grzegorz Twardowski, Full-stack JS Contractor: Po raz pierwszy zdecydowałem się na pracę jako konsultant IT / kontraktor, kiedy w pierwszej większej firmie software’owej zadbałem o uporządkowanie swojej dotychczasowej wiedzy. Jestem 100% samoukiem i miałem braki to tu, to tam. Podczas okresu próbnego w Perform Media Poland sp. z o.o. moja wiedza została gruntownie sprawdzona, uporządkowana i wyznaczono mi dalsze cele. Potwierdzono, że moja wiedza jest na poziomie MID i zaproponowano stały etat. Jednakże z niego nie skorzystałem, bo pojawiła się dużo atrakcyjniejsza finansowo oferta pracy w modelu B2B, na którą się zdecydowałem. Od tego czasu (od 2015) pracuję w “trybie mieszanym” doceniając zalety (i pamiętając o wadach) tak UoP jak i kontraktów B2B.

Jak konsultant IT szuka zleceń? Z jakich platform korzystasz?

Radek Maziarka, Technical Product Owner / Solution Architect: Zlecenia znajdują mnie. Staram się promować mocno moją stroną, gdzie mam podane zarówno merytoryczne artykuły, jak i propozycje szkoleń i warsztatów. Osoby chcące pogłębić swoją wiedzę kontaktują się ze mna by zapewnić bezpośrednie konsultacje dla swoich zespołów.

Dodatkowo staram się promować moją wiedzę na różnych konferencjach i grupach tematycznych. Dzięki temu mam bezpośredni kontakt ze słuchaczami i mogę nawiązywać biznesowe relacje. Jestem też aktywny w mediach społecznościowych – na LinkedIn i Twitterze.

Paweł Zagrobelny, Freelance Fullstack Web Developer: Raczej niczego szukam. Pierwsze tego typu zlecenie tak naprawdę wpadły mi w ręce same, od zaprzyjaźnionych deweloperów, którzy liczyli na wsparcie od bardziej doświadczonego kolegi. Od momentu współpracy z Kodillą, wystarczająco dużo pracy jest “na miejscu”. Dodatkowo często łączę również rolę programisty, jak i architekta całej aplikacji, współpracując na bieżącą z klientem w swojej codziennej pracy jako freelancer. Nie byłbym więc w stanie znaleźć czasu na nic więcej.

Jeśli miałbym jednak doradzić coś osobom, które mają z tym problem, to prawdopodobnie nie ma lepszych sposobów, jak aktywne konto na Twitterze i dzielenie się wiedzą na konferencjach. To tak naprawdę w dużej mierze “darmowa” reklama, a celuje wprost w grono osób, które w przyszłości mogą być naszymi klientami.

Grzegorz Twardowski, Full-stack JS Contractor: Nie szukam. Staram się pielęgnować swój profil na LinkedIn. Chmura tagów technologii, z którymi pracuję, jest regularnie aktualizowana. Ostatnio świadomie usunąłem wpis o Angularze; dostawałem bardzo dużo ofert dla programistów Angulara, a ja tylko szczerze odpowiadałem, że “już się nie lubimy, bo preferuję lżejsze rozwiązania”. To właśnie przez LinkedIn dostaję najwięcej propozycji; kiedyś miałem również profile na portalach freelancerskich. Ofert jest tak dużo, że i tak nie jestem w stanie na nie wszystkie pozytywnie odpowiedzieć.

Czego najciekawszego dowiedziałeś się podczas realizacji zleceń/projektów dla klientów?

Radek Maziarka, Technical Product Owner / Solution Architect: Myślę, że najważniejszą lekcją z takich projektów było ogólne spostrzeżenie jak bardzo biznes poszczególnych firm i organizacji się różni. Każda z nich rozwiązuje ogólne problemy w podobny sposób – np. trudno jest inaczej wystawiać faktury swoim kontrahentom. Równocześnie firma tworzy specjalistyczne rozwiązania i podejścia, które wyróżniają ją na rynku tworząc przewagę konkurencyjną. My jako konsultanci powinniśmy się skupiać szczególnie na wspieraniu tej przewagi. Dzięki temu jesteśmy w stanie dostarczać największą wartość naszemu klientowi.

Paweł Zagrobelny, Freelance Fullstack Web Developer: Przede wszystkim często klienci nie do końca rozumieją, jak bardzo ważne jest przygotowanie odpowiedniej architektury systemu czy aplikacji. Bywa, że aplikację, która koniec końców jest naprawdę zaawansowana, reklamują jako coś bardzo małego. Ukrywając na początku, jak wiele pomysłów mają jeszcze z tyłu głowy. Myśląc, że jeśli za jakiś czas się na to zdecydują, to wprowadzenie tego do aplikacji będzie kwestią kilku kliknięć. Tymczasem bywa, że są to naprawdę specyficzne pomysły, wymagające specyficznych rozwiązań. Może to powodować wybranie chybionego stacku czy zwyczajnie potrzebę dużej refaktoryzacji systemu. 

Dlatego też bardzo szybko zrozumiałem, jak ważne jest “męczenie” klienta pytaniami od samego początku, tak aby lepiej zrozumieć, czego tak naprawdę oczekuje. Należy zrozumieć, że są to osoby, które nie muszą mieć żadnej wiedzy technicznej i czasami kompletnie nie rozumieć na czym cały proces polega. Czasami musimy przyjąć do wiadomości, że klient nie wymaga od nas robienia skomplikowanych rzeczy za małe pieniądze, bo jest “dusigroszem”, tylko zwyczajnie nie rozumie, ile pracy należy w nie włożyć.

Grzegorz Twardowski, Full-stack JS Contractor:

Przede wszystkim tego, że nawet z projektów o bardzo złym kodzie, ale z dobrym pomysłem biznesowym, można wycisnąć niezłe pieniądze, aby potem zatrudnić doświadczonych konsultantów IT, którzy pomogą pozbyć się długu technicznego i rozwinąć produkt jeszcze bardziej.

Pracujesz na etacie czy realizujesz tylko projekty jako freelancer? Skąd taka decyzja?

Radek Maziarka, Technical Product Owner / Solution Architect: Można powiedzieć, że oba naraz – współpracuję z firmą, z którą mam bliższą relację, ale równocześnie jestem otwarty na zewnętrzne warsztaty i projekty. 

To pierwsze pozwala mi pracować długofalowo z zespołem tworząc głębszą więź. Dzięki temu jestem w stanie dostrzegać, jak w dłuższym odcinku czasu moje działania rozwijają całą organizację. Mogę potwierdzić, że pewne ogólne hasła branżowe (np. shift left testing / security) działają w rzeczywistości.

Z drugiej strony, zaangażowanie w krótkie aktywności pozwalają się wyrwać z rutyny dnia codziennego. Można zostać zaangażowany w naprawdę ciekawe obszary biznesowe, do których nie mielibyśmy styczności. Takie konsultacje rozwijają mnie zwiększając biegłość biznesową.

Paweł Zagrobelny, Freelance Fullstack Web Developer: Trochę jedno i drugie. Dużo pracuję jako freelancer, ale w trybie ciągłym współpracuję również z Kodillą. To drugie jest dla mnie o tyle ciekawe, że pozwala na żywo oceniać efekty mojej pracy. Różni się to od czasowych projektów, gdzie często po skończeniu prac, zapomina się o produkcie i przechodzi do kolejnego.

Skąd taka decyzja? Współpraca z Kodillą jest bardzo rozwijająca, jednak w dużej mierze skupia się na jakimś wycinku branży. W pracy freelancera, w której projekty są bardzo różnorodne, mogę spojrzeć na całość w trochę inny sposób i wciąż się rozwijać. Do tego, najczęściej w takich projektach, mam często możliwość wdrażania założonych pomysłów.. To dla mnie o tyle ważne, że cenię sobię wciąż zwykłą pracę “kodera” i nie chcę z niej całkowicie rezygnować. Uważam, że tylko w taki sposób, wciąż będąc w jakiejś mierze blisko z kodem, jestem w stanie być na bieżąco z branżą i lepiej rozumieć jej wyzwania w szerszym ujęciu. Zwłaszcza, że tempo rozwoju w IT jest naprawdę przeogromne i łatwo zostać z tyłu.

Grzegorz Twardowski, Full-stack JS Contractor: Obecnie od 2,5 roku pracuję na etacie plus prowadzę działalność szkoleniową w modelu B2B. Jestem jednak otwarty na propozycje długotrwałej współpracy B2B, wtedy prawdopodobnie zrezygnuję z etatu. Dlaczego taka decyzja – z obecnym pracodawcą najpierw współpracowałem przez dwa lata jako kontraktor, a ostatecznie zaproponowali mi zatrudnienie na etat. Z racji tego, że wcześniej, firma pośrednicząca zabierała całkiem duży kawałek mojego wynagrodzenia, wyszedłem na tym całkiem nieźle.

Co sprawiłoby, że przeszedłbyś na etat albo tylko na pracę jako IT konsultant?

Radek Maziarka, Technical Product Owner / Solution Architect: Etat pewnie by mnie nie zainteresował, z powodu zbyt małej zmienności. Myślę, że duża ilość $$$ byłaby w stanie mnie zachęcić na krótki okres, ale długofalowo motywacja wewnętrzna ostatecznie by zwyciężyła.

Praca jedynie jako konsultant wymaga bardzo dużej ilości zleceń, których wypracowanie trwa i nie jest łatwe. Nie jestem również przekonany czy chciałbym porzucić pracę z zespołem – praca konsultanta cechuje się częstym brakiem głębszych relacji z klientem co nie jest zbyt dobre dla ogólnego samopoczucia.

Paweł Zagrobelny, Freelance Fullstack Web Developer: Etat pewnie wchodziłby w grę, gdybym dostał ofertę, którą mógłbym potraktować jako wyzwanie. Ale czy na dłuższą metę? To zależy od tego, nad jak bardzo szeroko rozwiniętym projektem mógłbym pracować. Coś bardzo ograniczonego w swoich funkcjonalnościach mogłoby być w dłuższym okresie nużące.

Raczej nie potrafię wyobrazić sobie za to pracy jedynie w roli konsultanta. Tak jak mówiłem wcześniej, moim zdaniem, najlepszy konsultant to taki, który wciąż jest blisko kodu. Wie co w branży piszczy. Wie, jakie wyzwania mogą stać przed programistami, a jakie rozwiązania, które wyglądają dobrze na papierze, mogą sprawiać problemy przy implementacji. Jeśli konsultant nie stara się być na bieżąco, to obraz tematu po pewnym czasie może zacząć się lekko rozmywać z tym, jak wygląda prawdziwa implementacja produktu. Ma to znaczenie zwłaszcza w naszej branży, która tak szybko się rozwija. Oczywiście, nie chcę przez to powiedzieć, że nie innej drogi jak programista + konsultant. Niemniej, jest to bardzo pozytywna sytuacja.

Grzegorz Twardowski, Full-stack JS Contractor: Wszystko zależałoby od tematyki projektu (lub może projektów, bo lubię robić kilka rzeczy na raz) oraz ogólne od warunków pracy. Obecnie od 2-3 lat przede wszystkim szukam możliwości pracy zdalnej dla firm zagranicznych (bez pośredników zabierających swoją prowizję). Model samodzielnego stanowiska i pracy z domu najbardziej mnie pociąga.

Jakie są największe wady, a jakie zalety pracy IT konsultanta?

Radek Maziarka, Technical Product Owner / Solution Architect: Istotną wadą jest na pewno duża zmienność takiej pracy. Niekiedy zlecenia są w stanie być anulowane „z dnia na dzień” na przykład z powodu obecnej sytuacji epidemiologicznej. Często też taka rola wymaga dalekich wyjazdów i bycia poza domem. Nie będzie to dla wszystkich komfortowe. Pomaga tutaj możliwość konsultacji zdalnych, ale nie zawsze jest to akceptowane przez klienta.

Zalety opisałem szerzej na górze, więc tutaj tylko je wylistuję jako podsumowanie:

  • szersza perspektywa biznesowa,
  • duża ilość ciekawych wyzwań.

Paweł Zagrobelny, Freelance Fullstack Web Developer: Moim zdaniem największą zaletą jest możliwość szerszego spojrzenia na produkt. Programiści, zwłaszcza w większych firmach/software house’ach, bardzo często są tylko częścią wielkiej machiny. Zajmują się pojedynczymi wycinkami większego produktu, implementują kilka feature’ów, a za jakiś czas zmieniają projekt na kolejny. Bardzo często nawet nie widząc pełnego efektu końcowego. Konsultant IT najczęściej widzi produkt zupełnie inaczej, jako cały byt, wraz z wszystkimi jego konceptami. Często ma okazję widzieć jak “rośnie”, jaki efekt udało się osiągnąć. Nierzadko widzi w akcji skomplikowaną architekturę, którą sam zaproponował.

Sama praca jest też znacznie bliżej samego klienta. Poznajemy produkt od jego biznesowej strony. Dowiadujemy się, jakie mamy wyzwania, jak funkcjonuje dana firma. Często każde kolejne zlecenie jest zupełnie inne. Dotyczy zupełnie nowej branży. To duży plus i często równie duże wyzwanie.

To co wcześniej opisałem jako zaletę, a więc “więcej ogółu i mniej szczegółu”, to zarazem wada. Akurat ja często sam implementuje swoje pomysły, ale konsultant jako taki bardzo często pozostaje na etapie koncepcyjnym. Jest w tym coś okrutnego, to trochę tak, jak wymyślanie fabuły książki i tylko instruowanie osoby którą ja napisze. Bez możliwości samego jej napisania. Koniec końców, to nie my chwytamy za pióro. Niestety z tym trzeba się po prostu pogodzić. Czym większy projekt, tym większy zespół. Czasy, w których aplikacje były “dowożone” przez jednego lub dwóch programistów już dawno minęły. Teraz wchodzi to w grę tylko przy naprawdę bardzo małych projektach.

Grzegorz Twardowski, Full-stack JS Contractor: Szczególnie na początku musisz zadbać o naukę dot. sfery finansowej, podatkowej i księgowej. Szybko uczysz się również, żeby bardzo dokładnie czytać wzory umów i szukać luk oraz niebezpiecznych (dla Ciebie) zapisów. Masz też większą odpowiedzialność… trzeba samemu zadbać o dobre ubezpieczenie, odkładanie środków na okresy “pustych przebiegów” itp. Z zalet, większa niezależność, wiele opcji optymalizacji podatkowej.


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

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Języki programowania skazane na wymarcie. Prasówka Technologiczna: 3.08.2019 r.