Co trzeba umieć pracując w IT

28 października 2021

Co trzeba umieć pracując w IT

Co trzeba umieć pracując w IT?

Dostaję od Was ostatnio sporo maili, w których pytacie mnie, jakie szkolenia wybrać i czego się uczyć, żeby wejść do tego świata IT, żeby wejść sobie do tego świata analizy danych. Czy uczyć się Pythona, czy uczyć się Tableau i jakby jakich technologii spróbować, żeby się do tego świata dostać. Innymi słowy – pytacie co trzeba umieć. Mówiąc prościej, chcesz wiedzieć najważniejsza umiejętność w pracy.

Obczajanie sobie technologii, i ich dobry wybór, jest oczywiście kwestią bardzo ważną. Natomiast często odpowiadając na te maile, dochodzę do wniosku, że ja doradzam tylko w niewielkim stopniu. Jasne, ogarnięcie sobie Pythona czy SQLa, czy Excela (a paradoksalnie to to ostatnie da Ci najwięcej możliwości, przynajmniej na początku) jest ważne, ale to nie wszystko. I w tym tekście chciałbym opowiedzieć o takiej umiejętności, która jest tak naprawdę najważniejsza w tym, żeby się zarówno dostać do IT i być tym programistą, czy być tym analitykiem, a która nie jest tak często wspominana, jak pewnie powinna być.

Czy muszę znać matematykę?

Kiedy pytamy kogoś na studiach o to, co trzeba umieć pracując w IT to najczęściej jako pierwsza wymieniana jest matematyka. Znaczy, często będąc sobie takim zwykłym człowieczkiem i patrząc na innych, którzy piszą te kody, różne SQLe, liczących w Excelu, myślisz sobie „O, to musi być matematyczny mózg, panie, to musi być taki matematyczny mózg, że jak on patrzy na monitor to mu wzorki lecą od góry do dołu”. Jest to stereotyp. Wynika to z tego, że często takim obrazem w kulturze popularnej analityka czy programisty jest ktoś na bardzo wysokim poziomie. Np. ktoś, kto będzie się zajmował uczeniem maszynowym, jakby tak już na takim wysokim poziomie niemalże Data Science.

Zresztą, w jednym z swoich filmików na YouTube opowiadam konkretnie o matematyce, na ile jest ona potrzebna. Ona się przydaje, tylko nie na samym początku. Tworzenie aplikacji, pisanie kodów SQL-owych czy analizowanie danych jest po prostu pewną umiejętnością, którą się uczymy dzięki temu, dzięki funkcjom, jakie dają nam programy, a niekoniecznie wynika to z tego, że jesteśmy świetnymi matematykami. Ja jestem najlepszym przykładem. Ja jestem polonistą, jak nieraz wspominałem, jestem po polonistyce, matematykiem nie jestem, a jestem całkiem niezłym analitykiem danych, tak mi się przynajmniej wydaję.

Najważniejsze jest logiczne myślenie

Drugą taką popularną myślą jest to, i to jest troszeczkę uogólnienie tej matematyki, jest to, że taki programista, czy taki analityk, z pewnością jest wybitnym logikiem. To znaczy, że on myśli w sposób logiczny. To jest takie zdanie, które się często pojawia, że „ludzie myślą, ci ludzie myślą w logiczny sposób”.

I to też jest pewnego rodzaju stereotyp, i to jest takie bardzo duże uogólnienie, wydaje mi się, wynikające z takiego, z takiego podziału my i oni. To znaczy, jak człowiek sobie żyje, nie? To tak se myśli:

„mmm zjadłbym bułeczkę. Hmmm, a, tutaj muszę to zrobić. Hmmm, o, tak się robi wielu VLOOKUP, a więc VLOOKUP, to po prostu wsadzamy te argumenty i on nam coś wyszukuję. O, a tak działa, tak działa pętla w Pythonie, czyli ona po prostu mi przechodzi przez te wszystkie elementy i coś z każdym z tych elementów robi”.

No właśnie. Tak to trochę wygląda dla każdego z nas, co znaczy, to nie jest tak, że my myślimy jakimiś logicznymi strukturami, tylko myślimy tak, jak każdy z Was, czy z nas, to znaczy, nasze myśli nie są specjalnie inne od, od, od takich zwykłych ludzi. Często takie popularne wyobrażenie sprowadza analityka, czy programistę, do połączenia Sheldona z Big Bang Theory z Sherlockiem Holmesem i takim człowiekiem, który jest tak na granicy, może nie Aspergera, ale generalnie człowieka, który nie umie w normalne ludzkie rozmowy, normalne ludzkie emocje, przez co też normalne ludzkie myśli, tylko myśli w taki sposób bardzo ustrukturyzowany, przyczynowo-skutkowy.

A więc nie, my tak nie myślimy. I owszem, mamy zajawki, które pozwalają nam się skupiać na rzeczach i rozkminiać rzeczy trudne, ale logika, to w ogóle jest o tyle zabawne, że to jest tak szeroka dziedzina wiedzy, nie jest najważniejszą umiejętnością, czy logiczne myślenie nie jest kompletnie najważniejszą umiejętnością tego, żeby sobie radzić jako programista czy jako analityk.

Co trzeba umieć? Uczyć się. I to szybko.

Wreszcie istnieje taka umiejętność, o której się często mówi i to bardzo często wspominają o tym rekruterzy, że to jest niezwykle ważna przy, przy programowaniu, przy zostaniu programistą, przy wejściu do świata IT. Nie jest to wciąż najważniejsza umiejętność w pracy, ale jest ważna. Chodzi mianowicie o umiejętność nauki. Bo rzeczywiście tak jest, że pracując w świecie analizy danych, w świecie programowania, musimy się dosyć często uczyć nowych rzeczy i uczyć się ich szybko (co często grozi przepracowaniem). Technologie wokół nas zmieniają się szybciej de facto, niż my jesteśmy w stanie je przyswoić w całości.

Frameworki powstają i giną, tak, my musimy umieć przeskakiwać od jednej technologii, czy jakiejś tam biblioteki, jakiegoś tam frameworka, jakiegoś programu do drugiego w zależności od tego, co nas otacza i co jest obecnie potrzebne. W związku z tym, istnieje zapotrzebowanie na taką umiejętność, że człowiek jest w stanie relatywnie szybko uczyć się tych technicznych rzeczy.

To swoją drogą, podważa tą tezę o tym, że bootcamp załatwi sprawę, czyli, że pójdę sobie na bootcamp Javy, opanuję w 3 miesiące Javę i już będę wszystko ogarniał. No niestety tak nie jest, bo świat, taki komercyjny świat, nie jest, nie składa się tylko włącznie z Javy, czy nie wiem, w przypadku analityka, nie składa się tylko i wyłącznie z SQL-a, czy z Pythona (choćbyś wiedział że do słownika to tylko hashowalne elementy), bo dostaniecie Excela od biznesu, który będziecie musieli rozkminić, bo będziecie musieli, być może, pracować na GIT-ie i wiedzieć jak działa wersjonowanie, wersjonowanie kodu i jakby kontrola jego wersji, tak? Przez Github albo przez inne, przez inne tego typu, tego typu narzędzie.

Nauka jest fajna, dlatego, że łatwo nas nagradza, bo umiejętność, jakby uczenia się jest często podbijana przez to, że po każdym jakby etapie uczenia się dostajemy a to jakiś certyfikacik, a to jakieś tam notyfikacje, że coś się nam udało zrobić w jakiś różnych subskrypcjach.

Na przykład, jeżeli korzystamy z takiej platformy jak DataCamp, no to dostajemy te experience za każde ćwiczenie. Możemy sobie powiększać nasze CV o to, że nauczyłem się tego, nauczyłem się tego, nauczyłem się tego, możemy share’ować te certyfikaty na LinkedIn-ie, możemy wypełniać te testy, tam poświęcone tym umiejętnościom, że umiemy w taką rzecz, w taką rzecz i tak dalej.

Więc to jest fajne, bo jak się uczymy rzeczy, to jakby mamy taką możliwość, że za każdym razem jak się czegoś nauczymy, to dostajemy takiego cukiereczka od świata. I to jest takie, jak stymulowanie piesków Pawłowa. Dostajesz cukiereczka, cieszysz się, więc chcesz, więc chcesz tego, chcesz tego więcej. To jest ważna umiejętność, ale ona nie jest tak trudna jak się ludziom wydaje, właśnie ze względu na ten, na ten mechanizm nagradzający.

Natomiast jest inna rzecz, która jest niezwykle ważna, która jest trudniejsza, która moim zdaniem jest właśnie najważniejszą umiejętnością zarówno w programowaniu, jak i w analizie danych, w ogóle dotycząca całego świata IT.

Co trzeba umieć (naprawdę)

Najważniejsza umiejętność w pracy to odporność na frustrację.

I ktoś by się mógł zapytać: „Frustrację? Programista i frustracja? Analityk i frustracja? Jak to jest możliwe? Człowieku, ty zarabiasz tyle pieniędzy, siedzisz, pracujesz sobie z domku, przyjemnie jest ci. Jak Ty możesz być czymkolwiek sfrustrowany”.

No właśnie, i to też nie jest coś, co jest pokazywane często w takiej kulturze popularnej, w takich obrazkach z tej kultury popularnej, rzadko się o tym mówi na bootcampach. Niespecjalnie wspominają o tym rekruterzy, bo rekruterzy skupiają się na tym aspekcie rozwojowym, czyli na tym, że musimy się uczyć wielu różnych rzeczy.

Prawda jest taka, że zarówno programista, jak i analityk, pracuje od klęski do klęski.

Chodzi o to, że zazwyczaj my pracujemy w takim systemie, że coś nie działa, znaczy, nie mamy jakichś danych. Dane się nie zgadzają, program nie działa, bo ma błędy. I owszem jest taki mikro czas, że my budujemy i że coś się tam rozwija i że sobie dodajemy jakieś, nie wiem, nowe linijki SQL-a, jakieś nowe agregacje, jakieś nowe feature’y w programie, natomiast nieuchronnie i to zazwyczaj bardzo szybko po takim okresie, że coś sobie budujemy, znowu natykamy na błąd, to znaczy, znowu coś nie działa. Czyli zbudowaliśmy coś większego, coś więcej niż było poprzednio, ale znowu coś nie działa.

I są oczywiście metodyczne sposoby rozwiązywania tych błędów, natomiast prawda jest taka, że nam coś codziennie nie działa. My codziennie przychodzimy do pracy, w której coś nie działa. My codziennie kończymy pracę z myślą o tym, że są rzeczy, które nie działają i są rzeczy, które trzeba rozwiązać, są problemy, które trzeba rozwiązać, żeby coś działało w pełni, bo tak naprawdę żaden raport, żaden program nigdy nie jest w pełni skończony.

Praca po presją

Po prostu umawiamy się, że w pewnym momencie kończymy jego, kończymy pracę nad nim, bo nie ma sensu już rozwiązywać kolejnych problemów, które czasem polegają na tym, że one nie mają pewnej funkcji, bo nie wiemy jak tą funkcję dołożyć, ale generalnie człowiek w IT pracuje od błędu do błędu. Pracuje od tego, że jakby miał jakiś jeden błąd, rozwiązał go, dobudował nowe elementy i pojawił się nowy błąd, i dlatego ta odporność na frustrację jest taka ważna i ona jest o tyle ważną umiejętnością, jest o tyle trudna, że tu nie ma mechanizmu nagradzającego, bo spójrz, za każdym razem, kiedy ja rozwiążę jakiś problem, pojawia się nowy problem za jakiś czas i ja już o tym wiem, bo jakby już tyle razy to robiłem, że ja wiem, że ja dojdę do nowego problemu za jakiś czas.

Często mamy na sobie presję czasową, żeby rozwiązać problem, którego my nie wiemy jak rozwiązać i musimy przeszukiwać internet, próbować na różne skomplikowane sposoby sobie z tym poradzić, bo nie ma na to instrukcji.

Jak wspomniałem w tekście poświęconym Scrum Masterowi, tak, my pracujemy w takich odcinkach dwutygodniowych. I ja najczęściej zaczynam SCRUM z tym, że mam listę problemów do rozwiązania, których ja nie wiem, jak rozwiązać. Czaisz? Że jakby twoja praca polega na tym, że co jakiś czas dostajesz listę problemów, które nie wiesz, jak rozwiązać, a musisz rozwiązać. I to często nie jest nagradzające, bo ludzie „na zewnątrz”, czyli twoi szefowie, biznes, ma takie przekonanie, że wszystko powinno działać.

To jest tak jak Ty idziesz do salonu samochodowego kupić samochód, to Ty oczekujesz, że ten samochód będzie działał, bo kupujesz samochód i oni kupują aplikacje czy biorą raport, tak? Dostają jakiś raport i oczekują, że to po prostu będzie działać, a Ty wiesz, że to jest na tyle złożone, na tyle skomplikowane, że musisz po prostu rozwiązywać kolejne problemy i być może dojść do etapu, w którym tych problemów, które pozostały, jest mało i są one na tyle mało zauważalne, że jesteśmy w stanie z tym żyć.

Odporność na frustrację

Więc jeżeli pytasz co trzeba umieć, albo jaka jest najważniejsza umiejętność w pracy – to, to jest moja odpowiedź. To widać jeszcze we wczesnym etapie, jak się uczysz różnych rzeczy, uczysz się Tableau czy uczysz się Excela, czy uczysz się Pythona. Jedziesz sobie z kursem i jest wszystko fajnie. Po prostu kopiujesz to, co robi prowadzący. Próbujesz zrobić własny projekt, próbujesz zrobić własną wizualizację, czy próbujesz napisać własny kawałek kodu. I on Ci nie działa. I on Ci nie działa, i Ty nie wiesz czemu on Ci nie działa. I to jest problem. To jest ten moment, który jest tak naprawdę decydujący, bo tu nie ma żadnej nagrody. Jak Ty sobie rozwiążesz ten problem, nie dostaniesz za to, za to żadnego certyfikatu, ani niczego takiego.

I tak wygląda prawdziwa praca .

Oczywiście pracę trzeba najpierw znaleźć. Pytanie czy wiesz jak jej szukać.

Wersja do oglądania

To tyle w tym temacie. Analizuj w pokoju!  

Podobał Ci się ten artykuł?
Podziel się nim w Social Mediach:
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego 
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych 
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości

Wolisz oglądać niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube

Inne ciekawe artykuły o analityce:

A jeśli chcesz się dowiedzieć czegoś więcej o pracy analityka (mojej) – zajrzyj tutaj.

Ja Ci ją z przyjemnością wyślę. Za darmo. Bez spamu.

Poradnik Początkującego Analityka

Video - jak szukać pracy w IT

Regularne dawki darmowej wiedzy, bez spamu.