JavaDevMatt.pl – Mateusz Kupilas

Programista, przedsiębiorca, gamedev, bloger.

Jak uczyłem się programowania / moja ścieżka zawodowa

edit… warto zaznaczyć, że ten wpis to moja ścieżka zawodowa do roku 2015. Aktualne dane znajdziecie np. na portalu Goldenline.

Podczas ostatniego głosowania na temat wpisu/odcinka najwięcej głosów zdobył temat „moja nauka programowania / ścieżka kariery”. Trochę uporządkowałem nazwę tematu i zabrałem się za pisanie. 😀

Pierwsze spotkanie z GameDev

Może wcześniej bawiłem się jakimś edytorem map na Amidze, ale z tego co pamiętam pierwsze moje spotkanie z czymś, co przypominało w jakiś stopniu programowanie to program The Games Facotry.

gamesssfBył to rok 2002. Jakieś 3-4 lata zanim miałem w domu pierwsze stałe łącze z internetem. Nie mogę sobie wyobrazić jakim cudem opanowałem obsługę tego programu. W „Niezbędniku” do którego był dołączony program był artykuł na 2 strony A4. Tutorial jak stworzyć grę, w której poruszamy ludkiem strzałkami i musimy unikać drugiego obiektu, który porusza się w losowym kierunku… 😀

tgfPierwsza książka o programowaniu

Znowu game dev. Visual Basic i pisanie pierwszego kodu. 😀

Programowanie-gierPrzez spory czas miałem tylko możliwość czytania. Nie miałem jeszcze internetu, więc musiałem latać po znajomych i szukać tego Visual Basica… strasznie zazdroszczę dzisiejszej młodzieży: wszystko można pobrać z sieci i miliony poradników na YT… ech. Po paru miesiącach w końcu dorwałem płytkę z Visual Basikiem i napisałem pierwszy kod : )) na podstawie książki napisałem grę, w której strzelało się do balonów.

2005/2006 – pierwsze strony www

Pod koniec roku 2005 jakiś kolega wspomniał, że „programuje w html” #pdk ( ͡° ͜ʖ ͡°). Postanowiłem, że nie mogę być gorszy. Miałem wtedy już internet: wszystko było duuuużo prostsze niż w czasach przedinternetowych. Dzięki Google znalazłem swój pierwszy kurs html (aktualnie dostępny pod adresem http://www.kurshtml.edu.pl/ ). Po paru godzinach grzebania powstała moja pierwsza strona www. Byłem wtedy fanem „Tawerny RPG” (zin, który był dołączany do płyt z CD-Action, które wtedy prenumerowałem), więc moim pierwszym pomysłem była strona o RPG. Tutaj macie screen jak wyglądało moje pierwsze dzieło. 😀

grotaaaaaaaaaaaaaaaaa

Kolejnym pomysłem na stronę www był kurs szybkiego czytania. Może ktoś z Was pamięta darmowy kurs szybkiego czytania dostępny w sieci? Szybkie-Czytanie.com. Na tej stronie nauczyłem się czym jest pozycjonowanie stron www. Po trochę ponad roku strona widniała w Google na #1 pozycji pod frazą „szybkie czytanie”. Stronę sprzedałem jakoś w roku 2010. Nie pamiętam dokładnej treści umowy (czy było zawarte coś o tym, czy mogę mówić o tym komu sprzedaję), więc nie wspomnę komu sprzedałem stronę: nie chcę robić sobie problemów. 😀 Niestety strona www dosyć szybko zniknęła z sieci. Mogę się tylko domyślić, że w interesie sprzedających kursy szybkiego czytania nie była strona www, na której tak dużo treści udostępniłem za darmo. 😀

Innym moim tworem był portal edukacyjny Ryu.pl. Zbierałem tam streszczenia lektur/materiały edukacyjne do szkoły. Również popisałem się pozycjonowaniem: 1# pod „streszczenia” oraz topowe pozycje pod „<nazwa lektury> + streszczenie”. Osiągałem na nim po 5-6 tysięcy unikalnych odwiedzin dziennie. Dzień przed maturą z polskiego miałem prawie 20 000 odwiedzin. 🙂 Portal kosztował mnie masę pracy, więc również zdecydowałem się na jego sprzedanie.

ryupl

Po sprzedaniu tych dwóch stron oraz paru mniejszych, przeszedłem na pracę wolnego strzelca. Potrafiłem pozycjonować strony www oraz znałem jakieś tam podstawy php oraz mysql.

Dosyć szybko znudziła mi się praca dla klienta (wieczne narzekanie, telefony w późnych godzinach – jednak praca „na własnym” mając swój produkt to coś innego), więc pomyślałem co dalej…

C# / Java

Postanowiłem, że chciałbym więcej czasu poświęcić na programowanie. Jakoś nawinął mi się wtedy kurs od 3dbuzz. Przez ten kurs opanowałem podstawy C#.

Po jakimś czasie postanowiłem spróbować moich sił w rekrutacji do jakiejś firmy. Wysłałem 2 CV. Jedne do firmy, w której pracował mój kolega, z którym grałem w zespole deathmetlowym. Jakoś nie dostałem odpowiedzi na to CV… drugie wysłałem do jakiejś losowej firmy w Niemczech. O dziwo zadzwonili do mnie. Na szczęście dobrze znam niemiecki. 😀 Okazało się, że szukają kogoś od Javy, a ja tu napisałem, że ogarniam C#. To nie przeszkodziło jednak, by miło sobie pogadać z panem Niemcem. Powiedziałem, że zaczynam i zapytałem co by mi poradził do nauki Javy. Pan Niemiec polecił mi Jave EE albo Androida, bo to są poszukiwane stanowiska (rok 2011). Podziękowałem za rozmowę i poszukałem sobie na YT filmików. Trafiłem na TheNewBoston. Przez wielu ten kanał jest krytykowany, bo jednak autor popełnia masę błędów… z perspektywy czasu również nie poleciłbym go początkującym, bo możecie nauczyć się paru złych praktyk. Dzisiaj poleciłbym kanał Cave Of Programming albo Derek Banas.

Praktyki i pierwsza praca jako programista

Zamiast siedzieć w domu i w kółko robić tutoriale (prowadziłem wtedy swoją małą firmę jako pozycjonującą oraz tworzącą strony www) postanowiłem zapisać się gdzieś na darmowe praktyki. Nie tak łatwo zmotywować się w domu do nauki.

Wysłałem jedno CV do pierwszej lepszej firmy, którą wygooglałem pod jakąś frazą ala „java praktyki katowice”. Dosyć szybko odebrałem telefon z propozycją pierwszej rozmowy. Telefon zadzwonił „wcześnie rano” w okolicach 10. Byłem półprzytomny przy odbieraniu telefonu, bo poprzednią noc zarwałem grając w Divine Divinity.

Po rozmowie kwalifikacyjnej pisałem test, na którym znałem odpowiedź może na 10% pytań. Okazało się, że na początkującego na praktyki jest spoko i zgodziłem się na 3 miesiące praktyk. Nie musiałem chodzić oczywiście 40h tygodniowo, ale zdecydowałem się, że tak zrobię. Bo czemu nie? Szybciej się nauczę. Kiepsko sobie radziłem, ale chyba zostałem doceniony, że się staram i po 2 miesiącach byłem już „etatowym programistą”. 🙂 Plusem na pewno było to, że znałem się na pozycjonowaniu stron. Jakieś 30-40% czasu zajmowałem się wtedy pozycjonowaniem projektów firmy, a resztę czasu dalej się uczyłem. Dostałem nawet apkę na androida do zrobienia (samodzielnie). Był to najgorszy kod źródłowy jaki kiedykolwiek napisałem, ale na szczęście trafiłem na kolegów, którzy doradzili co mogę zrobić lepiej i powooooooli się rozwijałem.

Rok później udało mi się zdać certyfikat SCJP z Javy. 🙂

Emigracja

Chciałem wykorzystać swoją dobrą znajomość niemieckiego… więc postanowiłem, że pojadę sobie na przynajmniej rok poprogramować dla Niemców. Więcej na temat rekrutacji w tym filmiku:

Zostałem trochę dłużej niż rok. Już 1,5 roku zajmuję się prawie 100% czasu Androidem. Czasami coś tam przy serwerze pogrzebię, gdy akurat jest mało pracy przy aplikacjach mobilnych, ale jednak zdecydowana większość mojego czasu to Android.

Co dalej?

Zawsze kusiło mnie popracować więcej w GameDevie… aktualnie jedynie hobbistycznie robię pewien poboczny projekt gry muzycznej. Jednak myślę nad kolejną zmianą. Ile można pracować w jednej firmie. 😀 1,5 roku to zdecydowanie za dużo. Niby wygodnie, lubię kolegów (i jedną koleżankę), ale powoli przestałem się rozwijać. Ciągle robię te same, powtarzalne zadania.

Może niedługo będę mógł Wam opisać kolejny proces rekrutacji… 😉 Pożyjemy, zobaczymy.

Have fun. 🙂


34 thoughts on “Jak uczyłem się programowania / moja ścieżka zawodowa

  • Mateusz pisze:

    Mamy rok 2015. W jakim języku polecasz się teraz rozwijać? Nadal jest wysokie zapotrzebowania na androida?

  • Nocny inspirator pisze:

    Uwielbiam Cie czlowieku, kontynuuj to co robisz bo jest to świetne!

  • Piotrek pisze:

    Kurde, cieszę się, że znalazłem cie na wykopie gdy zaczynales z filmikami na YouTube. Strasznie mam problemy z zaczeciem czegokolwiek w programowaniu. Ale jeszcze raz dzięki, i tak trzymaj. Dobry tekst

  • kostek pisze:

    Ile miałeś lat jak zacząłeś programować gry? Czy faktycznie w programowaniu potrzebna jest matematyka , ja na razie ucząc się Javy nie spodkalem się z matematyką wyższą . Pozdrawiam 😉

  • Kuba pisze:

    Od czego teraz byś zaczął naukę programowania? Wiele osób poleca pythona, ale czy on naprawdę jest taki super dla początkującego?

    • JavaDevMatt pisze:

      nigdy w pythonie nic nie robilem, to nie wiem 😀 moze bym sie wzial za html5. Nic nie trzeba konfigurowac, od razu smiga w przegladarce, a mozna tym tworzyc tez na telefony, czy powoli nawet na niektore konsole do gier. Generalnie nei ma znaczenia na co sie zdecydujesz – wazne by zaczac od czegokolwiek. 😀

    • XyX pisze:

      Ja mam porównanie python – php i ogólnie jak chcesz się pouczyć to python jest spoko, z kolei do robienia jakichś konkretnych rzeczy to php wydaje się łatwiejsze, mnóstwo rzeczy jest wbudowanych gdy w pythonie musisz używać jakichś zewnętrznych bibliotek, z których każda ma inną składnię itp.

  • iszpecu pisze:

    Z jakim zasobem wiedzy poszedłeś na praktyki ? Myślisz że jest sens nauki C++ jeśli myślę o aplikacjach mobilnych ?

    • JavaDevMatt pisze:

      Hmm, trudno mi precyzyjniej niz w tym poscie to okreslic. Ot „cos” potrafilem, ale bez doswiadczenia w wiekszych projektach. C++ przyda sie pewnie do gier mobilnych (cocos2d-x), ale jednak ponad 90% rynku mobilnego to java lub objective-c (ewentualnie powoli wchodzacy swift do ios).

  • pio3m pisze:

    Twoja historia Matt bardzo przypomina moją z tą różnicą, że ja nie wszedłem na wyższy level jakim jest programowanie na androida tylko pozostałem na „skryptowaniu” w php. Celowo nie nazywam tego programowaniem. Przyczyna jest jedna, iż mam cały czas zlecenia i tak mi jest wygodnie. Jest to jednak nie to co będę robił w przyszłości ponieważ postanowiłem wyjść ze strefy komfortu. Czy mając do wyboru pogłębianie wiedzy i doświadczenia w php lub nauka programowania innego, nowego języka nie webowego np javy znając pojęcia objektowości, dziedziczenia, polimorfizmu itp. wybrali byście to samo co ja ? W gruncie rzeczy to nie tylko zmiana języka programowania ale także (lub przede wszystkim) zmiana pracy z domowej zdalnej na pracę w biurze w innym większym mieście (w moim nie ma żadnych szans bo po prostu nie ma firm 🙂 )

  • Piotrek pisze:

    Hej! Po powstaniu Tawerny RPG i odejściu z Couek’a byłem redaktorem naczelnym (drugim w historii tego zina). Pisałem teksty, również jakiś o tematyce RPG w samym czasopiśmie CD-Action pod pseudonimem „DAGON”. Jest mi niezmiernie miło, ze mogliśmy zainspirowaliśmy Ciebie i pewnie wiele innych osób do poznania języka HTML. Dla mnie to też były początki i tak jak mówisz – wszystko robiło się metodą prób i błędów. Nie było Googla, modemy nie porażały prędkością, no i każdy musiał liczył impulsy TP SA 🙂 Dzisiaj to właśnie Twój kanał inspiruje mnie! Pozdrawiam serdecznie i trzymaj tak dalej!

  • Full pisze:

    Wspomniałeś w filmiku, że miałeś do czynienia z szybkim czytaniem. Czy twoja wiedza uzyskana na jakimś kursie jest dla ciebie przydatna nadal ? Ja zauważyłem po sobie, że zaraz po kursie faktycznie potrafiłem czytać kilka razy szybciej, ale dotyczyło to tylko beletrystyki, artykułów. Z wiedzą techniczną już sobie nie radzę 🙁 (noty katalogowe, książki techniczne etc.). W efekcie wychodzi na to że już czytam tak jak przed kursem 🙁 udało mi się tylko „wyleczyć” regresję. Jak było z tobą odnośnie szybkiego czytania ?

  • tomekm pisze:

    na jednym z ostatnich filmów mówiłeś że chcesz się zająć cocos2d-x, jak idzie?

  • Karol pisze:

    Wzbudzasz we mnie straszne kompleksy jestem w twoim wieku. Studiowałem masę bzdurnych kierunków i w ogóle nie interesowałem się programowaniem. Dopierwo w wieku 23 lat zacząłem coś robić w zeszłym roku poszedłem na infe zaocznie, i teraz w maju dostałem robotę d 25 lvl here. A jak widzę daty 2002 i 2005 to mi się słabo robi, ja wtedy to odpalałem warcrafta i kopałem piłkę. Szacunek ludzi ulicy. 😉

  • Asysteo pisze:

    fajnie sie czyta tego bloga a jak tam idza prace nad „Note Fighter”?

  • kvsanagi pisze:

    Przez spory czas miałem tylko możliwość czytania. Nie miałem jeszcze internetu, więc musiałem latać po znajomych i szukać tego Visual Basica… strasznie zazdroszczę dzisiejszej młodzieży: wszystko można pobrać z sieci i miliony poradników na YT… ech.
    Oraz world of warcraft, internet i inne tego typu rzeczy. 2 moich kumpli prokrastynuje naukę programowania (PŁ i AGH) z powodu WoW’a. Interenet to nie takie błogosławieństwo.

    Też znam Tawarnę 😛 Moja 1 strona HTML była offline na potrzeby klanu w Tribes:vengeance.

  • Ja pisze:

    Cześć 🙂 Śledzę twojego bloga od jakiegoś czasu, wspominasz tutaj o tutorialach TheNewBoston, sam własnie natrafiłem i niestety wybrałem ponieważ jakoś najbardziej mi odpowiadały. Z tych innych co polecasz, nie jestem w stanie słuchać Cave Of Programming gosc ma tak irytujacy głos że wysiadam 😉 a Derek Banas jakoś do mnie nie trafia :< Odnalazłeś może coś wartego uwagi jeszcze od tamtego czasu? Ewentualnie czy mógłbyś polecić jakieś książki do Javy? chciałbym tworzyć aplikacje na androida, a nie znalazłem poza The New Boston jeszcze niczego ciekawego.

    Pozdrawiam

  • QuantumFoam pisze:

    Jestem bardzo zainteresowany programowaniem, zwłaszcza gamedevem.
    Obecnie uczę się SFML + C++, lubię rozwiązywać problemy programistyczne (algorytimczne?) w grach, „przekładać rzeczywistość na język matematyki/komputerowy”, lubię wynajdywać na nowo koło :P.
    Stoję przed wyborem swojej dalszej ścieżki życiowej, chcę rozwijać się w tym kierunku (programistycznym).

    Z początku zastanawiałem się nad studiami informatycznymi na WAT ale sprawdzając przedmioty, opinie itp. zdałem sobie sprawę że na uczelni wyższej nie nauczę się programować. Obawiam się że nie będę miał po prostu na to czasu w czasie roku będąc zawalony innym materiałem. Na studiach jednak podoba mi się to że poszerzają horyzonty i różnych ciekawych rzeczy można się dowiedzieć ale coś za coś 🙁

    Co robić? Jak żyć? Siedzieć w domu nad informatyką samemu czy zapisać się na jakieś studia dla papieru?

  • Mateusz pisze:

    Cześć! Super strona – tego szukałem 🙂 Zaciekawiły mnie tutaj 3 rzeczy: programowanie, pozycjonowanie i język niemiecki. Znam się na pozycjonowaniu i jestem germanistą, nie umiem natomiast programować, a zawsze mnie to kręciło. Powiedz mi szczerze – czy w wieku 39 lat warto w to wchodzić, żeby znaleźć lepszą robotę (może w DE). Uczę się szybko, ale nie wiem, od czego zacząć, żeby się w miarę szybko nauczyć programowania, zdać certyfikat itp? Z góry dzięki za odpowiedź.

  • […] Jak uczyłem się programowania / moja ścieżka zawodowa – wpis czytany w tym roku 15,911 razy. Łącznie czytany 22,621 razy (wpis z 2015). […]

  • Mateusz M pisze:

    W miarę podobnie zaczynaliśmy. Ja pominąłem etap „chce zrobić grę!!” 😛 Ale tez zacząłem od C#/Javy a aktualnie wylądałem na Pythonie 🙂

  • Piotrek pisze:

    Mi w sumie wystarczyłoby z nawiązką to czego uczę się w pracy, bo w (wyciąłem nazwę firmy, by uniknąć szeptanki) mamy takie projekty, że w sumie nie da się zatrzymać w miejscu.Ale po pracy zdarza mi się oglądać tutoriale na youtubie czytać jakieś nowinki i śledzić ciekawe projekty. To mnie najbardziej rozwija 😉

  • sabur pisze:

    Najważniejsze to mieć cel i być konsekwentnym w tym co się robi. Nauka programowania nie jest wcale prosta

  • Tomasz pisze:

    Cześć mam pytanie , czy w wieku 45lat można ogarnąć programowanie np.java , C++ dodam że nie znam tego wogóle i byłoby to dla mnie nowe środowisko , ale zainteresowałem się , i powiedzmy że w przyszłości chciałbym spróbować podjąć pracę , co mógłbyś mi podpowiedzieć od czego zacząć , nie wiem może jakiś kurs lub coś takiego ,

  • Elos pisze:

    Może głupie pytanie, ale w czym najlepiej zaczynać przygodę z programowaniem np w javie? Chodzi mi o jakiś program do tego, w którym będzie można podglądać efekty.to samo jeśli pytanie dla androida 🙂

  • dreamiteam pisze:

    Czyli można samem się nauczyć tylko potrzeba trochę chęci i samozaparcia 🙂

Dodaj komentarz

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