TRANSKRYPCJA VIDEO
Dla tego filmu nie wygenerowano opisu.
Cześć! Słuchasz podcastu na początek, stworzonego przez Polsko-Japońską Akademię Technik Komputerowych. Ten podcast jest przestrzenią dla osób zaczynających swoją przygodę z branżą IT. Będziemy rozmawiać o jej możliwościach, różnych obliczach, wyzwaniach jakie stawia początkującym osobom i jak się do nich przygotować. Mam nadzieję, że każdy odcinek będzie Cię inspirował do rozwijania swoich umiejętności. Zapraszam, Kinga Rudaś. Gościem dzisiejszego odcinka jest Pani Dominika Wnuk. Dzień dobry. Dzień dobry, witam Państwa bardzo serdecznie. Jak już tutaj Pani wspomniała, nazywam się Dominika Wnuk i na co dzień pracuję na Polsko-Japońskiej Akademii Technik Komputerowych jako wykładowca. Spotkacie mnie Państwo głównie w katedrze Data Science, aczkolwiek czasami prowadzę też zajęcia dla innych specjalizacji.
Poza tym zajmuję się również programowaniem jako inżynier NLP w startupie. Także mam tutaj i doświadczenie praktyczne, które mogę zastosować na wykładach dla Państwa, jak i przekazać może jakieś mam nadzieję cenne wskazówki, jeżeli chodzi o ten zawód. No i właśnie o tym dzisiaj będziemy rozmawiać, czyli jak w ogóle rozpocząć swoją przygodę z programowaniem. Zacznijmy sobie z takich samych początków, czyli ktoś wpada na pomysł, że chciałby zacząć się uczyć.
Czy on może to zrobić tak zupełnie bez żadnej wiedzy, na przykład matematycznej, informatycznej? Czy jest w stanie zasiąść i po prostu się tego nauczyć? Zawsze może zacząć, ale i tak będzie moment, że będzie musiał tę wiedzę matematyczną czy statystyczną uzupełnić, bo tutaj akurat właśnie to temat uczenia maszynowego tak naprawdę jest ściśle związany, zwłaszcza ze statystyką. Więc jeżeli tego wcześniej nie mieliśmy, to warto już przed nawet podjęciem studiów podjąć pierwsze kroki, żeby albo uzupełnić tę wiedzę, albo po prostu doszlifować informacje, które może wcześniej mieliśmy, ale jeszcze nie pamiętamy, albo trochę się ta wiedza właśnie gdzieś po drodze nam zgubiła. Także warto o to zadbać już wcześniej. Tutaj też warto zadbać o programowanie.
My wprawdzie zaczynamy od zera, ale też w zależności od trybu studiów nie zawsze jest wystarczająco dużo czasu, żeby na ćwiczeniach po prostu ten materiał przerabiać. Ja wtedy państwu daję więcej zadań do domu, ale wiadomo, wtedy jest ten większy nakład pracy własnej. Także warto zawsze się zastanowić wcześniej, czy wolą państwo zacząć razem ze mną i potem pracować więcej, czy już wcześniej, czy w własnym zakresie, czy może jakiś po prostu kurs przygotowawczy podjąć, żeby jednak te pierwsze kroki programowania stawiać, zwłaszcza, że tutaj ważna jest praktyka. Nie jest ważne, ile przeczytamy książek, ile obejrzymy tutoriali. Ważne jest, żeby zacząć pisać kod.
Pisać, pisać, najlepiej codziennie, nawet jeżeli to byłoby króciutki, jakiś prosty programik, to po prostu pisać, bo bardzo ważne jest przyzwyczajanie się do tego. I nie kopiować, tylko pisać od ręki. To jest właśnie chyba dosyć często pojawiający się temat, taka dyskusja, czy można się właśnie programowania nauczyć samemu w domu, czy warto iść na studia, bo często studia nam się kojarzą z teorią, a tutaj, tak jak pani właśnie wspomniała, ta praktyka jest szalenie istotna. Wydaje mi się, że można nauczyć się tego samemu, ale jest o wiele trudniej, bo wtedy raz, że nie wiemy, gdzie zacząć, gdzie szukać dobrych materiałów, a dwa, że nie mamy jednak tego mentora, który by nas poprowadził, albo sprawdził po prostu nasze błędy.
I jeżeli się czegoś źle nauczymy, to niestety potem będziemy ten błąd powielać, a co gorsza, może jeszcze przekażemy to dalej. Także tutaj jednak studia pozwalają nam na to, żeby zgłębić tę wiedzę w kontrolowany sposób z osobą, która się na tym zna, która też właśnie ze swojego doświadczenia podpowie, jakich błędów uniknąć na początku, albo jak sobie po prostu z nimi radzić, bo tutaj też z pisaniem kodu jest tak, że to tylko mały procent jest z pisaniem kodu, reszta to jest właśnie analiza, dlaczego ten kod nie działa. Więc to nie jest tak, że nawet doświadczony programista siada i od razu pisze cudowny program, tylko każdy z nas ma ten etap.
Pisz, a potem sprawdź, dlaczego właśnie coś się nie udało, albo jak coś zoptymalizować. Także tutaj są te dwa etapy. I jeżeli chodzi o studia, no to z mojego przynajmniej doświadczenia, ja mogę powiedzieć, że ja się tutaj właśnie świetnie nauczyłam podstaw programowania w ramach takiego kursu przygotowawczego, ponieważ nie miałam wcześniej wykształcenia takiego informatycznego przed podjęciem studiów z informatyki. Także szkoła mi na szczęście zaoferowała taką dodatkową pomoc, gdzie mogłam po prostu przygotować się lepiej do podjęcia potem odpowiednich zajęć.
A teraz na własnych przedmiotach robię tak, że owszem mam wykłady i opowiadam trochę o teorii, ale przede wszystkim staram się przynajmniej na programowaniu pokazywać też po prostu żywe przykłady, czyli patrzymy na przykład na element kodu i zastanawiamy się wspólnie, co ten kod robi i jaki ma to właśnie rezultat, jaki był cel, czy się to udało osiągnąć, ewentualnie jak to zoptymalizować. To żeby tak rozpocząć w ogóle od początku, to powiedzmy, czym jest to programowanie? Gdybym była zupełnym lajkiem i chciała się właśnie zastanowić, czym jest to programowanie, to myślę, że tutaj najlepszą metaforą jest po prostu komunikacja z komputerem.
Tak jak uczymy się czy języka angielskiego, czy innych języków obcych, żeby się porozumieć z drugim człowiekiem, to tutaj to jest porozumienie z komputerem, gdzie program jest po prostu takimi instrukcjami. Najprostszy przykład, wypisz tekst, to już jest taki program i na przykład na wielu przedmiotach właśnie kiedy zaczynamy programowanie, to pierwszą komendą, pierwszym takim poleceniem, które wydajemy komputerowi, to jest wypisz i tutaj podam przykład zawsze wykorzystywany praktycznie hello world, czyli witaj świecie. To już jest taka tradycja programowania, że to jest zawsze pierwsza komenda, jaką się wpisuje w dowolnym języku, od którego zaczynamy.
No to jak już weszliśmy w temat języków, to idźmy w nie właśnie, bo języków jest chyba bardzo dużo, prawda? I jak ja zaczynając programować, mam wybrać ten, w którym, którego mam się uczyć? Tutaj w sumie jest kilka rzeczy, na które warto zwrócić uwagę. Jedna to oczywiście oferta tego, jakie mamy dostępne kursy i sprawdzonych instruktorów, na przykład w polsko-japońskiej, na studiach inżynierskich bardzo dobrze jest tłumaczona i potem szlifowana Java. To jest na pewno dobra podstawa, żeby zacząć tak solidne programowanie, chociaż też muszę z własnego doświadczenia przyznać, że Java nie jest najprostszym językiem na początek.
Więc też warto się z drugiej strony zastanowić, co chcemy potem robić z tym programowaniem, czyli czy chcemy pracować na przykład właśnie bardziej graficznie, tworząc design stron internetowych, czy chcemy tworzyć same strony internetowe w sobie, a może tak jak ja zająć się modelami uczenia maszynowego, gdzie na przykład wykorzystywany jest bardziej Python. Więc tutaj też warto jest już wybierając język, wybrać sobie cel, dlaczego się tego języka uczę. Tak samo jak z językiem obcym, wybieramy, nie wiem, angielski, bo chcemy podróżować po świecie, tak samo tutaj wybieram na przykład Pythona, bo chcę pracować w data science, bo chcę analizować dane. Czyli mamy różne ścieżki powiedzmy zawodowe do wyboru.
Wspomnieliśmy o Java, której jest tutaj u nas na polskojapońskiej dużo, ale jakie są jeszcze takie topowe języki, o których nasi słuchacze mogą usłyszeć? Bardzo popularny jest JavaScript, to jest właśnie język wykorzystywany przy front-endzie, czyli chociażby projektowanie wyglądu stron internetowych. Jest też C++, ja osobiście akurat C++ nie znam tutaj, nie wykorzystywałam, więc może więcej o tym nie opowiem, ale on też jest. Java to już taka wspomniana, taka podstawa i bardzo popularna też właśnie na rynku pracy. Python, który w ostatnich latach robi oszołamiającą karierę właśnie ze względu na uczenie maszynowe, data science, które w tych ostatnich latach zyskało dużą popularność i coraz więcej się słyszy też o nowych osiągnięciach, więc też jest większy zapotrzebowanie na rynku na ten język.
Ale są też i inne języki, znaczy jest taki starszy język, to jest w sumie język, który poprzedził C++, a język C, a w którym na przykład napisany jest Python. Także chociażby nowe funkcjonalności, które są dodawane do Pythona, w tym roku się ukazała właśnie taka jedna nowa funkcjonalność, one tak naprawdę w tle są napisane w języku C. My nie chcemy oczywiście tego języka nie musimy uczyć, żeby poznać Pythona, natomiast warto też o tym wiedzieć, że to nie jest taki jakby język sam w sobie, tylko coś, za nim też z tyłu stoi.
Czy przy nauce języka programowania jest tak jak przy nauce języka obcego, że trzeba się uzbroić w cierpliwość i nastawić na ciągły rozwój i na to, że trzeba codziennie tak naprawdę przysiąść i ćwiczyć? Myślę, że tak. Ważna jest tutaj ta regularność, ale też i taka cierpliwość do siebie, że na początku będziemy popełniali błędy i to jest zupełnie normalne.
Na początku też, ponieważ jest dużo rzeczy do zgłębienia, być może dużo nowych pojęć, które wydają się zbyt abstrakcyjne na początek, to może troszeczkę być przytłaczające, ale proszę się tym nie zrażać, bo naprawdę da się to przejść, a jak już jednak wejdziemy w głąb, to jest przynajmniej dla mnie to jest prawdziwa przyjemność, żeby właśnie usiąść z kubkiem kawy i zasiąć do tego kodu i coś napisać, także tutaj bardzo polecam jednak mimo wszystko się nie poddawać tak na początku.
Poza tym ważna jest też ta regularność, bo nawet doświadczenie programieści, jeżeli na przykład nie wiem pojadę na dwa tygodnie na urlop, a potem wracam do tego mojego kodu, to o ile nie zostawiłam sobie takich dobrych notatek, te notatki to może jeszcze za chwilę o tym wspomnę, to zostawiam oczywiście w kodzie też, to może się zdarzyć, że po prostu zapomnę co ja napisałam. I tutaj ważna jest ta systematyczność, żeby po prostu tę wiedzę utrwalać, bo ona tak to zapomniana po prostu nam wyleci.
Poza tym technologie cały czas się zmieniają i dlatego też warto być na bieżąco z tym co się dzieje, bo być może niektóre rzeczy w języku danym albo już po prostu odchodzą do lamusa, albo język zupełnie przestaje być używany i wtedy warto się na przykład przeszkolić na drugi język. Tutaj tylko na zachęty powiem, że o wiele łatwiej jest z jednego języka programowania przestawić się na kolejny język niż z języka obcego na drugi język obcy. Chodzi po prostu o taką techniczną cechę tego języka, ponieważ język taki ludzki, mówiony, on jest o wiele bardziej dynamiczny, o wiele bardziej się zmienia i nie jest kontrolowalny.
Natomiast tutaj jednak mamy te zalety, że pomimo, że jest to język jako język komunikacji, to jednak jest to język techniczny oparty na regułach, on się aż tak bardzo nie zmienia w zależności od użytkowników, tylko bardziej od programistów, czyli nas, którzy ten język tworzą, potem wykorzystują i ewentualnie dodają to czego mu brakowało. Więc mamy jednak tą pewność, że to czego się nauczyliśmy, to przynajmniej nauczy nas takiego myślenia technicznego i takiego właśnie myślenia jak porozumieć się z komputerem. I tu nawet dodałabym, że przy nauce programowania nie warto się skupiać na tym, żeby teraz pamiętać wszystkie możliwe biblioteki, wszystkie możliwe funkcjonalności języka, tylko być ich świadomym.
O wiele ważniejsza jest zdolność do szukania tych informacji, które są nam potrzebne w danym momencie, czyli na przykład chcę zaprogramować sobie program, który będzie analizował tekst i wiem, że jest taka biblioteka jak Spacey, która właśnie pozwala mi na wykorzystanie modeli językowych. Ja nawet na co dzień programując nie pamiętam wszystkich możliwych dostępnych opcji w tej bibliotece, natomiast wiem, że jest taka dokumentacja, do której mogę zajrzeć i po prostu ta świadomość tego, że ona jest, pozwala mi na to, żeby się lepiej poruszać z językiem. Także to jest raz, żeby zaglądać do dokumentacji, nie patrzeć tylko na przykład na gotowe odpowiedzi w sieci i je kopiować bezmyślnie. Ważne jest, żeby jednak samemu starać się zrozumieć, co to też robi.
Nie wszystko tak na pamięć, czyli nie kujemy na blachy, tylko raczej uczymy się bardziej metody niż samego, może nawet języka. Ćwiczenie sobie też nawet na kartce pisania kodu. Ja wiem, że na początek to przeraża i tutaj na studiach też na przykład pisanie egzaminu na kartce z programowania może być przerażające, ale teraz z doświadczenia powiem Państwu, że to jest bardzo cenna umiejętność napisać kod, a potem go jeszcze samemu na tej kartce właśnie wywołać w takiej terminologii lingwistycznej, w takiej przeczekam technicznej terminologii skompilować i stwierdzić właśnie, że to zadziała, a to nie zadziała, albo to mogłabym zrobić lepiej, czyli zoptymalizować. Także to są naprawdę cenne umiejętności i o wiele bardziej cenne niż takie tylko suche kucie na blachę.
No i wreszcie sama społeczność programistów tutaj, kiedy sama się zaczęłam zajmować właśnie programowaniem, to byłam bardzo miło zaskoczona tym, jaka tutaj jest chęć pomocy, bo i w sieci znajdziemy bardzo dużo materiałów, które mogą nam pomóc w tej podróży właśnie w programowaniu, czy jak będziemy mieli jakiś problem, to są strony typu Stack Overflow, gdzie osoby bardzo chętnie się udzielają, żeby pomóc nam rozwiązać problem, a w wielu przypadkach jest już tak, że ktoś też miał ten problem, zadał to pytanie i potem jest jakaś odpowiedź, którą możemy właśnie sobie wykorzystać. Tylko oczywiście tu znowu zachęcam, żeby nie kopiować tak bezmyślnie odpowiedzi, tylko jednak się zastanowić też właśnie na czym polega problem i jakie jest to rozwiązanie, co pomogło rozwiązać ten problem.
Ale już w tej naszej ścieżce też programowania warto zacząć myśleć potem nad projektem, ponieważ wiadomo, że jak wchodzimy na rynek pracy, czy w tym zawodzie, czy w każdym innym, to pytają nas o jakieś doświadczenie. I tutaj akurat w programowaniu mamy zaletę, że nawet jeżeli nie mamy jakiegoś jeszcze doświadczenia, albo praktyk odbytych, możemy zacząć tworzyć sobie nasze własne portfolio takich programistycznych projektów. Więc, owszem, może, żeby nie były to jakieś takie najprostsze programiki typu wypisz coś właśnie do konsoli, tylko jednak jakiś projekt chociażby stworzenia przeglądarki internetowej, czy w przypadku języka naturalnego na przykład powielenie funkcjonalności, jakie znajdziemy, nie wiem, na Instagramie, na Facebooku, silnik być może, który będzie właśnie podpowiadał filmy, które lubimy, tak jak na Netflixie, czyli tak zwany silnik rekomendacyjny.
Więc zastanawiać się po prostu nad takim projektem. Zacząć od rzeczywiście do takiego może prostszego projektu, na przykład zebranie danych i stworzenie takiego zbioru danych. Potem praca nad tym projektem, czyli tworzenie aktualizacji, dodawanie komentarzy, tutaj ta dbałość właśnie w ogóle w tym projekcie, żeby pokazać po prostu nasze też dobre nawyki w tym, co robimy programując, czyli że zostawiamy komentarze tak, żeby czy my, czy osoba, która będzie po nas ten kod sprawdzała, wiedziała, co mieliśmy na myśli pisząc daną linijkę, czy właśnie my jak wrócimy za miesiąc na przykład do tego kodu, to też będziemy wiedzieli, co mieliśmy tego dnia na myśli.
Poza tym pisanie ogólnie dokumentacji, dodawanie, organizowanie tego sobie po prostu w jakieś, nie wiem, na przykład mniejsze moduły, nie wszystko w jednym bloku ciągu kodu, żeby to było po prostu bardziej też zrozumiałe i przejrzyste dla oka. Jest taka strona, takie repozytorium kodu, nazywa się GitHub, jest ona naprawdę popularna, także jeżeli ktoś już wcześniej się też interesował programowaniem, to na pewno się z tą nazwą spotkał. GitHub właśnie pozwala nam na przechowywanie w sieci naszego kodu, takie repozytorium może być albo prywatne, albo publiczne i takie repozytorium jest potem po prostu świetnym portfolio dla potencjalnego pracodawcy.
Sama kiedyś przeglądając oferty pracy, nawet się spotkałam z taką propozycją, że właśnie jeżeli ktoś nie chce na przykład brać udziału w takim teście programistycznym, żeby sprawdzić swoje umiejętności, to alternatywą jest zaprezentowanie takiego portfolio i po prostu przejście z rekruterem krok po kroku projektu i omówienie naszych decyzji, jakie w tym kodzie podjęliśmy, czyli na przykład dlaczego w ten sposób rozwiązaliśmy problem albo jak moglibyśmy ten problem, nie wiem, ugryźć inaczej czy zoptymalizować. Czyli tak naprawdę do tych umiejętności, o których tutaj rozmawialiśmy, tego regularnego powtarzania i do tej wytrwałości, trzeba by dodać jeszcze logiczne myślenie i taką umiejętność kombinowania, prawda? To też, to też.
Jest taka cała dziedzina algorytmy i struktury danych, jest o tym dużo memów, jakie to jest straszne i wiem, że niektórych to zraża, ale tak naprawdę też ten temat pokazuje właśnie jak bardzo logiczna jest dziedzina programowania i takie myślenie abstrakcyjne, ale też takie przestrzenne, czyli na przykład jak te dane zagospodarować, jakie mogę przetworzyć i co będzie z punktu widzenia chociażby przechowywanie tych danych najbardziej optymalne, czyli najlepsze dla, czy dla nas, dla naszego pracodawcy, dla naszego programu po prostu.
Tutaj wspomniała Pani o tej społeczności programistycznej, która jest taka otwarta i gotowa na rozwój, ale jak to jest z tym stereotypem programisty, który działa sam w pojedynkę, czy to rzeczywiście tak jest, że potem możesz właściwie pracować w każdym miejscu na świecie, w dowolnym czasie, bo jesteś tylko ty i komputer, czy jednak gdzieś ta zespołowość się pojawi w przyszłości i będzie istotne komunikowanie się z innymi osobami? Powiem tak. To jest ulubione powiedzenie ogólnie w branży data science, to zależy. Ja na co dzień przeważnie pracuję indywidualnie, ale zdarza się też, że prowadzę właśnie projekty w jakimś większym zespole, czy nawet w dwójkę.
Spotkałam się z taką opinią, że coraz częściej spotyka się właśnie pary programistów, że coś trzeba robić razem, natomiast myślę, że dużo zależy tutaj i od nas, i od specyfiki, czy naszej pracy, czy branży jaką wybierzemy, bo też to programowanie teraz zaczęło się pojawiać w coraz większej puli różnych zawodów, które niekoniecznie by nam się tak tradycyjnie kojarzyły z tym programowaniem. Jeżeli chodzi chociażby o to uczenie maszynowe, o którym ja się zajmuję, to tutaj możemy pracować i w finansach, i w branży zdrowia, czy medycyny, język i właśnie obce, jakieś firmy, które się wcześniej zajmowały na przykład tylko tłumaczeniem, teraz też wdrażają coraz więcej automatyzacji, także tutaj cały czas zwiększa się te pole do popisu i dla nas również możliwości.
Do tego możemy wybrać coś, co by dla nas było interesujące tak po prostu też hobbystycznie, czyli nie tylko to programowanie, ale na przykład, nie wiem, interesują mi finanse, no to sobie wybiorę właśnie jakiś bank, który potrzebuje programisty, także to też jest taka zaleta tego zawodu, że możemy wybrać różne branże. Jeżeli chodzi o to, czy w parze, czy w pojedynkę, czy w zespole, to już tak jak powiedziałam zależy.
Jeżeli śledzą Państwo Instagrama, to coraz więcej pojawia się kąt takich osób, które na przykład sobie w pojedynkę podróżują po świecie z twoim laptopem, zwłaszcza pandemia to przyspieszyła, że coraz więcej osób pracuje zdalnie, ja również jako programista pracuję zdalnie, więc to jest ta duża taka swoboda, jeżeli chodzi o przemieszczanie się, że nie jesteśmy tak bardzo ograniczeni czy czasowo, czy właśnie konkretnym miejscem, gdzie musimy być. Jedyne co to na przykład, jeżeli są wspólne spotkania powiedzmy na Teamsach, no to wtedy trzeba w tym oknie czasowym być dostępnym, ale jeżeli nie, to na przykład jeżeli Państwo tak jak ja są bardziej nocnym markiem niż poranną osobą, to można chociażby właśnie pracować popołudniami i tutaj nie mamy tego ograniczenia, że jest taka typowa praca 9-17.
No chyba, że bierzemy jakąś korporację i wtedy na przykład będą takie narzucone zasady, ale to też właśnie zależy, czy startup, czy korporacja, czy jakaś jeszcze może taka po prostu mniejsza firma, która jednak pozostawia większą dowolność. Tutaj tak płynnie przeszłyśmy do wątku zawodowego, trudno było to tak naprawdę ominąć. Jeszcze o tym więcej porozmawiamy za chwilę. Na razie chciałabym wykończyć ten temat zaczynania w programowaniu. Tutaj bardzo fajne wskazówki dała Pani początkującym osobom. Chciałam jeszcze dopytać, czy są jakieś takie charakterystyczne błędy, które popełniają osoby zaczynające? Mogę w sumie tak powiedzieć, myślę bardziej na razie z własnego doświadczenia jako osoba, która właśnie się zagłębia w tę branżę i do tego przechodząc z branży lingwistycznej, także niekoniecznie taka techniczna na pierwszy rzut oka.
Na pewno na początek trochę przeraziło mnie całe to słownictwo specjalistyczne, ogrom wiedzy, jaką wydawało mi się, że muszę zgłębić, ale potem okazuje się, że tak naprawdę wystarczy po prostu małymi krokami na spokojnie przyjmować kolejne powiedzmy porcje tej wiedzy, także nie rzucać się od razu z motyką na słońce, nie próbować zgłębić wszystkiego i wszystkich języków, tylko wybrać jeden język, zastanowić się właśnie nad tym, do czego będzie nam służył i najpierw po prostu tę jedną dziedzinę starać się pogłębić, bo bardzo ciężko byłoby nam od razu np.
nie wiem, uczyć się Pythona w kontekście i rozwijania stron internetowych, i analizy danych, i machine learningu, to po prostu byłoby za dużo, także też nie ma powodu, żeby się tak bardzo obarczać, także przede wszystkim ważna tu jest ta cierpliwość do siebie, nie zrażać się, być nastawionym, że początki są zawsze trudne, ale że to mija i potem naprawdę, jak już przejdzie się tą barierę, to jest łatwiej.
Poza tym są właśnie osoby, które mogą nam pomóc w tej całej przygodzie, także proszę się nie przyjmować też ilością technologii czy tym, że ta statystyka jest wymagana, bo tutaj też mogę polecić, ale to jeszcze później takie źródła, gdzie możemy też szukać tej wiedzy, więc naprawdę coraz więcej pojawia się chociażby kanałów na YouTubie, gdzie w bardzo przystępny sposób, nawet dla osób spoża branży technologicznej, są przedstawiane treści takie stricte czy statystyczne, czy technologiczne, i można to przejść się sobie tak troszeczkę upłynnić, żeby było po prostu trochę przyjemniejsze, także z jednej strony mieć tą świadomość, że to nas czeka, ale z drugiej strony cierpliwość, spokój i wybrać sobie małe zagadnienie, a nie wszystko na początek.
To myślę, że to pomoże nam właśnie uniknąć tego błędu, że chcemy od razu wszystkie technologie, kilka jeszcze może języków i wiele pomysłów, a tak naprawdę potem robi się chaotycznie. Dobrze. W takim razie przejdźmy już w etap, gdy jesteśmy na studiach. Gdybym mogła pani powiedzieć, jak będzie wyglądał program zajęć właśnie u pani? Ja akurat uczę na studiach magisterskich, głównie data science, także osoby mamy z bardzo wielu branży, nie tylko IT. I ja konkretnie prowadzę przedmioty z programowania i takie technologiczne dotyczące big data.
Także na pierwszych zajęciach na przykład z programowania mogą się państwo umie spodziewać jednak wstępu do tego języka, bo mam świadomość, że nie wszyscy przychodzą z tą wiedzą, czy programistyczną, czy po prostu nie wszyscy mieli wcześniej Pythona, tylko może właśnie jakiś inny język. Także staram się tutaj państwu na początek przedstawić właśnie, jak wejść w tego Pythona. I ewentualnie, jeżeli nie ma na to tyle czasu, to po prostu udostępniam dodatkowe materiały, żeby mogli sobie państwo też we własnym tempie troszeczkę uzupełnić tę wiedzę. Natomiast potem już przechodzimy do projektowania małych programników. Tutaj akurat na Pythonie skupiamy się na analizie danych, także poznajemy po prostu różne biblioteki, które nam te analizę umożliwiają.
Przy okazji też poznając cały proces analizy danych, czyli czyszczenie, zbieranie tych danych, jakaś wizualizacja, czyli na przykład tworzenie dashboardów wizualnych, które potem możemy pokazać osobom nietechnicznym w firmie. A na koniec jeszcze wrzucenie takich danych do modelu uczenia maszynowego. Niekoniecznie, żeby coś przewidywać, ale też żeby po prostu zbudować sobie taki model statystyczny, który też nam pomoże pogłębić te analizy danych. Także tutaj przechodzimy przez te etapy analizy. Natomiast odnośnie Big Date to tutaj to wszystko cały czas się coraz bardziej rozwija. My poznajemy po prostu na początek ogólnie środowisko pracy w Linuxie, ponieważ nie wszyscy w tym systemie pracujemy. Większość z nas jest prawdopodobnie jednak przyzwyczajana czy do Windowsa, ewentualnie do Maca.
Mac na szczęście opiera się na Linuxie, więc tutaj to przejście jest troszeczkę łatwiejsze z Windowsa, może trudniej, ale jednak po prostu uczymy się troszeczkę innego środowiska. Poruszania też nie tylko w tym graficznym interfejsie, ale w terminalu, czyli wydajemy takie polecenia, komendy komputerowi bezpośrednio pisząc, no powiedzmy takie polecenia, tak to nazwijmy, dla uproszczenia. A nie tak jak jesteśmy przyzwyczajeni, że nie wiem, otwieram komputer, mam mój pulpit i klikam sobie jakąś ikonkę, to nie.
To ja pokazuję właśnie jak też w inny sposób komunikować się z tym komputerem, tak że mogą potem Państwo chociażby pokazać znajomym i obiecuję, że osobom nie technicznym szczęka zawsze opada, choćby to było coś najprostszego, to zawsze już tutaj patrzą na Państwa jak na jakiś Hakerów z filmów, tak że to też taki fajny skill, żeby się pochwalić znajomym. A potem już przechodzimy sobie w big date'ie do różnych technologii, które nam pozwalają przetwarzać te dane, zwłaszcza, że też patrząc na to, jak się świat rozwija, to danych coraz więcej przybywa, tak jak przybywa ludzi, to przybywa i danych, i o nich i ogólnie po prostu danych. I kiedyś np.
dane były przechowywane czy na dyskietkach, na płytach CD, potem już DVD, a teraz to są tak ogromne ilości, że nie tylko przechowywanie, ale i analiza sprawiałaby taka klasyczna duże problemy, także już nie w Zeszycie, nie w Accelu, a po prostu w takich specjalistycznych programach, jak chociażby Hadoop, Spark, ale też technologie do przechowywania danych, takie jak bazy nie SQLowe, czyli nie takie klasyczne tabele, ale troszeczkę inny format przechowywania tych danych, to wszystko poznajemy na spokojnie, na zajęciach, także stawiam mimo wszystko jednak na praktykę, żebyśmy po prostu poznawali te technologie, ale też mogli właśnie wejść i coś stworzyć, a nie tylko przejść przez teorie, OK, taka baza istnieje, idziemy dalej. To nie. Jednak tutaj jest dużo praktyki.
No właśnie, czyli praktyka przede wszystkim chyba głównie, tak rozumiem, ze względu na to, że na studia przychodzą prawdopodobnie do pani grup osoby, które wcześniej mogły nie mieć technicznego zaplecza, tak jak zresztą pani, tak? Pierwsze studia lingwistyczne. Tak, to jest przeskok, zwłaszcza jeżeli ktoś właśnie nie przychodzi z jakichś kierunków technicznych, tylko tak jak ja, chociażby właśnie z języków obcych, ale na zachętę powiem, że też data science jest bardziej interdyscyplinarny niż taka klasyczna informatyka, więc tutaj łatwiej się też jest odnaleźć osobom z tym innym doświadczeniem, czy innym, powiem po angielsku backgroundem, bo nie przychodzi mi teraz słowo po polsku. Ja akurat skończyłam studia z informatyki, więc jednak wybrałam tę klasyczną ścieżkę.
Na początku było mi bardzo trudno, nie ukrywam, ale jak już przeszłam tę barierę, to teraz po prostu uwielbiam ten temat i bardzo chętnie też państwu ułatwię to przejście. Natomiast data science, tak jak powiedziałem, jest o wiele bardziej interdyscyplinarny i tutaj wręcz zaletą jest posiadanie też tego doświadczenia z innych dziedzin, bo potem możemy się wyspecjalizować właśnie w tej naszej dziedzinie, czyli zdobyć wiedzę informatyczną, wyspecjalizować się na przykład w automatyzacji z uczeniem maszynowym, a potem wrócić do tej naszej branży i mieć tą dodatkową zaletę, że jakby łączymy w sobie dwa środowiska, w moim przypadku środowisko lingwistyczne i środowisko informatyczne. Także na przykład moją obecną pracę jako programista znalazłam na konferencji dla tłumaczy.
To nie jest takie oczywiste, że jak już skończymy informatykę, to musimy iść tylko patrzeć na te firmy technologiczne. Właśnie to jest teraz takie super, że tak dużo firm inwestuje w tę nowe technologie, że tak jak wspominałam wcześniej, mamy tą możliwość wyboru innej branży i to właśnie może być naszą zaletą, że mamy też takie doświadczenie z tej konkretnej branży, więc pokazujemy tutaj, że jesteśmy i tym idealnym kandydatem, na którego czekali. I to była pierwsza część naszej rozmowy. Zapraszam na kolejny odcinek. Na początek podcast jest tworzony przez Polsko-Japońską Akademię Technik Komputerowych w Warszawie. Materiał przygotowała dla Was Kinga Rudas. Do usłyszenia w kolejnym odcinku. .