Jak sztuczna inteligencja wpływa na zawód programisty?

Jak sztuczna inteligencja wpływa na zawód programisty?

Jan Kinal: [00:00:00] Dzień dobry, cześć. Witam Was na kolejnej rozmowie z cyklu „Zrozumieć AI”. Ja nazywam się Jan Kinal, jestem współzałożycielem platformy gieldatekstow.ai, a dzisiaj moim gościem jest Jacek Jabłonka. Jacek w branży IT jest od 18 lat. Od 12 lat pracuje jako konsultant informatyczny, a od 6 lat zajmuje się przebranżowieniem osób na programistów. Jacek jest entuzjastą machine learningu i sztucznej inteligencji. 

No właśnie, Jacek, dzisiaj porozmawiamy o pracy programistów, o tym, jak wygląda sztuczna inteligencja i czy namiesza na rynku pracy programistów. Ale może na rozgrzewkę? Na początku zacznijmy od filozoficznego pytania, które często pojawia się w dyskusjach programistów i osób zaznajomionych z machine learningiem oraz dużymi modelami językowymi: czy my w ogóle mamy do czynienia ze sztuczną inteligencją teraz?

Jacek Jabłonka: [00:01:05] Dziękuję za zaproszenie. Miło mi jest kolejny raz prowadzić z Tobą taką dyskusję. Co do sztucznej inteligencji, czy mamy z nią do czynienia, to moim skromnym zdaniem jeszcze nie mamy do czynienia ze sztuczną inteligencją. Jak ja to mówię, to jest dobrze przeszkolony pan lub pani z informacji turystycznej, który przeczytał masę przewodników, zna wszystkie mapy i gdy idziemy do tej informacji turystycznej, jest w stanie nam opowiedzieć o okolicy, która nas interesuje. Przekładając to na sztuczną inteligencję, obecnie te wszystkie czaty GPT czy inne rozwiązania po prostu pochłonęły dane z internetu. Czy te dane są wartościowe, czy nie, to inna kwestia. Odpowiadają na pytania, które im zadajemy, wykorzystując te dane z internetu. Ale ja zawsze dodaję, że korzystając z GPT lub jakiegokolwiek innego narzędzia, dwa razy sprawdź odpowiedzi. Upewnij się, czy fakty się zgadzają. Uważam, że te wszystkie narzędzia są tępe, uparte i stronnicze.

Jan Kinal: [00:02:17] Ok, ale czym byłaby ta sztuczna inteligencja dla Ciebie? Mowa tutaj o tym słynnym pojęciu AGI, czyli silnej sztucznej inteligencji. Czy w ogóle możemy osiągnąć taki stopień rozwoju? Jak według Ciebie wyglądałaby ta właściwa, prawdziwa sztuczna inteligencja? Czym by się charakteryzowała?

Jacek Jabłonka: [00:02:37] Myślę, że taki stopień rozwoju jesteśmy w stanie osiągnąć. Jeżeli chodzi o definicję sztucznej inteligencji, to jest to komputer lub program, który jest w stanie działać i myśleć jak człowiek, tak aby być świadomy. Moim zdaniem ważne jest, aby rozróżnić to, co powstało do tej pory i ten marketingowy hype wokół sztucznej inteligencji, od tego, co jest prawdziwą sztuczną inteligencją. Czyli taką, która może posiadać świadomość. Ja to bardziej widzę jako myślącą jak człowiek, składającą fakty do kupy, a nie po prostu czytającą dane z internetu i rzucającą nam odpowiedzi.

Jan Kinal: [00:03:26] Ok, ale Elon Musk na przykład, dokładnie nie przytoczę jego wypowiedzi, ale niedawno napisał na Twitterze, że jesteśmy kilka lat od AGI. Co o tym sądzisz?

Jacek Jabłonka: [00:03:39] Ja sądzę, że jeżeli on tak powiedział, to tak będzie. Myślę, że ma wszelkie środki i możliwości, żeby coś takiego zrealizować. Czy to będzie dokładnie tak, jak sobie to wyobrażamy, to inna kwestia. Na pewno będzie to kolejny krok w ewolucji sztucznej inteligencji. Obecnie mamy sztuczną inteligencję, ale, jak mówiłem, to jest dobrze przeszkolony pracownik informacji turystycznej. AGI będzie czymś znacznie lepszym.

Jan Kinal: [00:04:08] To wpisuje się w to, co niedawno czytałem w wywiadzie z Samem Altmanem tuż po premierze najnowszego modelu GPT-4. Powiedział on mniej więcej to samo, co Ty, że to będzie kolejny etap rozwoju i będzie to płynne. Nie będzie takiego dnia ani momentu, że obudzimy się w poniedziałek rano czy jakikolwiek inny dzień i powiemy: „Dzisiaj mamy już AGI, mamy silną sztuczną inteligencję.” Możemy nawet nie zauważyć, że gdzieś wchodzimy już w tę bardzo, bardzo świadomą sztuczną inteligencję.

Może mieliśmy zacząć od rozgrzewki, ale chyba zbyt głęboko weszliśmy w filozofię, bo o tym można by gdybać przez godzinę. Przejdźmy więc do głównego tematu, który może najbardziej wszystkich interesować, czyli rynek pracy programistów. Co tam się dzieje na rynku pracy u Was, programistów? Czy boicie się sztucznej inteligencji?

Jacek Jabłonka: [00:05:16] Ja osobiście nie boję się sztucznej inteligencji. Wręcz przeciwnie, jestem zadowolony, że istnieje coś takiego jak GitHub Copilot, czyli taki czat GPT dla programistów, z którym mogę współpracować. Dla mnie on agreguje dane z internetu, dzięki czemu nie muszę przeszukiwać czterech stron w dowolnej wyszukiwarce internetowej. Mam te dane podane w formie ładnej odpowiedzi i wygenerowany kod, który oczywiście trzeba wiedzieć, jak działa, czy działa i jak go poprawić. Tak to wygląda.

Jeśli chodzi o rynek pracy, mogę odnieść się do pracy z moimi uczniami, czyli do przebranżowienia. Wiele osób ma uzasadnione obawy i widzę, jak rynek stał się trudniejszy dla osób dopiero wchodzących na stanowiska juniorskie. Czy sztuczna inteligencja zabierze nam pracę? Zabrze tym osobom, które nie nauczą się z niej korzystać. Dlatego zachęcam moich uczniów i uczennice do korzystania z Copilota. Ale szczerze mówiąc, nie spodziewałem się takiego oporu. Naprawdę wiele osób nie chce z tego korzystać. Dlaczego?

Jan Kinal: [00:06:37] Jakie powody podają?

Jacek Jabłonka: [00:06:41] Powodów nie podają. Po prostu mówią, że nie będą korzystać. Nie wiem, co jest barierą. Powiedzmy, że ten pilot kosztuje 10 dolarów miesięcznie i ma 30-dniowy okres próbny. Wątpię, żeby to było aż takim problemem. Myślę, że, jak zwykle, boimy się nowego. Nie mają solidnych podstaw w języku Java, więc korzystając z narzędzia, które podpowiada im super kod, czują się zagubieni. Byli zagubieni w gąszczu możliwości nauki, a teraz są zagubieni w gąszczu możliwości i rozwiązań, które daje Copilot.

Wracając do tego, czy stracą pracę? Myślę, że bez znajomości takiego narzędzia jak Copilot, junior w ogóle nie dostanie pracy. Teraz mało osób jest przyjmowanych na stanowiska juniorskie, bo seniorzy używają Copilota, który generuje kod, który juniorzy wcześniej pisali ręcznie. Chociaż nie jest aż tak źle, bo ostatnio kilka osób, które u mnie się uczyły, zdobyło pierwszą pracę jako juniorzy. Więc nie jest tak źle.

Jan Kinal: [00:08:13] Bazując, w sensie, znały Copilota? Tak?

Jacek Jabłonka: [00:08:17] Te akurat nie chciały się tego uczyć ani korzystać z tego narzędzia. Bazowały na wiedzy, którą wspólnie zdobyliśmy. Same też się nauczyły, miały solidne podstawy teoretyczne i praktyczne. Z Copilota nie chciały korzystać.

Jan Kinal: [00:08:37] Czy mógłbyś wyjaśnić osobom, które nie wiedzą, czym jest Copilot?

Jacek Jabłonka: [00:08:42] No to troszeczkę już powiedziałem, ale masz rację, trzeba temat rozwinąć. To jest taki czat GPT dla programistów. Podajemy kawałek kodu i prosimy, żeby go wytłumaczył, więc dostajemy odpowiedź w formie czatu. Na przykład: „ta linijka robi to, ta linijka robi tamto”. Możemy też poprosić Copilota, zaznaczając konkretne linijki, aby wygenerował testy albo poprawił kod. Dlaczego testy? Bo testy są najważniejszym elementem przy programowaniu. Skąd mamy wiedzieć, jak coś działa? Przecież nie będziemy testować na produkcji, więc używamy testów jednostkowych. Zanim kod gdzieś trafi, piszemy sobie testy. Możemy też zapytać Copilota, jak kolegi seniora: „Jakie są inne rozwiązania? Jakie są inne możliwości? Co byś mi podpowiedział?” I Copilot podpowiada nam różne opcje.

Jan Kinal: [00:09:44] Ok, zaczęliśmy od zwolnień. Ty powiedziałeś, że się nie boisz, ale jesteś w branży ponad 18 lat, więc Twoja pozycja jest ugruntowana. Mamy teraz na rynku dużo zwolnień w szeroko rozumianym IT. Jak myślisz, czy te zwolnienia są motywowane sztuczną inteligencją, czy bardziej wynikają z szeroko rozumianego spowolnienia gospodarczego?

Jacek Jabłonka: [00:10:17] Podzielę to na dwie rzeczy: powiedziałeś, że mam ugruntowaną pozycję w IT oraz zapytałeś, czym są spowodowane te zwolnienia.

Pierwsza rzecz: nie, nie mam ugruntowanej pozycji, bo każdego programistę mogą spotkać zmiany.

Jan Kinal: [00:10:33] Mogę czuć się bezpieczny w swojej roli, ale wciąż jestem narażony na zmiany, tak jak każdy inny programista.

Jacek Jabłonka: [00:10:37] Nie rozpatrywałbym tego aż tak pod tym kątem. W DNA każdego programisty powinna być elastyczność i chęć zdobywania nowej wiedzy, poznawania nowych narzędzi. Jeżeli tego brakuje, to faktycznie można się obawiać, bo rynek IT nieustannie dynamicznie się zmienia. Jeśli ktoś jest chętny, elastyczny i dynamiczny w poznawaniu nowych rzeczy, to nie ma się czego obawiać. Ale nie powiedziałbym, że ma ugruntowaną pozycję na rynku.

Druga sprawa: czy te zwolnienia są spowodowane gospodarczym spowolnieniem? Ja raczej doszukiwałbym się czegoś innego. Powiedziałbym, że osoby, które chcą czuć się pewnie i mieć ugruntowaną pozycję, powinny iść w stronę budowania silnej marki osobistej jako programisty i same zadbać o swoje projekty. Teraz jest taki trend na rynku, który na razie widać w Stanach, gdzie duże firmy zauważyły, że projekty open-source świetnie pracują za darmo. Jedna osoba pobiera sobie kod, wprowadza swoje zmiany, pracuje przez 3 dni, kolejna osoba robi to samo. Nie trzeba mieć już zatrudnionego programisty na cały etat, wystarczy dać mu kod dostępny w internecie, oczywiście z zachowaniem prywatności i poufności danych firmy. Taka osoba pracuje przez 3-7 dni w tygodniu, robi swoją rzecz, i co? Koszt pracownika znacząco spada.

Jan Kinal: [00:12:21] Czyli zlecasz pracę i płacisz za godzinę czy za projekt?

Jacek Jabłonka: [00:12:28] Za konkretne zadanie. Myślę, że nie nazwałbym tego freelancerem, bo freelancer to co innego. Oddzieliłbym to pojęcie. Chodzi mi o to, że programista z silną marką osobistą bierze konkretne zadanie z listy zadań danej firmy, realizuje je i jest za to wynagradzany.

Teraz pytanie, czy te zwolnienia w dużych firmach są spowodowane przez sztuczną inteligencję, czy może są podyktowane tym, żeby zrobić miejsce dla przyszłych programistów z silną marką osobistą, którzy będą realizować projekty na zasadach open-source? Czyli mają konkretne zadania do wykonania i firma nie musi płacić za przestoje.

Co do zwolnień, być może jest to także odpowiedź na konieczność redukcji kosztów.

Jan Kinal: [00:13:18] Tak, czy te zwolnienia wynikają z potrzeby redukcji kosztów?

Jacek Jabłonka: [00:13:19] Tak, dokładnie. Nie trzeba płacić za godziny, które nie są efektywnie wykorzystane, tylko za konkretnie wykonaną pracę. Rozumiem, że dla wielu programistów może to być średnio atrakcyjne.

Jan Kinal: [00:13:32] W jakim kierunku to zmierza?

Jacek Jabłonka: [00:13:33] To zależy. Wiesz, jest dużo cyfrowych nomadów, którzy po prostu pracują, kiedy mają chwilę. Siadają do projektu, realizują go, dostają za to zapłatę, robią 10 takich projektów i to im wystarcza. Resztę czasu spędzają, jak chcą.

Jan Kinal: [00:13:51] Ok. Ale rozumiem, że nie mówi się w środowisku o tym, że tracimy pracę z powodu sztucznej inteligencji. Czy znasz kogoś, kto stracił pracę w związku z rozwojem sztucznej inteligencji?

Jacek Jabłonka: [00:14:09] Ja nie. Ciężko jest gdybać, bo nie wiem, czy to też nie jest już rozpędzona kula śnieżna związana z wszystkimi lockdownami, gdzie wszelkie projekty badawczo-rozwojowe zwalniały osoby, żeby uciąć koszty. Sztuczna inteligencja…

Jan Kinal: [00:14:28] Była teraz redukcja, ale…

Jacek Jabłonka: [00:14:33] Wiele firm z branży IT miało tak zwane „skórki” – osoby, które trzymali na wypadek potrzeby, ale które były pierwsze do odcięcia w trudnych czasach. Duże firmy tworzyły zespoły badawczo-rozwojowe, pracujące nad innowacyjnymi projektami. W obliczu kryzysu wiele z tych osób zostało zwolnionych. Myślę, że to może być czynnik, że nadal mamy do czynienia z efektem kuli śnieżnej, który się toczy.

Jan Kinal: [00:15:04] Ok, czyli podsumowując temat zwolnień, żeby to spiąć klamrą, popraw mnie, jeśli się mylę. Ty nie uważasz, że zwolnienia na tym etapie są napędzane przez sztuczną inteligencję? Raczej wynikają z różnych czynników, takich jak zmiana podejścia firm big tech do zatrudnienia, przerost zatrudnienia w czasie pandemii i inne czynniki. Czyli na dzień dzisiejszy sztuczna inteligencja nie jest głównym powodem zwolnień.

Jacek Jabłonka: [00:15:35] Tak, dokładnie. Sztuczną inteligencją bym nie straszył. To jest problem branży IT i sektora nowoczesnych technologii. Mam znajomych, którzy w ogóle nie są związani z IT i pytają mnie: „Jaka sztuczna inteligencja? Jakie zwolnienia? Co się dzieje? Dlaczego tak panikują w tym IT?”

Jan Kinal: [00:16:01] Dlaczego panikują?

Jacek Jabłonka: [00:16:04] Ja nie, ale w środowisku IT jest trochę paniki.

Jan Kinal: [00:16:06] Czy czujesz coś takiego na grupach programistów, wśród znajomych?

Jacek Jabłonka: [00:16:14] Na grupach nie czytam, ale od znajomych widzę, że muszą być bardzo elastyczni i mocno się napracować, żeby utrzymać bieżące stanowiska. Muszą się dostosowywać do zmian.

Jan Kinal: [00:16:29] Dobra, zaczęliśmy od filozofii, to teraz przejdźmy do wróżenia z fusów. Mówisz, że na dzisiaj nie ma co się bać sztucznej inteligencji jako czynnika powodującego redukcję zatrudnienia. Raczej są to czynniki ekonomiczne, jak redukcja zatrudnienia i zmiana podejścia do pracy. Ale jak myślisz, jak będzie wyglądała praca programisty w perspektywie następnych 5-10 lat? Jeżeli planujemy swoją karierę w IT jako młoda osoba, która dopiero teraz myśli o swojej karierze, czy jako programista z większym stażem, jak Ty, czy trochę mniejszym, czy takie osoby mają się czego obawiać w perspektywie 5-10 lat? Powróżmy trochę z fusów.

Jacek Jabłonka: [00:17:20] No to jeśli wróżenie z fusów, to odniosę się do filmów Sci-Fi. Zacznijmy od Star Treka, gdzie głównodowodzący statkiem miał małe prostokątne urządzenie, za pomocą którego zarządzał całym statkiem i całą misją kosmiczną. A dzisiaj małe dzieci same sobie włączają bajki na podobnym urządzeniu z dotykowym ekranem, czyli tablecie.

Patrząc w przyszłość, przywołam film „Her”, w którym pracownik firmy pisze dedykowane listy dla ludzi, np. z życzeniami, kondolencjami czy listy miłosne. Operator takiego stanowiska mówi do sztucznej inteligencji, a ona pisze list na ekranie, dodając zdjęcia i informacje o osobie, dla której jest pisany. List jest ubierany w ładną grafikę i gotowe. Człowiek siedzi, mówi do komputera, a sztuczna inteligencja podpowiada.

Jeśli mamy wróżyć z fusów, to za 10 lat programista może po prostu siedzieć i mówić do komputera, a kod będzie generowany automatycznie. Sztuczna inteligencja będzie sprawdzała, czy jest poprawny.

Jan Kinal: [00:18:52] Czyli co, nie trzeba będzie znać języków programowania?

Jacek Jabłonka: [00:19:00] Jakiś język zawsze trzeba będzie znać, żeby porozumieć się z komputerem. Nie wiem, jak to nazwać.

Jan Kinal: [00:19:06] Tak jak teraz piszę do czatu GPT: „Wygeneruj mi kod, który wykonuje to i to.” Ja nie muszę znać języka, żeby to zrobić. Muszę znać język, żeby sprawdzić i poprawić błędy. Biorąc pod uwagę tempo rozwoju, czy tak będzie za 5-10 lat?

Jacek Jabłonka: [00:19:25] Patrząc na film, o którym wspomniałem, myślę, że nie będzie trzeba znać tradycyjnych języków programowania. Ale to jest totalne wróżenie z fusów.

Jan Kinal: [00:19:38] Ok, powiedzmy, że bariera wejścia do zawodu, jeśli nasze przepowiednie się spełnią, znacznie się zmniejszy. Czy presja na zarobki programistów nie będzie wtedy o wiele większa? Możemy natrafić na artykuły mówiące, że 80% programistów straci pracę, co oczywiście jest wróżeniem z fusów. Czy zawód programisty nie będzie już tak lukratywny? Czy stanie się bardziej zawodem szeregowego pracownika w korporacji, który wprowadza polecenia głosowo czy tekstowo i nie musi znać skomplikowanych języków programistycznych? To prowadzi do mniejszej bariery wejścia, a co za tym idzie, o wiele mniejszych zarobków.

Jacek Jabłonka: [00:20:35] No to dobra, mamy trzy tematy: zarobki, niski próg wejścia i czy to wciąż będzie programista.

Schodząc na ziemię, zacznijmy od zarobków. Zarobki w IT przez ostatnie 10 lat były napompowane do tego stopnia, że są nieadekwatne do reszty rynku. Nie zmienia to faktu, że programista musi mieć niesamowitą wiedzę, nie tylko z zakresu programowania, ale również matematyki, systemów operacyjnych itp. Presja na zarobki może jeszcze wzrosnąć, ale to jeden temat.

Próg wejścia. Osoby, które będą projektować i generować kod, będą miały łatwiejszy start. Ale schodząc na ziemię, nadal będzie niezbędna silna podstawa matematyczna, znajomość systemów operacyjnych i sieci komputerowych. Bez tych elementów będzie się tylko tzw. prompt engineerem, czyli osobą, która daje polecenia komputerowi, a nie prawdziwym programistą.

Czy to wciąż będzie programista? Raczej zmieniłbym nazwę na pracownik biurowy, a nie programista. To będzie bardziej stanowisko dla osób, które wprowadzają polecenia, ale niekoniecznie muszą znać skomplikowane języki programowania.

Jan Kinal: [00:22:22] Szeregowy pracownik biurowy.

Jacek Jabłonka: [00:22:24] Więc to będzie pracownik. I znów wrócę do tego, że pracownik z silną marką osobistą, sam zarządzający swoimi projektami, będzie kluczowy. Nie czepiałbym się słowa „programista”, bo tak samo jak pojawił się zawód „Social Media Manager”, który nie istniał ileś lat temu, nie wiemy, jak w przyszłości nazwiemy te role.

Co do systemów operacyjnych, sieci komputerowych i podstaw matematycznych – wspominaliśmy wcześniej o Elon Musku, więc warto wspomnieć, że jego urządzenie Neuralink zostało wszczepione jednemu pacjentowi i dostało zgodę od odpowiednich władz.

Jan Kinal: [00:23:22] Federalnej Agencji.

Jacek Jabłonka: [00:23:24] Tak, dokładnie, Federalnej Agencji Leków. Dostał zielone światło, więc może działać.

Mieliśmy interfejsy: najpierw klawiaturę, potem monitor, teraz dotykowe ekrany. Ale co dalej? Jaki interfejs będzie do tego Neuralinka? Ktoś musi stworzyć system operacyjny z interfejsem do tego urządzenia. Przecież nie będzie to człowiek chodzący z kabelkiem podłączonym do głowy, tylko jakaś bezprzewodowa komunikacja sieciowa. Żeby to było bezpieczne, potrzebna będzie kryptografia i matematyka, żeby ktoś nie mógł wpakować do mózgu niechcianych informacji i nie zrobił nam krzywdy.

Jan Kinal: [00:24:08] Wiem, ale mówimy chyba nadal o jakimś top kilku procentach pracowników, którzy będą ogarniali te zaawansowane rzeczy. Nie będzie to poziom zatrudnienia porównywalny do obecnej ilości programistów w przyszłości. Mówisz o bardzo zaawansowanych rzeczach, a wydaje mi się, że tylko kilka procent osób będzie w stanie to dźwignąć i wykonywać. Co z całą resztą? Czy reszta będzie zajmować się prostszymi zadaniami? W tym kierunku to idzie? Zakładając negatywny scenariusz, mniej przyjemny dla nas?

Jacek Jabłonka: [00:24:48] Tak, ale programiści, którzy są elastyczni i chętni do nauki nowych rzeczy, nie mają się czego obawiać. Po prostu trzeba będzie zmienić kierunek i tyle. Wracając do tego, że mam ugruntowaną pozycję na rynku IT, musiałem się przeszkolić, zrobić kilka kursów i certyfikatów związanych ze sztuczną inteligencją oraz korzystaniem z nowych narzędzi, bo tego wymaga rynek. Gdybym tego nie zrobił, być może moja kariera by się skończyła. Trzeba elastycznie podejść do tematu.

Na koniec, uspokajając programistów, pomijając Elona Muska i Neuralinka, ktoś będzie musiał utrzymywać istniejące systemy informatyczne na produkcji. Praca dla programistów na pewno będzie.

Jan Kinal: [00:26:00] Jeszcze jeden wątek poboczny związany z Neuralinkiem Elona Muska. Nie mówię o teraz, ale jak już będzie w sprzedaży na Amazonie czy gdziekolwiek indziej…

Jacek Jabłonka: [00:26:14] Rozważam to, ale ja osobiście nie, nie, nie. Biorąc pod uwagę to, jak jesteśmy inwigilowani mając smartfony, niezależnie czy z Androidem czy innym systemem. Siedzisz ze znajomymi i rozmawiasz…

Jan Kinal: [00:26:32] Mógłbyś telewizor odpalać?

Jacek Jabłonka: [00:26:36] Ok, nie przekonasz mnie do wygody. Kończąc wątek, wiesz, rozmawiamy o kosiarkach ogrodowych przez 15 minut. Potem wszyscy idziemy do domu. I co? Widzimy reklamy kosiarek na dowolnych platformach, czy to w przeglądarce Google, czy na Facebooku. Jeśli moje myśli byłyby skanowane i przetwarzane, a potem coś mi podpowiadało? Nie, dziękuję. Ja już nie przyczepiłbym sobie takiego urządzenia.

Jan Kinal: [00:27:12] Dobra, ja też nie wiem, ale raczej nie chciałbym reklam w głowie widzieć. Zobaczymy. Wątek humorystyczny.

Chciałem Cię zapytać, bo jesteś trenerem, zajmujesz się od 6 lat przekwalifikowaniem osób, które wcześniej nie pracowały w IT, a chciałyby zostać programistami. Jakie masz porady dla młodych osób, które myślą o tym, żeby pracować jako programista? Już trochę powiedziałeś o budowaniu swojej marki osobistej, żeby dzięki temu móc pozyskać lepsze projekty. Ale co jeszcze byś doradził? Dajmy na to takiej młodej osobie, która jest teraz w liceum, technikum czy na studiach i rozmyśla nad swoją karierą, pragnąc zostać programistą. Co byś doradził takiej młodej osobie oprócz budowania swojej marki osobistej?

Jacek Jabłonka: [00:28:22] Ja troszeczkę głębiej kopię w tym temacie i zastanawiam się, czy naprawdę brakuje programistów na rynku. Wydaje mi się, że ich jest za dużo. Dlatego takim osobom w liceum raczej poleciłbym rozejrzenie się na rynku i zastanowienie się nad innymi zawodami. Oczywiście, to jest niełatwe. Ja będąc w liceum, miałem tylko IT w głowie, więc nie patrzyłem dookoła. Tak samo pewnie robią te młode osoby. Ale na pewno w przyszłości będzie duży brak i duże zapotrzebowanie na zawody manualne. Już teraz mamy niedobór mechaników, hydraulików, osób, które są w stanie za rozsądne pieniądze i w rozsądnym czasie naprawić nasz dom czy samochód. Dlatego, jeśli odrodzą się technika czy zawodówki, które miały złą markę, to w tym kierunku bym szedł. Jeśli chodzi o młode osoby, to na pewno będą miały dużo możliwości w tych zawodach.

Jan Kinal: [00:29:32] Niekoniecznie w karierę programisty.

Jacek Jabłonka: [00:29:35] Na dzisiaj to jest moja osobista refleksja. Ale wracając do tematu programowania, poleciłbym samodzielne napisanie jakiegoś programu lub aplikacji, żeby zobaczyć, czy to w ogóle jest coś, co ich interesuje.

Jan Kinal: [00:29:58] Zakładając, że jestem bardzo uparty i chcę się tym zajmować. Jestem teraz w technikum, liceum czy na studiach. Jestem bardzo uparty. Usłyszałem to, co teraz powiedziałeś, że radzisz mi zostać mechanikiem czy kimkolwiek innym, bardziej manualnie. Ale jestem bardzo uparty i chcę być programistą, bardzo, bardzo, bardzo. Zakładając taki scenariusz, co mi jednak radzisz w ostateczności?

Jacek Jabłonka: [00:30:22] W takim przypadku nauczyłbym się jakiegoś języka programowania i spróbował napisać jakiś program samodzielnie. Nawiązując poprzez analogię, jeśli ktoś chce zostać pisarzem, musi szkolić się w języku polskim, mieć dobry warsztat, napisać mnóstwo rozdziałów, mnóstwo książek. Pokazać swoje prace komuś do przeczytania, nie chować ich w szufladzie. Pójść do jakiegoś wydawcy i zobaczyć, co on na to odpowie. Pomijając osoby, które rzeczywiście rodzą się z talentem, ja bym tak to zweryfikował. Wracając do IT, po prostu napisałbym jakąś aplikację, program, zobaczył, jak mi to idzie, i pokazał komuś, czy w ogóle to ma sens.

Jan Kinal: [00:31:05] Czyli od początku uczyć się języka programowania, pisać kod od początku z użyciem narzędzi jak Copilot.

Jacek Jabłonka: [00:31:17] Dla osób, które już mają swoje lata i przebranżawiają się, łatwiej będzie się uczyć z pomocą Copilota. One potrzebują szybszej ścieżki. Natomiast osobom z liceum polecałbym solidne podstawy matematyczne i samodzielną naukę języka programowania z materiałów online. Mogą używać Copilota, ale najpierw muszą nauczyć się podstaw. Mówię o osobach z liceum, żeby nie było, że od razu rzucają się na generowanie kodu i idą do pracodawcy bez solidnych podstaw.

Często zdarza się, że osoby, które wracają do mnie po trzech rozmowach kwalifikacyjnych, mówią, że gdyby miały tylko sztuczną inteligencję i internet, odpowiedziałyby na pytania. Ale na rozmowach są pytania typu: „Napisz pseudokod na tablicy za pomocą flamastra”. I wtedy wychodzi brak teoretycznej wiedzy. Dlatego osobom w liceum radziłbym, żeby samodzielnie nauczyły się języka programowania i podstaw matematycznych z materiałów dostępnych w internecie.

Jan Kinal: [00:32:46] I później, mając te solidne podstawy, można korzystać ze sztucznej inteligencji.

Jacek Jabłonka: [00:32:51] Tak, dokładnie.

Jan Kinal: [00:32:53] Ok, kończąc wątek edukacji, chciałem Cię o to spytać, ale po części już odpowiedziałeś. Jestem ciekaw Twojego zdania jako trenera. Co ogólnie myślisz o edukacji w Polsce i na świecie? W jakim kierunku powinna zmierzać, biorąc pod uwagę gwałtowny rozwój sztucznej inteligencji i silną pokusę dla uczniów, żeby iść na skróty?

Jacek Jabłonka: [00:33:22] Tak, dokładnie. Jeśli mamy nie tyle wróżyć, co zobaczyć, co mamy teraz, to obecnie mamy prawdziwych wirtualnych asystentów. Weźmy na przykład GPT-4 od OpenAI, gdzie możemy wchodzić z nim w interakcję głosową i wideo. To jest zupełnie co innego niż tylko tekst. On jest w stanie rozpoznać wideo, głos, szerszy kontekst. To już nie jest ta pinezka z Worda, która skakała i coś tam podpowiadała. To już jest prawdziwy wirtualny nauczyciel. Myślę, że to będzie szło w tym kierunku, że zamiast kupować kursy online, będziemy kupować wirtualnych asystentów, którzy będą nas uczyć.

Jan Kinal: [00:34:15] Ok, ale czy państwowy system edukacji dostosuje się do tego, czy będzie to coś, co pozostanie po stronie rodziców i uczniów? Czy my jako państwo, jako system edukacji dostosujemy się do tego według Ciebie? Czy raczej będzie to nasza inicjatywa, żeby wyjść poza te schematy i nadążyć za tym bardzo gwałtownym rozwojem?

Jacek Jabłonka: [00:34:53] Odpowiadając dyplomatycznie i nie wylewając wiadra pomyj na system edukacji, myślę, że tak jak wspomniałeś, my sami będziemy musieli zadbać o to, żeby dynamicznie i elastycznie dostosować się do zmieniających warunków. Ja będąc na studiach, widziałem przedmioty, które były mi kompletnie niepotrzebne, jak języki programowania czy narzędzia, o których wiedziałem, że ich nie użyję. Zdawałem sobie z tego sprawę i uczyłem się tego, co było na topie i trendy w danym momencie, czyli języka programowania Java, i na tym się konkretnie skupiłem.

Jan Kinal: [00:35:40] A jak to teraz wygląda? Czy masz orientację, jak wygląda sytuacja na uczelniach, jeśli chodzi o programowanie, sztuczną inteligencję i machine learning? Czy te tematy pojawiają się na uczelniach? Wiesz coś o tym?

Jacek Jabłonka: [00:35:54] Zaczyna się pojawiać. I znów, dyplomatycznie podchodząc do systemu edukacji, nie zaszkodzą solidne podstawy. Powrócę do tych systemów operacyjnych, sieci komputerowych i aparatu matematycznego. Uczelnie i studia wyznaczą nam kierunek, ale to do nas będzie należało intensywne pracowanie nad naszym warsztatem, np. programistycznym.

Studia dadzą nam solidną podstawę i wyznaczą kierunek, ale to my musimy wybrać, w którą stronę idziemy, co jest dla nas istotne, a co nie. Tak bym odpowiedział na to pytanie.

Jan Kinal: [00:36:44] Czyli coś się zmienia, pojawiają się nowe kierunki, ale nadal radziłbym studentom samodzielną naukę.

Jacek Jabłonka: [00:36:57] Jeżeli już są na studiach, to mają obrany kierunek i zdobywają podstawy. Tego się nauczyć i samemu elastycznie zobaczyć, jak to wygląda na rynku pracy. Oczywiście, to tak łatwo brzmi, ale może być tak, że rok w jednej firmie, rok w drugiej i dopiero po 4 latach się dowiemy, co jest najważniejsze i w którym kierunku iść. Z dnia na dzień to się nie zadzieje.

Jan Kinal: [00:37:32] Ok, Jacek, chciałbym zapytać o Twój nowy projekt, który wiem, że niedawno uruchomiłeś. Wiem, że w dużej mierze jest oparty na sztucznej inteligencji. Chciałbym także poruszyć jeszcze jedną kontrowersyjną kwestię. Czy według Ciebie należałoby opodatkować sztuczną inteligencję? Mówiliśmy już o zwolnieniach, że na razie nie ma się czego bać, że powody zwolnień są inne. Ale za 5-10 lat rynek może się znacznie zmienić i sztuczna inteligencja może być przyczyną redukcji zatrudnienia. Sam stworzyłeś projekt z wykorzystaniem sztucznej inteligencji. Czy zatem nie należałoby opodatkować tej prawie darmowej sztucznej inteligencji? Jak sam powiedziałeś, 10 dolarów miesięcznie za Copilota to są żadne pieniądze w porównaniu do wynagrodzenia programisty. Co o tym sądzisz?

Jacek Jabłonka: [00:38:40] Wiesz co? Czy opodatkować sztuczną inteligencję czy nie, na to nie odpowiem wprost. Postaram się to wyjaśnić. Obawiam się, że firmy Big Tech będą bardzo promować i przepychać opodatkowanie sztucznej inteligencji. To może się wydawać dziwne i kuriozalne, że firmy…

Jan Kinal: [00:39:03] Dlaczego Big Tech miałby to robić?

Jacek Jabłonka: [00:39:07] No bo teraz tak. Oni wiedzą, ile pieniędzy mogą zarobić na sztucznej inteligencji i wiedzą, że ludzie będą się buntowali. Więc jeśli dadzą im jakąś niewielką część, nazwijmy to rekompensatą czy zadośćuczynieniem, mogą łatwiej przepchnąć swoje rozwiązania.

Jan Kinal: [00:39:24] Dochód gwarantowany.

Jacek Jabłonka: [00:39:26] No dokładnie. Dokładnie.

Jan Kinal: [00:39:28] To jest realne, że zmierzamy w tym kierunku.

Jacek Jabłonka: [00:39:31] Postaram się dyplomatycznie wybrnąć z tego tematu, ponieważ jest on śliski. Ale właśnie, czy powinno się je opodatkować? Myślę, że duże firmy będą dążyły w tym kierunku, aby uspokoić sumienie ludzi i swoje własne. Będą to robiły w sposób dyskretny, jak zwykle, w białych rękawiczkach, aby potem móc powiedzieć: „Dobrze, rozumiemy, że sztuczna inteligencja zabiera pracę, ale zobaczcie, płacimy podatki i działamy w porządku.” Nieważne, że będzie to tylko 1% ich miesięcznych dochodów, a i tak nie zapewni utrzymania kilku setek tysięcy ludzi. Tak więc tak bym odpowiedział na to pytanie. Nie jestem pewien, czy powinny być opodatkowane, ale przeczuwam, że firmy big tech mogą chcieć postąpić w ten sposób.

Jan Kinal: [00:40:28] Ok, czyli szykuje nam się ciekawa przyszłość. Zanim poproszę Cię, abyś opowiedział o tym projekcie, powiedz od razu, czym on jest, co stworzyłeś i jaki udział w jego tworzeniu miała sztuczna inteligencja. Czy mógłbyś nam o tym opowiedzieć?

Jacek Jabłonka: [00:40:48] Dobrze, to teraz tak. Ten projekt jest dostępny pod adresem www.basket.info; pewnie będzie to gdzieś podane w materiale. Nazwa sugeruje porównywanie koszyków. Wyszło to z mojego problemu, ponieważ lubię kupować książki na prezenty — nie jedną, a kilka. Zwykle nie lubię przepłacać, więc gdy kupowałem 10 książek, sprawdzałem ceny w 3 księgarniach. Musiałem je wyszukać, wrzucić do koszyka i zobaczyć, który koszyk jest najtańszy.

Napisałem aplikację przeglądarkową, dostępną na telefony. Jest responsywna i łatwa w użyciu. Wpisujesz tytuł książki i możesz sprawdzić ceny w 10-20 księgarniach, aby znaleźć najtańszą opcję. Aplikacja sortuje wyniki; możesz dodać do porównania kilka książek i wybrać, czy interesuje cię ebook, audiobook czy książka papierowa. Otrzymujesz listę księgarni z bezpośrednimi linkami do zakupu. To bardzo proste: wpisujesz tytuł książki, dodajesz do porównania, klikasz „porównaj” i widzisz listę księgarni z linkami do zakupu.

Rozwiązałem swój problem, ale chciałbym również nawiązać do tych licealistów, którzy mają tworzyć aplikacje. Zamiast robić projekty typu „dodaj, usuń, zaktualizuj listę”, warto tworzyć coś użytecznego, co naprawdę przyniesie korzyść użytkownikom. Taki cel przyświecał mojej aplikacji. A ty wspomniałeś, że była wspierana przez sztuczną inteligencję.

Jacek Jabłonka: [00:42:39] Zgadza się. Cały kod napisałem przy pomocy narzędzia wspomagającego. Uczyłem się równolegle nowego języka programowania, Pythona, ponieważ moim językiem jest Java. Gdyby nie to narzędzie, które działa jak ChatGPT dla programistów, nie wiem, czy chciałbym uczyć się nowego języka programowania i robić podstawowe rzeczy, które juniorzy zwykle wykonują, ponieważ większość tego kodu została wygenerowana przez narzędzie.

Wspomniałem, że jest czat, na którym można zapytać o coś, a narzędzie pokaże kod. Działa to w podobny sposób jak w Wordzie, gdzie możemy pisać np. o Marilyn Monroe, a narzędzie podpowiada kolejne zdania, wyrazy, akapity. To samo robi narzędzie dla kodu: piszę np. „Porównaj mi dwie księgarnie” i otrzymuję kod, który mogę zaakceptować lub odrzucić. Mogę również zapytać na czacie, jak uczynić aplikację bezpieczną w przeglądarce, a narzędzie podaje mi odpowiednie informacje.

Podsumowując, aplikacja miała na celu rozwiązanie mojego problemu oraz naukę nowego języka programowania, co udało mi się osiągnąć w praktyce dzięki narzędziu wspomagającemu i sztucznej inteligencji. Nie zmienia to faktu, że znałem podstawy teoretyczne, zrobiłem kursy dotyczące Pythona. Chciałbym też nawiązać do licealistów: zanim zaczniecie korzystać z takich narzędzi wspomagających, warto mieć podstawową wiedzę teoretyczną.

Jan Kinal: [00:44:23] Najpierw kurs, najpierw samodzielne przerobienie, a dopiero potem AI. Ale powiedz, ile czasu to zaoszczędziło?

Jacek Jabłonka: [00:44:33] Mogę powiedzieć, ile czasu zajęło mi napisanie tego projektu. Zajęło mi to 6 tygodni, ale dokładnie wyliczyłem, że było to około 35 godzin.

Jan Kinal: [00:44:43] Jak myślisz, ile czasu zajęłoby ci napisanie tego projektu bez Copilota?

Jacek Jabłonka: [00:44:47] Kurczę, operując w tych tygodniach, nie siedziałem nad tym non-stop. Myślę, że bez narzędzia wspomagającego zajęłoby mi to około pół roku.

Jan Kinal: [00:44:57] Czyli około 6 tygodni.

Jacek Jabłonka: [00:44:59] Mówię o sobie.

Jan Kinal: [00:45:02] Czyli dla zaawansowanego programisty, który zna podstawy, ale nie zna konkretnego języka, Pythona.

Jacek Jabłonka: [00:45:11] Tak, musiałby znać ten język, żeby napisać to w pół roku. Czyli mamy 6 tygodni zamiast 6 miesięcy, co oznacza, że zrobiłem to 4 razy szybciej.

Jan Kinal: [00:45:24] Nawiązując do opodatkowania i zmian na rynku pracy, jak mówiłeś, te oszczędności są znaczące. Jeśli coś można zrobić 4 razy szybciej, to zamiast 4 pracowników wystarczy jeden.

Jacek Jabłonka: [00:45:46] Tak, więc przy użyciu narzędzia wspomagającego jeden pracownik mógłby kodować, a oczywiście ktoś musiałby zlecać oprogramowanie i monitorować, czy spełnia wymagania. W moim przypadku byłem jednocześnie autorem projektu i osobą, która wiedziała, jak ma wyglądać. Do tych 6 tygodni dodałbym jeszcze 4 tygodnie na refaktoryzację, również z wykorzystaniem tego narzędzia jako wsparcia. Refaktoryzacja polega na zmianie kodu, aby był bardziej optymalny i zgodny z najlepszymi praktykami. Przez te 6 tygodni zależało mi na tym, aby wypuścić produkt, który można pokazać i sprawdzić, czy działa. Wiedziałem, że mogą wystąpić błędy i że nie będzie doskonały, ale to również nawiązanie do licealistów — powinni tworzyć projekty, które można komuś pokazać i które można zrewidować.

Jan Kinal: [00:46:41] Problemy rozwiązywał.

Jacek Jabłonka: [00:46:43] Dokładnie. Dużym problemem osób, które do mnie przychodzą w celu przebranżowienia się, są rozmowy rekrutacyjne, od których się odbijają, brak podstaw teoretycznych oraz konieczność posiadania dostępu do internetu i odpowiednich narzędzi. Kolejną kwestią jest powtarzalność projektów. Jeśli rekruter widzi, że projekty są nieunikalne, stanowi to barierę. Dlatego projekt musi być użyteczny, unikalny i dodatkowo trzeba umieć go obronić.

Jan Kinal: [00:47:17] Zbliżając się do końca i będąc przy temacie książek, jaką pozycję lub kilka byś polecił? Co warto przeczytać w kontekście przyszłości rynku pracy programistów?

Jacek Jabłonka: [00:47:38] Jeśli chodzi o książki i materiały, to wszystko zmierza w kierunku sztucznej inteligencji, więc warto mieć solidne podstawy matematyczne. Polecam darmowy kurs z University of Chicago prowadzony przez profesora Roberta Rebeki, pt. Mathematics for Machine Learning. Kursy są z 2018 roku, ale nadal są aktualne, ponieważ podstawy matematyczne nie uległy zmianie. Chociaż obecnie mamy hype na sztuczną inteligencję, aparat matematyczny używany w tych technologiach jest znany od lat.

Drugą pozycją, którą bym polecił, jest praktyczne podejście do machine learningu. Na stronie freecodecamp.org znajduje się kurs Black Box Machine Learning: Learn Without Libraries. Kurs ten skupia się na tworzeniu sztucznej inteligencji od podstaw, bez korzystania z gotowych narzędzi. Projekt w kursie rozpoznaje podstawowe kształty i obiekty — na przykład, jeśli narysujesz gitarę, system będzie wiedział, że to gitara, i będzie się uczył w trakcie.

Jeśli chodzi o machine learning, polecam kurs Machine Learning and Data Science Bootcamp: From 0 to Master. Machine learning opiera się na danych, a podstawą jest data science, czyli nauka o danych.

Warto zauważyć, że cały czas operuję na podstawach matematycznych i aparacie matematycznym, które są kluczowe dla zrozumienia tego tematu. Celowo broniłem się przed używaniem pojęcia „prompt engineer” — inżynier to ktoś, kto ma wiedzę fachową, zna systemy operacyjne, sieci komputerowe i podstawy matematyczne. Umiejętność korzystania z narzędzi takich jak ChatGPT jest ważna, ale podstawowa wiedza jest niezbędna. To są trzy pozycje, które bym polecił.

Jan Kinal: [00:50:15] Ok, czyli kończąc, matematyka.

Jacek Jabłonka: [00:50:20] Tak, i co najśmieszniejsze, te kursy są z 2018 roku. Można się cofnąć 10-15 lat wstecz i nadal zauważyć, że niewiele się zmieniło. Nie jestem ekspertem w tej dziedzinie, ale moim zdaniem podstawy matematyczne są niezmienne. Choć modele językowe są optymalizowane i to się zmienia, same podstawy matematyczne pozostają takie same.

Jan Kinal: [00:50:51] Jacek, bardzo, bardzo Ci dziękuję za poświęcony czas. Dzięki za rozmowę. Was zapraszam do komentowania, subskrybowania i do zobaczenia wkrótce na kolejnej rozmowie. Dzięki jeszcze raz.

Jacek Jabłonka: [00:51:04] Tak, dziękuję. Jeśli mogę dodać podsumowanie, to warto być bardzo elastycznym i chętnym do nauki, a wtedy nie będzie problemu z radzeniem sobie z wszelkimi zmianami w IT i w innych zawodach. Dziękuję jeszcze raz za rozmowę. Mam nadzieję, że ten materiał będzie przydatny. Zachęcam do lajkowania, subskrybowania i komentowania, a szczególnie liczę na komentarze, które się ze mną nie zgadzają.

Jan Kinal: [00:51:35] Dzięki bardzo.

Jacek Jabłonka: [00:51:36] Dziękuję.

Podziel się swoją opinią
Redakcja
Redakcja
Artykuły: 11

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

1 × jeden =