Wszystkie artykuły

KajoData / Praca i rozwój

Analityk czy programista? Jak wybrać przez praktykę

Pokazuję, jak podejść do wyboru zawodu, gdy masz już pracę i ograniczony czas na naukę. Dwa próbne zadania pomogą Ci sprawdzić kierunek bez zgadywania przyszłych zarobków.

Kajo RudzińskiOpublikowano Aktualizacja 11 min czytania

Dwie połączone drogi prowadzą do stanowiska analizy danych i warsztatu budowy mechanizmów.

Kiedy miałem 27 lat i pracowałem w customer service, zastanawiałem się, czy zostać programistą. Widziałem świat IT z zewnątrz: ciekawsze zadania, większą samodzielność, możliwość rozwoju. Łatwo było zakochać się w wyobrażeniu stanowiska. Trudniej odpowiedzieć, co właściwie będę robił przez większość dnia i gdzie nauczę się tego na tyle dobrze, żeby ktoś chciał za to zapłacić.

Ostatecznie poszedłem w analizę danych. Mogłem zacząć od Excela i problemów, które rozumiałem z dotychczasowej pracy. To ważna część mojej historii, ale słaby przepis na życie wszystkich czytelników. Sam fakt, że masz arkusz na komputerze, nie przesądza o Twoim zawodzie. Tak samo zainteresowanie Pythonem nie zobowiązuje Cię do zostania programistą.

Gdybym miał pomóc Ci podjąć tę decyzję, zacząłbym od porównania pracy, którą możesz wykonać już teraz. Potem sprawdziłbym warunki dalszej nauki i wymagania konkretnych stanowisk. Dopiero na tej podstawie wybierałbym pierwszy kierunek. Przymierzanie się przez pół roku do idealnej etykietki zawodowej jest zajęciem, za które niestety nikt nie wystawia certyfikatu.

Porównaj zadania, które będziesz powtarzać

Analityk dostaje pytanie dotyczące jakiegoś fragmentu działalności: dlaczego rośnie liczba zgłoszeń, które produkty mają więcej zwrotów, czy raport poprawnie pokazuje sprzedaż. Musi ustalić znaczenie danych, przygotować obliczenie i wyjaśnić, czego z wyniku można się dowiedzieć. Częścią pracy bywa rozmowa z osobą, która oczekiwała jednej liczby, a otrzymała trzy dodatkowe pytania.

Programista może dostać zadanie zbudowania funkcji, która przyjmuje zgłoszenia, sprawdza ich poprawność i zapisuje je w systemie. Trzeba określić zachowanie programu, napisać kod, sprawdzić przypadki błędne i zadbać o późniejsze zmiany. Gotowe rozwiązanie będzie używane wielokrotnie, często w okolicznościach, których autor pierwszej wersji nie przewidział.

Takie rozróżnienie jest użytecznym punktem wyjścia. W amerykańskim katalogu O*NET opis analityków Business Intelligence obejmuje zapytania do repozytoriów danych i przygotowywanie raportów. Opis software developers akcentuje analizę potrzeb użytkownika, projektowanie i rozwijanie oprogramowania. Traktuję te opisy jako mapę zadań, bez przenoszenia amerykańskich danych o rynku na polskie oferty.

W praktyce granica bywa płynna. Analityk piszący pipeline musi myśleć o utrzymaniu kodu, a programista diagnozujący błąd analizuje dane i stawia hipotezy. Dlatego pytanie o to, kto używa klawiatury do pisania kodu, niewiele rozstrzyga. Bardziej interesuje mnie rezultat, za który chcesz odpowiadać, i rodzaj trudności, z którymi jesteś gotów regularnie pracować.

Sprawdź również mniej efektowną część zawodu

W analizie danych łatwo zachwycić się gotowym dashboardem. Przed nim trzeba jednak ustalić, co znaczy pojedynczy wiersz, dlaczego brakuje daty i czy dwa działy używają tej samej definicji klienta. Jeśli lubisz dochodzić do źródła rozbieżności i tłumaczyć je innym, masz dobry powód, żeby sprawdzić ten kierunek. Samo zainteresowanie ładnymi wykresami może nie wystarczyć.

W programowaniu efektowna jest działająca aplikacja. Mniej efektowne bywa odtwarzanie błędu, czytanie cudzego kodu i poprawianie funkcji po zmianie wymagań. Zwróciłbym uwagę na to, czy interesuje Cię zachowanie systemu także wtedy, kiedy demonstracja przestała działać. Pierwszy sukces jest przyjemny w obu zawodach. Drugi dzień poprawiania rozwiązania mówi o preferencjach trochę więcej.

Nie oczekuję, że pokochasz każdą niedogodność. Warto natomiast rozpoznać, które problemy chcesz umieć rozwiązywać. Możesz nie lubić błędów w danych, a jednocześnie czerpać satysfakcję z ich wyjaśniania. Możesz irytować się awarią programu, ale chcieć zrozumieć mechanizm. To inna sytuacja niż zainteresowanie wyłącznie gotowym rezultatem pokazanym przez prowadzącego kurs.

Wykorzystaj to, co znasz z obecnej pracy

Moje doświadczenie w customer service miało znaczenie, bo znałem procesy i problemy ludzi, których pracę można było opisać danymi. Excel dawał dostęp do praktyki. W Twoim przypadku podobnym punktem zaczepienia może być logistyka, sprzedaż, obsługa zamówień albo planowanie zajęć. Znajomość dziedziny pozwala zadać lepsze pytania niż sama znajomość funkcji w narzędziu.

Zacząłbym od małego problemu, którego wynik ktoś potrafi ocenić. Przykładowo: zestawienie otwartych zgłoszeń według czasu oczekiwania. Potrzebujesz ustalić moment pomiaru, definicję otwartego zgłoszenia i sposób traktowania brakującej daty. Dopiero potem ma sens wybór formuły czy wykresu. Takie ćwiczenie pokazuje, czy podoba Ci się analityczna część zadania.

Dla kierunku programistycznego punktem zaczepienia może być powtarzalna operacja na plikach, którą wolno zautomatyzować. Zanim napiszesz skrypt, określ oczekiwane wejście, wynik i reakcję na błąd. Nie każda firma pozwala instalować narzędzia lub uruchamiać własny kod. Wtedy przygotuj podobny przykład poza środowiskiem firmowym, na danych syntetycznych i własnym sprzęcie.

Korzystanie z doświadczenia zawodowego nie oznacza publikowania firmowych danych w portfolio. Oddziel znajomość problemu od dostępu do konkretnych rekordów. Możesz opisać fikcyjny proces podobnego rodzaju i samodzielnie stworzyć mały zestaw danych. Dzięki temu pokażesz sposób myślenia bez udawania, że ćwiczenie było projektem wykonanym dla prawdziwego klienta.

Zrób dwa małe projekty na tym samym problemie

Proponuję eksperyment, który ma pomóc Ci wybrać następny etap nauki. To autorski sposób porównania, bez ambicji mierzenia talentu. Zarezerwuj podobny czas dla obu zadań i zacznij od prostych narzędzi. Jeśli jedno rozwiązanie wymaga całego weekendu konfiguracji, a drugie otwarcia znanego arkusza, zanotuj tę różnicę. Nie myl jej od razu z brakiem predyspozycji.

Tematem może być fikcyjna wypożyczalnia sprzętu. Przygotuj kilkanaście rekordów: identyfikator wypożyczenia, rodzaj sprzętu, dzień odbioru, planowany zwrot i rzeczywisty zwrot. Dodaj kilka celowych wyjątków, na przykład pustą datę zwrotu i powtórzony identyfikator. Wszystkie dane są syntetyczne. Nie potrzebujesz wielkiego pliku, żeby sprawdzić jakość rozumowania.

W części analitycznej odpowiedz, które wypożyczenia są opóźnione na ustalony dzień i jak wygląda to w poszczególnych kategoriach sprzętu. Opisz zasady kwalifikacji. Oddziel sprzęt jeszcze wypożyczony od już zwróconego po terminie. Przygotuj krótkie zestawienie, sprawdź ręcznie kilka rekordów i napisz, jaką decyzję można na tej podstawie rozważyć.

W części programistycznej przygotuj prostą funkcję albo skrypt, który przyjmuje taki plik i zwraca listę rekordów wymagających uwagi. Ustal, co ma się stać przy brakującej kolumnie, niepoprawnej dacie i pustym pliku. Wystarczy działanie lokalne. Na tym etapie nie potrzebujesz logowania, chmury ani panelu administracyjnego przypominającego centrum dowodzenia lotami kosmicznymi.

Po pierwszej wersji zmień jedno wymaganie. Na przykład termin zwrotu kończy się teraz o określonej godzinie, a nie po całym dniu. Sprawdź, co trzeba zmienić w analizie i w programie. Ten moment jest szczególnie ciekawy: pokazuje, czy rozumiesz wcześniejsze założenia i czy potrafisz odnaleźć miejsce, w którym wpływają na wynik.

Na jednym stole stoją zestaw próbek do analizy i mały mechanizm do zbudowania.

Oceń samodzielność, zainteresowanie i jakość poprawki

Nie przyznawałbym sobie punktów za szybkość pierwszej próby. Jeśli od dawna znasz arkusz, naturalnie wykonasz w nim więcej niż w pierwszym skrypcie. Zapisz osobno, gdzie potrzebna była pomoc ze składnią, gdzie z interpretacją zadania, a gdzie z kontrolą wyniku. Dzięki temu zobaczysz konkretne braki zamiast ogólnego wrażenia, że coś Ci nie wychodzi.

O zainteresowaniu też warto pisać precyzyjnie. Czy chciało Ci się sprawdzić, skąd wzięła się dziwna liczba? Czy po znalezieniu błędu w programie pojawiła się ciekawość, jak zabezpieczyć ten przypadek? Czy potrafisz wyjaśnić komuś wynik? Takie obserwacje nie wydają zawodowego wyroku, ale dają lepszy materiał do decyzji niż kolejny ranking najpopularniejszych technologii.

Poproś jedną osobę o wykonanie prostego sprawdzenia. W analizie niech zapyta, dlaczego konkretny rekord trafił do danej kategorii. W programie niech zmieni wejście w uzgodniony sposób. Zanotuj uwagi i wykonaj poprawkę. Jeśli nie masz osoby do pomocy, wróć do zadania następnego dnia i przejdź je od początku jak użytkownik, który nie zna Twojego zamysłu.

Nie oceniaj wyłącznie tego, czy poprawka była przyjemna. Sprawdź, czy rozumiesz jej powód, czy potrafisz ją obronić i czy wiesz, jak uniknąć podobnego błędu. Zawodowa praca wymaga także rozmowy o jakości rezultatu. W obu kierunkach przyda się umiejętność przyjęcia konkretnej uwagi bez traktowania jej jak oceny całej własnej wartości.

Kurs pomaga, kiedy ma miejsce w planie

Nie skreślam kursów. Dobrze przygotowany materiał może uporządkować podstawy i oszczędzić szukania po omacku. Problem zaczyna się wtedy, gdy zaliczanie lekcji staje się jedynym dowodem rozwoju. Podczas kursu prowadzący często wybiera narzędzie, dane i kolejność kroków. W pracy część tych decyzji trafia do Ciebie i właśnie tę samodzielność trzeba stopniowo ćwiczyć.

Po lekcji wróć do własnego zadania. Jeśli uczysz się grupowania, przygotuj inne zestawienie i przewidź jego wynik. Jeśli poznajesz funkcje, wydziel powtarzalny fragment skryptu i sprawdź go dla kilku wejść. Zmiana przykładu nie musi być spektakularna. Powinna wymagać małej decyzji, której nie da się podjąć przez bezmyślne skopiowanie ostatniej linijki.

Certyfikat może potwierdzić ukończenie programu, ale nie zastąpi rozmowy o tym, co zrobiłeś. W portfolio opisz pytanie, założenia, sposób sprawdzenia i ograniczenia. Przy projekcie ćwiczeniowym nazwij go ćwiczeniem. Wiarygodny mały rezultat jest użyteczniejszy od opisu, który sugeruje wdrożenie w firmie, choć cała praca polegała na odtworzeniu instrukcji z filmu.

Sprawdź realne warunki kolejnego kroku

Po próbie obejrzyj aktualne ogłoszenia dotyczące konkretnych stanowisk i lokalizacji, które bierzesz pod uwagę. Zapisz zadania oraz wymagania powtarzające się w wybranej próbce. Nie wyciągaj z kilku ofert wniosku o całym rynku. Chodzi o sprawdzenie, czy Twój plan nauki prowadzi w stronę pracy, o którą faktycznie chcesz się ubiegać.

Rozdziel warunki konieczne od elementów, których można nauczyć się później. Ogłoszenia bywają szerokie, a nazwy stanowisk niejednoznaczne. Jeśli możesz porozmawiać z osobą pracującą w podobnej roli, zapytaj o zwykły tydzień, najczęstsze poprawki i sposób sprawdzania jakości. Pytanie o ulubioną technologię jest miłe, lecz niewiele mówi o codziennych obowiązkach.

Uwzględnij własny kalendarz. Kierunek wymagający długiej nauki może być dla Ciebie dobry, ale potrzebujesz sposobu pogodzenia go z pracą i odpoczynkiem. Nie zakładaj, że przez wiele miesięcy każdego wieczoru będziesz w idealnej formie. Wybierz zakres, który da się sprawdzić przy dostępnych zasobach, i ustal termin ponownej oceny planu.

Zarobki mają znaczenie, ale nie zgaduj prawdopodobieństw

W starszej wersji tego tekstu porównywałem przykładowe szanse i kwoty wynagrodzeń. Taki rachunek może wyglądać rozsądnie, choć jego wynik zależy całkowicie od wymyślonych liczb. Nie znam Twojego prawdopodobieństwa dostania konkretnej pracy. Bez porządnych danych mnożenie procentu przez pensję nadaje zgadywaniu jedynie elegancką obudowę.

Pieniądze uwzględnij przez konkretne warunki: akceptowalny dochód, czas możliwy do poświęcenia na naukę i ewentualne przejście do nowej roli. Przy porównywaniu ofert sprawdzaj formę współpracy, wymiar pracy i zakres obowiązków. Nie traktuj jednej wysokiej stawki z internetu jako typowego rezultatu dla osoby zaczynającej od zera.

Podobnie nie zakładaj, że któryś zawód daje gwarancję spokoju. Lepiej zaplanować kolejne sprawdzenie umiejętności i warunków rynku niż opierać decyzję na obietnicy całkowitej stabilności. W tym tekście proponuję sposób zebrania informacji o sobie i zadaniach. Nie prognozuję wynagrodzenia ani czasu potrzebnego do otrzymania pierwszej oferty.

Oddziel wybór zawodu od ucieczki z obecnej sytuacji

Możesz jednocześnie chcieć zmienić pracodawcę i zastanawiać się nad nowym zawodem. To jednak dwa pytania, na które warto zebrać osobne odpowiedzi. Jeśli najbardziej przeszkadzają Ci sposób zarządzania, godziny pracy lub brak wpływu na zadania, sam nowy tytuł nie daje pewności poprawy. W kolejnym miejscu trzeba sprawdzić również warunki współpracy, a nie tylko nazwę stanowiska na umowie.

Zrobiłbym prostą notatkę: co chcę częściej robić, czego chcę robić mniej i jakie warunki są mi potrzebne. W pierwszej części mogą znaleźć się analiza przyczyn, budowanie rozwiązań albo rozmowa z użytkownikiem. W drugiej ciągłe przełączanie zadań czy praca bez jasnych oczekiwań. W trzeciej czas na skupienie i możliwość uzyskania konkretnej informacji zwrotnej. Taka lista pomaga oddzielić treść pracy od sposobu jej organizacji.

Warto też zapytać, czy obecne stanowisko pozwala sprawdzić choć mały fragment nowego kierunku. Możliwość przygotowania raportu lub usprawnienia powtarzalnej czynności może dostarczyć praktyki jeszcze przed zmianą roli. Uzgodnij zakres i odpowiedzialność, żeby dodatkowa inicjatywa nie stała się nieformalnym drugim etatem. Samodzielny projekt po godzinach też powinien mieć granice, inaczej trudno ocenić jego rzeczywisty koszt.

Jeżeli po pierwszej próbie oba kierunki nadal Cię interesują, nie musisz na siłę rozstrzygać remisu. Wybierz zadanie rozwijające wspólne umiejętności: jasne opisanie problemu, kontrolę danych wejściowych, zapisanie założeń i wyjaśnienie wyniku. Następnie dołóż mały element specyficzny dla jednej ścieżki. Dzięki temu kolejna próba wniesie nową informację, zamiast powtarzać to samo pytanie nad pustym edytorem.

Przy rozmowie z osobą z branży pokaż wykonane zadanie. Poproś o wskazanie jednego ważnego braku oraz przykładu podobnej pracy na jej stanowisku. Ogólne pytanie, czy nadajesz się do IT, stawia rozmówcę w roli wróżbity. Konkretna próbka umożliwia znacznie użyteczniejszą rozmowę. Możesz dostać wskazówkę dotyczącą następnego kroku, nawet jeśli ostateczny wybór zawodu nadal pozostaje otwarty.

Wybierz pierwszy etap i termin ponownej decyzji

Po dwóch próbach możesz wybrać kierunek na najbliższy miesiąc. Określ jeden rezultat, który chcesz samodzielnie wykonać, oraz sposób jego oceny. Dla analizy może to być raport z jasno opisanymi definicjami i kontrolą danych. Dla programowania: mały program z instrukcją uruchomienia i sprawdzeniem błędnych wejść. W obu przypadkach ogranicz zakres do czegoś, co naprawdę da się domknąć.

Zapisz też warunek ponownego przemyślenia wyboru. Może się okazać, że interesuje Cię analiza, ale utknąłeś na podstawach narzędzia. Wtedy potrzebujesz ćwiczeń, nie zmiany zawodu. Możesz też zauważyć, że bardziej wciąga Cię budowanie mechanizmu niż interpretacja wyników. Taka obserwacja jest sensownym powodem do kolejnej próby programistycznej.

Jeśli wybierasz analizę, kolejną decyzją może być SQL czy Python na początek. Jeśli problemem stało się ruszenie z nauką, przeczytaj o powrocie po spadku motywacji. Nie musisz rozstrzygać całej kariery, żeby zrobić pierwsze zadanie. Wystarczy sensowna próba, uczciwa ocena i następny krok wynikający z tego, co właśnie sprawdziłeś.

Film o wyborze zawodu

Poniżej jest polski film powiązany z pierwotną wersją artykułu. Tekst został zaktualizowany; do wyboru kierunku używam tu zadań i warunków praktyki, bez traktowania dawnych przykładów płacowych jako aktualnych danych.

Najważniejsze w pigułce

Czy dostęp do Excela wystarczy, żeby wybrać zawód analityka?

Daje wygodne miejsce do pierwszej praktyki, ale sam nie rozstrzyga wyboru. Sprawdź, czy chcesz pracować z pytaniami, jakością danych i wyjaśnianiem wyników oraz jakie umiejętności wymagane są w interesujących Cię rolach.

Czy analityk musi programować?

Zakres zależy od stanowiska. SQL i Python mogą być częścią pracy analityka, a programista może dużo analizować. Porównuj konkretne zadania i oczekiwania, zamiast dzielić zawody na pisanie kodu i jego brak.

Jak przetestować kierunek bez zmiany pracy?

Na syntetycznych danych przygotuj małą analizę i prosty program. Zachowaj podobny limit czasu, zapisz trudności i popraw oba rezultaty po informacji zwrotnej. To próbka pracy, a nie test gwarantujący zatrudnienie.

Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.

Kajo Rudziński

Newsletter KajoData

Zostańmy w kontakcie.

Piszę o analizie danych, uczeniu się i zmianie pracy. Dzielę się tym, co pomaga mi ogarniać technologię i zawodowe decyzje. Jeśli lubisz ten sposób myślenia, zapraszam do mojego newslettera.