CodeGym/Blog Java/Random-PL/Uczę uczniów rzeczy, które otwierają przed nimi wiele drz...
John Squirrels
Poziom 41
San Francisco

Uczę uczniów rzeczy, które otwierają przed nimi wiele drzwi. Wywiad z Milanem Vuciciem, mentorem na Uniwersytecie CodeGym

Opublikowano w grupie Random-PL
Poznaj Milana Vucica , jednego z mentorów kursu „Java Fundamentals” na Uniwersytecie CodeGym, autora i opiekuna kursu „Tworzenie aplikacji na Androida dla początkujących” . Ma osiem lat doświadczenia w pracy jako programista Androida i kilka lat mentoringu w języku Java i Android. W tym tekście opowiada o swoim doświadczeniu zawodowym i mentoringu, odkrywa największe błędy, jakie mogą popełnić nowicjusze, a także doradza użytkownikom CodeGym, jak zostać programistami.

Dlaczego zdecydowałeś się zostać programistą?

Jestem z Serbii. Jako dziecko często się przeprowadzałem, więc w ciągu ośmiu lat zmieniłem pięć szkół podstawowych. To sprawiło, że jestem dość otwarty i bardzo otwarty na nowych profesorów. Miałem kiedyś świetnego profesora matematyki, więc zacząłem rywalizować z matematyką i zdobyłem trzecią nagrodę w serbskim konkursie krajowym. Później poszedłem do Gimnazjum Matematycznego, które przygotowywało najlepszych uczniów do udziału w światowych konkursach z matematyki, fizyki i programowania. Bardzo lubiłem te dyscypliny akademickie. Tak więc, jeszcze w szkole średniej, nauczyłem się wielu języków, takich jak Pascal, C, C# i trochę SQL dla baz danych. Poza tym jestem graczem przez całe życie i dostrzegłem ogromny potencjał w tworzeniu gier.

Jaka była Twoja ścieżka uczenia się, aby zostać programistą?

Po raz pierwszy zetknąłem się z poważnym programowaniem na studiach. Zapisałem się do jednej z najlepszych uczelni inżynierskich w Belgradzie i studiuję tam przez dwa lata. W tym czasie uzyskiwałem stosunkowo wysokie oceny z każdego przedmiotu z programu szkolenia. A potem postanowiliśmy z kolegą stworzyć aplikację i ubiegać się o staż (było to w 2015 roku). Na szczęście nasz „domowy projekt” pomógł nam zdobyć stanowiska stażystów i rozpoczęliśmy pracę w firmie. Podstawowym językiem projektów był PHP, którego nigdy wcześniej nie próbowałem. Jednak kierownictwo dało nam kilka tygodni na naukę frameworków PHP, co zrobiłem, oglądając tutoriale na YouTube i googlując. Pisałem także kod w PHP, żeby zapoznać się z językiem. W końcu dostaliśmy się do zespołu i zostaliśmy w tej firmie przez rok. A potem dostałem inną pracę, gdzie programowałem w Pythonie, a później przeszedłem na Androida. Pierwsze lata były przytłaczające i pełne wyzwań, pełne pracy i nowej wiedzy. Ale stopniowo moja pewność siebie rosła. W pewnym momencie pomyślałem, że w końcu zostałem prawdziwym programistą.

Dla jakich firm pracowałeś i w jakich projektach brałeś udział?

Moja pierwsza firma była świetna: bardzo podobała mi się tamtejsza kultura. Byłem członkiem ich zespołu badawczo-rozwojowego. Pracowaliśmy nad aplikacją, która miałaby pomóc studentom w organizacji studiów, a która miałaby przyjazny interfejs użytkownika, pozwalający zobaczyć, które sale są puste, a które zajęte oraz harmonogram wykładów. Druga firma, w której pracowałem, była jedną z najlepszych w regionie pod względem programowania. Świetnie się tam bawiłem: tworzyliśmy różnego rodzaju aplikacje. Jeśli chodzi o mnie, przez większość czasu pracowałem nad aplikacją medyczną. Następnie przez ostatnie trzy i pół roku pracowałem w firmie oferującej użytkownikom aplikację do gry w pokera. Tam nauczyłem się jeszcze wielu rzeczy na temat Androida.

Z Twojej perspektywy, jaka jest przyszłość Java w rozwoju Androida (i ogólnie)?

Kod pisałem głównie w Javie, która jest moim ulubionym językiem. Ze wszystkich języków, których używałem, Java jest najpiękniejszym i najłatwiejszym do nauczenia się, ponieważ jest niezwykle przyjazny. Java jest już używana w wielu projektach; oczywiście, że ma przyszłość. W Javie możesz stworzyć niemal wszystko: od aplikacji na Androida po aplikacje internetowe, od backendu po frontend i desktop. Ale nawet jeśli wyobrazimy sobie, że Java nie ma przyszłości i wszystkie projekty pisane w Javie zostały wstrzymane (co jest niemożliwe), to nadal jest to doskonały język do zapoznania się z programowaniem. Znając Javę, możesz stosunkowo szybko nauczyć się Pythona lub C#. Nie spodoba ci się programowanie, jeśli najpierw nauczysz się złożonego (lub brzydkiego) języka. Gdybym od początku uczył się PHP lub C++, być może w ogóle nie lubiłem programowania: nie jest łatwo je opanować.

W którym momencie zdecydowałeś się zostać mentorem?

Jak wspomniałem wcześniej, wielu moich profesorów było świetnych w swojej pracy. Wyrażam uznanie dla ich inspirującego nauczania, które pomogło mi nabrać biegłości w ich dyscyplinach i zmotywowało mnie do zdobywania jeszcze większej wiedzy. Naturalnie więc, kiedy zostałem programistą ze sporym doświadczeniem, poczułem, że muszę komuś przekazać tę wiedzę, bo wiem, jak to zrobić dobrze. Dlatego zacząłem pracować w Codementor. Miałem co najmniej dziesięciu stałych uczniów i kilka jednorazowych (mniej więcej) sesji, podczas których pomagałem im przejść od niewiedzy, jak włączyć komputer, do zrozumienia, jak kodować prostą aplikację w języku Java lub na Androida. Brałem także udział w sesjach debugowania na żywo: użytkownicy Codementor mają możliwość zarezerwowania spotkania z mentorem i uzyskania pomocy w debugowaniu. Podczas tych sesji naprawiłem błędy i wyjaśniłem, co dokładnie (i w jakim celu) robię w określonych momentach. To doświadczenie miało ogromny wpływ na mój styl nauczania. Zależy mi na tym, aby moi uczniowie biorący udział w kursie na Androida byli bardzo zaangażowani w wyjaśnianie każdego tematu. Prowadzę ich przez cały proces myślenia, podczas gdy piszą kod i pracują nad rozwiązaniami. Musisz przyjąć sensowne podejście do uczenia się, ponieważ to jedyny sposób na prawidłowe opanowanie czegoś.

Jak wpadłeś na pomysł uruchomienia własnego kursu na Androida?

Po prostu mnie to uderzyło. Wiedziałem, że CodeGym nie ma kursu na Androida, więc zdecydowałem się zaproponować, że mogę go dla nich przygotować, a oni się zgodzili. Zacząłem przygotowywać materiały, a mój mózg ciągle pracował w różnych wymiarach. Czasami szłam ulicą i brałam telefon, żeby zapisać coś na kurs. W tamtym czasie miałem wiele pomysłów: co jeśli napiszemy tę aplikację i tamtą aplikację, obejmującą ten obszar wiedzy lub koncepcję Androida?... Tworzenie treści kursu i kodowanie aplikacji było świetną zabawą. Tworzenie kursu na Androida było dla mnie fantastycznym doświadczeniem i mam w głowie kolejne ulepszenia. Podczas naszych sesji na żywo dużo opowiadam o swoim doświadczeniu zawodowym, szczególnie z pierwszych 3-4 lat pracy. Myślę, że otworzy to przed nimi wiele drzwi. Nie tylko uczę ich języka Java czy Androida, ale także omawiam, jak wszystko działa w firmie i jak projektować programy z życia wzięte.

Jakie są najczęstsze błędy popełniane przez uczniów podczas nauki programowania?

Największym błędem jest zaprzestanie nauki i myślenie, że programowanie przerasta Cię. Po siedmiu latach doświadczenia zawodowego nadal popełniam błędy. Niektóre z nich celowo – aby pokazać uczniom, jak debugować. Niektóre błędy zdarzają się po prostu podczas kodowania na żywo i uczniowie mogą zobaczyć, jak sam je naprawiam po raz pierwszy. Jedyną rzeczą, która różni mnie od ucznia, jest to, że najprawdopodobniej znajdę i naprawię błąd znacznie szybciej.

Jakie są kluczowe różnice między studentami posiadającymi wcześniejszą wiedzę/doświadczenie w programowaniu a tymi, którzy dopiero zaczynają programować?

Jeśli pływałeś i znasz kogoś, kto nie wykonuje zbyt dużej aktywności fizycznej, kto ma większe szanse na lepsze wyniki w jakiejkolwiek konkurencji fizycznej? Znasz odpowiedź. To samo dotyczy programowania: pomocne będzie wszelkie wcześniejsze doświadczenie z komputerami/technologiami. Jeśli jesteś graczem komputerowym, łatwiej będzie ci nauczyć się programowania niż komuś, kto nigdy nie korzystał z komputera. Nowicjusz technologiczny będzie miał przed sobą najważniejszą drogę. Czy znasz dobrze angielski? Natychmiastowy plus, ponieważ masz do dyspozycji wiele materiałów, z których większość jest nawet bezpłatna (Youtube, StackOverflow itp.). Kto nauczy się szybciej? Oczywiście ten, który spędził już tysiące godzin przy swoim komputerze i wie, jak ogólnie działa technologia. Ale nie zrażaj się tym, że nie masz wystarczającego doświadczenia z technologią: możesz zostać także programistą; po prostu potrzebujesz więcej czasu.

Czy mógłbyś doradzić użytkownikom CodeGym, jak osiągnąć swoje cele szkoleniowe i zostać programistami?

Poznaj technologie

Technologia ułatwia nam życie. Nauczyłem się wielu rzeczy, klikając losowo przyciski i badając moje środowisko pracy. Czy kiedy coś widzisz, chcesz wiedzieć, jak to działa? Następnie kliknij na to!

Zapomnij o strachu

Moja największa rada dla wszystkich to nie bać się. Każdy popełnia błędy i błędy. Po prostu poszukaj w Google i dużo poszukaj, a w końcu znajdziesz rozwiązanie.

Zainwestuj czas w naukę

To, co robimy na zajęciach, to połowa sukcesu; musisz poświęcić więcej czasu indywidualnie. Im więcej robisz między zajęciami, tym więcej się uczysz, prawda? Jeżeli pomiędzy zajęciami nie będziesz nic robił, to zapewne będziesz miał jakąś wiedzę ( z oglądania moich wykładów ), ale nie będziesz w stanie stworzyć czegoś samodzielnie. Jeśli szkolisz się w kursach Java Fundamentals lub Android, zainwestuj co najmniej tyle samo godzin w pracę samodzielną, ile my pracujemy razem. Załóżmy, że spędzamy ze mną trzy i pół godziny tygodniowo; wtedy powinieneś sam poświęcić co najmniej trzy lub cztery godziny tygodniowo. Ważne jest, aby kodować samodzielnie, aby utrwalić wiedzę i zaproponować potencjalne pytania do przyszłej dyskusji. Nie wahaj się zadać pytania na zajęciach lub na czacie na Slacku. W przypadku trwałych błędów możemy nawet przeprowadzić sesje debugowania na żywo, tak jak to zrobiliśmy w poprzedniej grupie. Nauka działa w obie strony i od nas wszystkich zależy, czy ten kurs będzie przyjemnym i produktywnym doświadczeniem. „Uczę uczniów rzeczy, które otworzą przed nimi wiele drzwi”.  Wywiad z Milanem Vuciciem, mentorem na Uniwersytecie CodeGym - 1
Komentarze
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Ta strona nie ma jeszcze żadnych komentarzy